logstalgia-1.0.7/0000755000203100020310000000000012611522311013451 5ustar andrewcandrewclogstalgia-1.0.7/ChangeLog0000644000203100020310000000703012611522310015222 0ustar andrewcandrewc1.0.7: * Added window frame toggle (F11). * Fixed crash loading large log files on Windows. * Fixed crash when taking a screenshot with an odd resolution. * Handle exception when user defined regular expression is invalid. * Fixed --hide-url-prefix not working (jettero). 1.0.6: * Display invalid requests as having the path '???'. * Updated the boost autoconf macro. 1.0.5: * Performance improvements. * Multi-monitor support using SDL 2.0. * SDL 1.2 support is deprecated. * Can now specify the attribute to match the group regex (-g) against. * When using --sync, now catches back up after resuming from pause. * Added --pitch-speed option (control how fast balls travel). * Made default group matches case-insensitive (Sebastian Krzyszkowiak). * Display tokens in multi-paddle modes (Sebastian Krzyszkowiak). * Added window resizing and a full-screen toggle (alt-enter). * Take screenshots (F12). * Summarizer component content is now sorted. * IPv6 addresses now anonymized by default as well (last 64 bits). * New dependencies on libpng, GLEW. * Now requires GLM and Boost header-only libraries to build. 1.0.4: * Changed type of log entry timestamp to time_t. * Stopped directly linking PNG/JPG libraries. 1.0.3: * Added automatic skipping of empty periods (--disable-auto-skip to turn off). * Updated docs to reflect support for NCSA log formats, not just 'Apache'. * Support log entry dates with a valid numeric month in place of MMM. 1.0.2: * Performance improvements. * Stopped frame-rate being a bottle neck for the number of requests shown. * Improved STDIN input reliability on windows. * Handle log entry timezone offsets. * Added --paddle-position option (to allow more space for URLs). * Added --font-size option. 1.0.1: * Made STDIN non-blocking on Windows using PeekNamedPipe (thanks Rui Lopes). * Added --hide-url-prefix option to remove protocol and hostname from requests. * Removed arbitrary 1024 maximum length limit for log entries. * Fixed custom log format not working when optional fields are omitted. 1.0.0: * Every 60 minutes fade static text out and back in over a period of a minute. 0.9.9: * Support for more common Apache access log formats. * Added --paddle-mode (vhost,pid,single) which spawns separate paddles. * Fixed PPM exporter producing blank images on some video cards. 0.9.8: * Added --background option to control the background colour. * Filter hostnames from URLs before displaying them. * Fixed command line option documentation. 0.9.7: * Added --sync option (start from the next entry received on STDIN). 0.9.6: * Defer to homepage for video recording instructions. 0.9.5: * Adjust time scale with <> keys. 0.9.4: * Fixed STDIN stopping working after the first lot of records. 0.9.3: * Added seekbar for log files (not available from STDIN). * Added glow on impact with paddle (turn off using --disable-glow). * PPM output for videos using --output-ppm-stream option. * Custom log file format support. * Changed font library to FTGL. * --stop-position and --start-position options. * Open a file selector if no log file supplied (on Windows). 0.9.2: * Fixed issue with resource.h. * Makefile patch for OPTFLAGS from terjeros. * Fixed apache.log hostname parsing issue. 0.9.1: * Added example.log. 0.9.0c: * Changed Makefile to use configure libs. 0.9.0b: * Incorporated manual page fixes from Francois Marier. * Fixed bug in URL summarizer that caused it to leave out some URLs when pressed for space. 0.9.0a: * Fixed manual description of -x flag. 0.9.0: * First release. logstalgia-1.0.7/logstalgia.win32.cbp0000644000203100020310000000744412611522310017236 0ustar andrewcandrewc logstalgia-1.0.7/COPYING0000644000203100020310000010451312611522305014513 0ustar andrewcandrewc GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. 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. Copyright (C) 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 . 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: Copyright (C) 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 . 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 . logstalgia-1.0.7/Makefile.in0000644000203100020310000032310512611522310015521 0ustar andrewcandrewc# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = logstalgia$(EXEEXT) @FONTDIR_TRUE@am__append_1 = -DSDLAPP_FONT_DIR=\"$(sdlappfontdir)\" subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_boost_base.m4 \ $(top_srcdir)/m4/ax_check_gl.m4 \ $(top_srcdir)/m4/ax_check_glu.m4 \ $(top_srcdir)/m4/ax_lang_compiler_ms.m4 \ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/pkg.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ $(am__configure_deps) $(am__dist_fonts_DATA_DIST) \ $(dist_pkgdata_DATA) $(am__DIST_COMMON) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(fontsdir)" \ "$(DESTDIR)$(pkgdatadir)" PROGRAMS = $(bin_PROGRAMS) am__dirstamp = $(am__leading_dot)dirstamp am_logstalgia_OBJECTS = src/logstalgia-ncsa.$(OBJEXT) \ src/logstalgia-ball.$(OBJEXT) \ src/core/logstalgia-conffile.$(OBJEXT) \ src/core/logstalgia-display.$(OBJEXT) \ src/core/logstalgia-frustum.$(OBJEXT) \ src/core/logstalgia-fxfont.$(OBJEXT) \ src/core/logstalgia-logger.$(OBJEXT) \ src/core/logstalgia-ppm.$(OBJEXT) \ src/core/logstalgia-png_writer.$(OBJEXT) \ src/core/logstalgia-plane.$(OBJEXT) \ src/core/logstalgia-quadtree.$(OBJEXT) \ src/core/logstalgia-regex.$(OBJEXT) \ src/core/logstalgia-resource.$(OBJEXT) \ src/core/logstalgia-sdlapp.$(OBJEXT) \ src/core/logstalgia-seeklog.$(OBJEXT) \ src/core/logstalgia-settings.$(OBJEXT) \ src/core/logstalgia-shader.$(OBJEXT) \ src/core/logstalgia-shader_common.$(OBJEXT) \ src/core/logstalgia-stringhash.$(OBJEXT) \ src/core/logstalgia-texture.$(OBJEXT) \ src/core/logstalgia-timezone.$(OBJEXT) \ src/core/logstalgia-vbo.$(OBJEXT) \ src/core/logstalgia-vectors.$(OBJEXT) \ src/logstalgia-custom.$(OBJEXT) \ src/logstalgia-logentry.$(OBJEXT) \ src/logstalgia-logstalgia.$(OBJEXT) \ src/logstalgia-main.$(OBJEXT) src/logstalgia-paddle.$(OBJEXT) \ src/logstalgia-requestball.$(OBJEXT) \ src/logstalgia-settings.$(OBJEXT) \ src/logstalgia-slider.$(OBJEXT) \ src/logstalgia-summarizer.$(OBJEXT) \ src/logstalgia-textarea.$(OBJEXT) logstalgia_OBJECTS = $(am_logstalgia_OBJECTS) logstalgia_LDADD = $(LDADD) logstalgia_LINK = $(CXXLD) $(logstalgia_CXXFLAGS) $(CXXFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles am__mv = mv -f AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) AM_V_CXX = $(am__v_CXX_@AM_V@) am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) am__v_CXX_0 = @echo " CXX " $@; am__v_CXX_1 = CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) am__v_CXXLD_0 = @echo " CXXLD " $@; am__v_CXXLD_1 = SOURCES = $(logstalgia_SOURCES) DIST_SOURCES = $(logstalgia_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__dist_fonts_DATA_DIST = data/fonts/README \ data/fonts/FreeMonoBold.ttf data/fonts/FreeSerif.ttf am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } DATA = $(dist_fonts_DATA) $(dist_pkgdata_DATA) 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 # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags CSCOPE = cscope AM_RECURSIVE_TARGETS = cscope am__DIST_COMMON = $(srcdir)/Makefile.in \ $(top_srcdir)/build-aux/compile \ $(top_srcdir)/build-aux/config.guess \ $(top_srcdir)/build-aux/config.sub \ $(top_srcdir)/build-aux/depcomp \ $(top_srcdir)/build-aux/install-sh \ $(top_srcdir)/build-aux/missing COPYING ChangeLog INSTALL \ README THANKS build-aux/compile build-aux/config.guess \ build-aux/config.sub build-aux/depcomp build-aux/install-sh \ build-aux/missing DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ if test -d "$(distdir)"; then \ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -rf "$(distdir)" \ || { sleep 5 && rm -rf "$(distdir)"; }; \ else :; fi am__post_remove_distdir = $(am__remove_distdir) DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 GZIP_ENV = --best DIST_TARGETS = dist-bzip2 dist-gzip distuninstallcheck_listfiles = find . -type f -print am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BOOST_CPPFLAGS = @BOOST_CPPFLAGS@ BOOST_LDFLAGS = @BOOST_LDFLAGS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FT2_CFLAGS = @FT2_CFLAGS@ FT2_LIBS = @FT2_LIBS@ GLEW_CFLAGS = @GLEW_CFLAGS@ GLEW_LIBS = @GLEW_LIBS@ GLU_CFLAGS = @GLU_CFLAGS@ GLU_LIBS = @GLU_LIBS@ GL_CFLAGS = @GL_CFLAGS@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCRE_CFLAGS = @PCRE_CFLAGS@ PCRE_LIBS = @PCRE_LIBS@ PKG_CONFIG = @PKG_CONFIG@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ PTHREAD_LIBS = @PTHREAD_LIBS@ SDL2_CFLAGS = @SDL2_CFLAGS@ SDL2_LIBS = @SDL2_LIBS@ SDL_CFLAGS = @SDL_CFLAGS@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ XMKMF = @XMKMF@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ ax_pthread_config = @ax_pthread_config@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sdlappfontdir = @sdlappfontdir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ ACLOCAL_AMFLAGS = -I m4 logstalgia_CXXFLAGS = -std=gnu++0x -Wall -Wno-sign-compare -Wno-reorder -Wno-unused-but-set-variable -Wno-unused-variable logstalgia_SOURCES = \ src/ncsa.cpp \ src/ball.cpp \ src/core/conffile.cpp \ src/core/display.cpp \ src/core/frustum.cpp \ src/core/fxfont.cpp \ src/core/logger.cpp \ src/core/ppm.cpp \ src/core/png_writer.cpp \ src/core/plane.cpp \ src/core/quadtree.cpp \ src/core/regex.cpp \ src/core/resource.cpp \ src/core/sdlapp.cpp \ src/core/seeklog.cpp \ src/core/settings.cpp \ src/core/shader.cpp \ src/core/shader_common.cpp \ src/core/stringhash.cpp \ src/core/texture.cpp \ src/core/timezone.cpp \ src/core/vbo.cpp \ src/core/vectors.cpp \ src/custom.cpp \ src/logentry.cpp \ src/logstalgia.cpp \ src/main.cpp \ src/paddle.cpp \ src/requestball.cpp \ src/settings.cpp \ src/slider.cpp \ src/summarizer.cpp \ src/textarea.cpp AM_CPPFLAGS = -DSDLAPP_RESOURCE_DIR=\"$(pkgdatadir)\" $(am__append_1) dist_pkgdata_DATA = data/ball.tga data/example.log data/glow.tga @FONTDIR_FALSE@fontsdir = $(pkgdatadir)/fonts @FONTDIR_FALSE@dist_fonts_DATA = data/fonts/README data/fonts/FreeMonoBold.ttf data/fonts/FreeSerif.ttf all: all-am .SUFFIXES: .SUFFIXES: .cpp .o .obj am--refresh: Makefile @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: $(am__configure_deps) $(am__cd) $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): $(am__aclocal_m4_deps) $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) $(am__aclocal_m4_deps): install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p \ ; then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' \ -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' \ `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) src/$(am__dirstamp): @$(MKDIR_P) src @: > src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) src/$(DEPDIR) @: > src/$(DEPDIR)/$(am__dirstamp) src/logstalgia-ncsa.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/logstalgia-ball.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/core/$(am__dirstamp): @$(MKDIR_P) src/core @: > src/core/$(am__dirstamp) src/core/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) src/core/$(DEPDIR) @: > src/core/$(DEPDIR)/$(am__dirstamp) src/core/logstalgia-conffile.$(OBJEXT): src/core/$(am__dirstamp) \ src/core/$(DEPDIR)/$(am__dirstamp) src/core/logstalgia-display.$(OBJEXT): src/core/$(am__dirstamp) \ src/core/$(DEPDIR)/$(am__dirstamp) src/core/logstalgia-frustum.$(OBJEXT): src/core/$(am__dirstamp) \ src/core/$(DEPDIR)/$(am__dirstamp) src/core/logstalgia-fxfont.$(OBJEXT): src/core/$(am__dirstamp) \ src/core/$(DEPDIR)/$(am__dirstamp) src/core/logstalgia-logger.$(OBJEXT): src/core/$(am__dirstamp) \ src/core/$(DEPDIR)/$(am__dirstamp) src/core/logstalgia-ppm.$(OBJEXT): src/core/$(am__dirstamp) \ src/core/$(DEPDIR)/$(am__dirstamp) src/core/logstalgia-png_writer.$(OBJEXT): src/core/$(am__dirstamp) \ src/core/$(DEPDIR)/$(am__dirstamp) src/core/logstalgia-plane.$(OBJEXT): src/core/$(am__dirstamp) \ src/core/$(DEPDIR)/$(am__dirstamp) src/core/logstalgia-quadtree.$(OBJEXT): src/core/$(am__dirstamp) \ src/core/$(DEPDIR)/$(am__dirstamp) src/core/logstalgia-regex.$(OBJEXT): src/core/$(am__dirstamp) \ src/core/$(DEPDIR)/$(am__dirstamp) src/core/logstalgia-resource.$(OBJEXT): src/core/$(am__dirstamp) \ src/core/$(DEPDIR)/$(am__dirstamp) src/core/logstalgia-sdlapp.$(OBJEXT): src/core/$(am__dirstamp) \ src/core/$(DEPDIR)/$(am__dirstamp) src/core/logstalgia-seeklog.$(OBJEXT): src/core/$(am__dirstamp) \ src/core/$(DEPDIR)/$(am__dirstamp) src/core/logstalgia-settings.$(OBJEXT): src/core/$(am__dirstamp) \ src/core/$(DEPDIR)/$(am__dirstamp) src/core/logstalgia-shader.$(OBJEXT): src/core/$(am__dirstamp) \ src/core/$(DEPDIR)/$(am__dirstamp) src/core/logstalgia-shader_common.$(OBJEXT): src/core/$(am__dirstamp) \ src/core/$(DEPDIR)/$(am__dirstamp) src/core/logstalgia-stringhash.$(OBJEXT): src/core/$(am__dirstamp) \ src/core/$(DEPDIR)/$(am__dirstamp) src/core/logstalgia-texture.$(OBJEXT): src/core/$(am__dirstamp) \ src/core/$(DEPDIR)/$(am__dirstamp) src/core/logstalgia-timezone.$(OBJEXT): src/core/$(am__dirstamp) \ src/core/$(DEPDIR)/$(am__dirstamp) src/core/logstalgia-vbo.$(OBJEXT): src/core/$(am__dirstamp) \ src/core/$(DEPDIR)/$(am__dirstamp) src/core/logstalgia-vectors.$(OBJEXT): src/core/$(am__dirstamp) \ src/core/$(DEPDIR)/$(am__dirstamp) src/logstalgia-custom.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/logstalgia-logentry.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/logstalgia-logstalgia.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/logstalgia-main.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/logstalgia-paddle.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/logstalgia-requestball.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/logstalgia-settings.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/logstalgia-slider.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/logstalgia-summarizer.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/logstalgia-textarea.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) logstalgia$(EXEEXT): $(logstalgia_OBJECTS) $(logstalgia_DEPENDENCIES) $(EXTRA_logstalgia_DEPENDENCIES) @rm -f logstalgia$(EXEEXT) $(AM_V_CXXLD)$(logstalgia_LINK) $(logstalgia_OBJECTS) $(logstalgia_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) -rm -f src/*.$(OBJEXT) -rm -f src/core/*.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/logstalgia-ball.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/logstalgia-custom.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/logstalgia-logentry.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/logstalgia-logstalgia.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/logstalgia-main.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/logstalgia-ncsa.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/logstalgia-paddle.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/logstalgia-requestball.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/logstalgia-settings.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/logstalgia-slider.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/logstalgia-summarizer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/logstalgia-textarea.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/logstalgia-conffile.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/logstalgia-display.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/logstalgia-frustum.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/logstalgia-fxfont.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/logstalgia-logger.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/logstalgia-plane.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/logstalgia-png_writer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/logstalgia-ppm.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/logstalgia-quadtree.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/logstalgia-regex.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/logstalgia-resource.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/logstalgia-sdlapp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/logstalgia-seeklog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/logstalgia-settings.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/logstalgia-shader.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/logstalgia-shader_common.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/logstalgia-stringhash.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/logstalgia-texture.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/logstalgia-timezone.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/logstalgia-vbo.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/logstalgia-vectors.Po@am__quote@ .cpp.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ @am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` src/logstalgia-ncsa.o: src/ncsa.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/logstalgia-ncsa.o -MD -MP -MF src/$(DEPDIR)/logstalgia-ncsa.Tpo -c -o src/logstalgia-ncsa.o `test -f 'src/ncsa.cpp' || echo '$(srcdir)/'`src/ncsa.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/logstalgia-ncsa.Tpo src/$(DEPDIR)/logstalgia-ncsa.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/ncsa.cpp' object='src/logstalgia-ncsa.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/logstalgia-ncsa.o `test -f 'src/ncsa.cpp' || echo '$(srcdir)/'`src/ncsa.cpp src/logstalgia-ncsa.obj: src/ncsa.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/logstalgia-ncsa.obj -MD -MP -MF src/$(DEPDIR)/logstalgia-ncsa.Tpo -c -o src/logstalgia-ncsa.obj `if test -f 'src/ncsa.cpp'; then $(CYGPATH_W) 'src/ncsa.cpp'; else $(CYGPATH_W) '$(srcdir)/src/ncsa.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/logstalgia-ncsa.Tpo src/$(DEPDIR)/logstalgia-ncsa.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/ncsa.cpp' object='src/logstalgia-ncsa.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/logstalgia-ncsa.obj `if test -f 'src/ncsa.cpp'; then $(CYGPATH_W) 'src/ncsa.cpp'; else $(CYGPATH_W) '$(srcdir)/src/ncsa.cpp'; fi` src/logstalgia-ball.o: src/ball.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/logstalgia-ball.o -MD -MP -MF src/$(DEPDIR)/logstalgia-ball.Tpo -c -o src/logstalgia-ball.o `test -f 'src/ball.cpp' || echo '$(srcdir)/'`src/ball.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/logstalgia-ball.Tpo src/$(DEPDIR)/logstalgia-ball.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/ball.cpp' object='src/logstalgia-ball.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/logstalgia-ball.o `test -f 'src/ball.cpp' || echo '$(srcdir)/'`src/ball.cpp src/logstalgia-ball.obj: src/ball.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/logstalgia-ball.obj -MD -MP -MF src/$(DEPDIR)/logstalgia-ball.Tpo -c -o src/logstalgia-ball.obj `if test -f 'src/ball.cpp'; then $(CYGPATH_W) 'src/ball.cpp'; else $(CYGPATH_W) '$(srcdir)/src/ball.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/logstalgia-ball.Tpo src/$(DEPDIR)/logstalgia-ball.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/ball.cpp' object='src/logstalgia-ball.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/logstalgia-ball.obj `if test -f 'src/ball.cpp'; then $(CYGPATH_W) 'src/ball.cpp'; else $(CYGPATH_W) '$(srcdir)/src/ball.cpp'; fi` src/core/logstalgia-conffile.o: src/core/conffile.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-conffile.o -MD -MP -MF src/core/$(DEPDIR)/logstalgia-conffile.Tpo -c -o src/core/logstalgia-conffile.o `test -f 'src/core/conffile.cpp' || echo '$(srcdir)/'`src/core/conffile.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-conffile.Tpo src/core/$(DEPDIR)/logstalgia-conffile.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/conffile.cpp' object='src/core/logstalgia-conffile.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-conffile.o `test -f 'src/core/conffile.cpp' || echo '$(srcdir)/'`src/core/conffile.cpp src/core/logstalgia-conffile.obj: src/core/conffile.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-conffile.obj -MD -MP -MF src/core/$(DEPDIR)/logstalgia-conffile.Tpo -c -o src/core/logstalgia-conffile.obj `if test -f 'src/core/conffile.cpp'; then $(CYGPATH_W) 'src/core/conffile.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/conffile.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-conffile.Tpo src/core/$(DEPDIR)/logstalgia-conffile.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/conffile.cpp' object='src/core/logstalgia-conffile.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-conffile.obj `if test -f 'src/core/conffile.cpp'; then $(CYGPATH_W) 'src/core/conffile.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/conffile.cpp'; fi` src/core/logstalgia-display.o: src/core/display.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-display.o -MD -MP -MF src/core/$(DEPDIR)/logstalgia-display.Tpo -c -o src/core/logstalgia-display.o `test -f 'src/core/display.cpp' || echo '$(srcdir)/'`src/core/display.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-display.Tpo src/core/$(DEPDIR)/logstalgia-display.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/display.cpp' object='src/core/logstalgia-display.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-display.o `test -f 'src/core/display.cpp' || echo '$(srcdir)/'`src/core/display.cpp src/core/logstalgia-display.obj: src/core/display.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-display.obj -MD -MP -MF src/core/$(DEPDIR)/logstalgia-display.Tpo -c -o src/core/logstalgia-display.obj `if test -f 'src/core/display.cpp'; then $(CYGPATH_W) 'src/core/display.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/display.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-display.Tpo src/core/$(DEPDIR)/logstalgia-display.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/display.cpp' object='src/core/logstalgia-display.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-display.obj `if test -f 'src/core/display.cpp'; then $(CYGPATH_W) 'src/core/display.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/display.cpp'; fi` src/core/logstalgia-frustum.o: src/core/frustum.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-frustum.o -MD -MP -MF src/core/$(DEPDIR)/logstalgia-frustum.Tpo -c -o src/core/logstalgia-frustum.o `test -f 'src/core/frustum.cpp' || echo '$(srcdir)/'`src/core/frustum.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-frustum.Tpo src/core/$(DEPDIR)/logstalgia-frustum.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/frustum.cpp' object='src/core/logstalgia-frustum.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-frustum.o `test -f 'src/core/frustum.cpp' || echo '$(srcdir)/'`src/core/frustum.cpp src/core/logstalgia-frustum.obj: src/core/frustum.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-frustum.obj -MD -MP -MF src/core/$(DEPDIR)/logstalgia-frustum.Tpo -c -o src/core/logstalgia-frustum.obj `if test -f 'src/core/frustum.cpp'; then $(CYGPATH_W) 'src/core/frustum.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/frustum.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-frustum.Tpo src/core/$(DEPDIR)/logstalgia-frustum.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/frustum.cpp' object='src/core/logstalgia-frustum.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-frustum.obj `if test -f 'src/core/frustum.cpp'; then $(CYGPATH_W) 'src/core/frustum.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/frustum.cpp'; fi` src/core/logstalgia-fxfont.o: src/core/fxfont.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-fxfont.o -MD -MP -MF src/core/$(DEPDIR)/logstalgia-fxfont.Tpo -c -o src/core/logstalgia-fxfont.o `test -f 'src/core/fxfont.cpp' || echo '$(srcdir)/'`src/core/fxfont.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-fxfont.Tpo src/core/$(DEPDIR)/logstalgia-fxfont.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/fxfont.cpp' object='src/core/logstalgia-fxfont.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-fxfont.o `test -f 'src/core/fxfont.cpp' || echo '$(srcdir)/'`src/core/fxfont.cpp src/core/logstalgia-fxfont.obj: src/core/fxfont.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-fxfont.obj -MD -MP -MF src/core/$(DEPDIR)/logstalgia-fxfont.Tpo -c -o src/core/logstalgia-fxfont.obj `if test -f 'src/core/fxfont.cpp'; then $(CYGPATH_W) 'src/core/fxfont.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/fxfont.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-fxfont.Tpo src/core/$(DEPDIR)/logstalgia-fxfont.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/fxfont.cpp' object='src/core/logstalgia-fxfont.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-fxfont.obj `if test -f 'src/core/fxfont.cpp'; then $(CYGPATH_W) 'src/core/fxfont.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/fxfont.cpp'; fi` src/core/logstalgia-logger.o: src/core/logger.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-logger.o -MD -MP -MF src/core/$(DEPDIR)/logstalgia-logger.Tpo -c -o src/core/logstalgia-logger.o `test -f 'src/core/logger.cpp' || echo '$(srcdir)/'`src/core/logger.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-logger.Tpo src/core/$(DEPDIR)/logstalgia-logger.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/logger.cpp' object='src/core/logstalgia-logger.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-logger.o `test -f 'src/core/logger.cpp' || echo '$(srcdir)/'`src/core/logger.cpp src/core/logstalgia-logger.obj: src/core/logger.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-logger.obj -MD -MP -MF src/core/$(DEPDIR)/logstalgia-logger.Tpo -c -o src/core/logstalgia-logger.obj `if test -f 'src/core/logger.cpp'; then $(CYGPATH_W) 'src/core/logger.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/logger.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-logger.Tpo src/core/$(DEPDIR)/logstalgia-logger.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/logger.cpp' object='src/core/logstalgia-logger.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-logger.obj `if test -f 'src/core/logger.cpp'; then $(CYGPATH_W) 'src/core/logger.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/logger.cpp'; fi` src/core/logstalgia-ppm.o: src/core/ppm.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-ppm.o -MD -MP -MF src/core/$(DEPDIR)/logstalgia-ppm.Tpo -c -o src/core/logstalgia-ppm.o `test -f 'src/core/ppm.cpp' || echo '$(srcdir)/'`src/core/ppm.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-ppm.Tpo src/core/$(DEPDIR)/logstalgia-ppm.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/ppm.cpp' object='src/core/logstalgia-ppm.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-ppm.o `test -f 'src/core/ppm.cpp' || echo '$(srcdir)/'`src/core/ppm.cpp src/core/logstalgia-ppm.obj: src/core/ppm.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-ppm.obj -MD -MP -MF src/core/$(DEPDIR)/logstalgia-ppm.Tpo -c -o src/core/logstalgia-ppm.obj `if test -f 'src/core/ppm.cpp'; then $(CYGPATH_W) 'src/core/ppm.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/ppm.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-ppm.Tpo src/core/$(DEPDIR)/logstalgia-ppm.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/ppm.cpp' object='src/core/logstalgia-ppm.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-ppm.obj `if test -f 'src/core/ppm.cpp'; then $(CYGPATH_W) 'src/core/ppm.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/ppm.cpp'; fi` src/core/logstalgia-png_writer.o: src/core/png_writer.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-png_writer.o -MD -MP -MF src/core/$(DEPDIR)/logstalgia-png_writer.Tpo -c -o src/core/logstalgia-png_writer.o `test -f 'src/core/png_writer.cpp' || echo '$(srcdir)/'`src/core/png_writer.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-png_writer.Tpo src/core/$(DEPDIR)/logstalgia-png_writer.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/png_writer.cpp' object='src/core/logstalgia-png_writer.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-png_writer.o `test -f 'src/core/png_writer.cpp' || echo '$(srcdir)/'`src/core/png_writer.cpp src/core/logstalgia-png_writer.obj: src/core/png_writer.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-png_writer.obj -MD -MP -MF src/core/$(DEPDIR)/logstalgia-png_writer.Tpo -c -o src/core/logstalgia-png_writer.obj `if test -f 'src/core/png_writer.cpp'; then $(CYGPATH_W) 'src/core/png_writer.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/png_writer.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-png_writer.Tpo src/core/$(DEPDIR)/logstalgia-png_writer.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/png_writer.cpp' object='src/core/logstalgia-png_writer.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-png_writer.obj `if test -f 'src/core/png_writer.cpp'; then $(CYGPATH_W) 'src/core/png_writer.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/png_writer.cpp'; fi` src/core/logstalgia-plane.o: src/core/plane.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-plane.o -MD -MP -MF src/core/$(DEPDIR)/logstalgia-plane.Tpo -c -o src/core/logstalgia-plane.o `test -f 'src/core/plane.cpp' || echo '$(srcdir)/'`src/core/plane.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-plane.Tpo src/core/$(DEPDIR)/logstalgia-plane.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/plane.cpp' object='src/core/logstalgia-plane.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-plane.o `test -f 'src/core/plane.cpp' || echo '$(srcdir)/'`src/core/plane.cpp src/core/logstalgia-plane.obj: src/core/plane.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-plane.obj -MD -MP -MF src/core/$(DEPDIR)/logstalgia-plane.Tpo -c -o src/core/logstalgia-plane.obj `if test -f 'src/core/plane.cpp'; then $(CYGPATH_W) 'src/core/plane.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/plane.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-plane.Tpo src/core/$(DEPDIR)/logstalgia-plane.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/plane.cpp' object='src/core/logstalgia-plane.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-plane.obj `if test -f 'src/core/plane.cpp'; then $(CYGPATH_W) 'src/core/plane.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/plane.cpp'; fi` src/core/logstalgia-quadtree.o: src/core/quadtree.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-quadtree.o -MD -MP -MF src/core/$(DEPDIR)/logstalgia-quadtree.Tpo -c -o src/core/logstalgia-quadtree.o `test -f 'src/core/quadtree.cpp' || echo '$(srcdir)/'`src/core/quadtree.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-quadtree.Tpo src/core/$(DEPDIR)/logstalgia-quadtree.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/quadtree.cpp' object='src/core/logstalgia-quadtree.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-quadtree.o `test -f 'src/core/quadtree.cpp' || echo '$(srcdir)/'`src/core/quadtree.cpp src/core/logstalgia-quadtree.obj: src/core/quadtree.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-quadtree.obj -MD -MP -MF src/core/$(DEPDIR)/logstalgia-quadtree.Tpo -c -o src/core/logstalgia-quadtree.obj `if test -f 'src/core/quadtree.cpp'; then $(CYGPATH_W) 'src/core/quadtree.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/quadtree.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-quadtree.Tpo src/core/$(DEPDIR)/logstalgia-quadtree.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/quadtree.cpp' object='src/core/logstalgia-quadtree.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-quadtree.obj `if test -f 'src/core/quadtree.cpp'; then $(CYGPATH_W) 'src/core/quadtree.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/quadtree.cpp'; fi` src/core/logstalgia-regex.o: src/core/regex.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-regex.o -MD -MP -MF src/core/$(DEPDIR)/logstalgia-regex.Tpo -c -o src/core/logstalgia-regex.o `test -f 'src/core/regex.cpp' || echo '$(srcdir)/'`src/core/regex.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-regex.Tpo src/core/$(DEPDIR)/logstalgia-regex.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/regex.cpp' object='src/core/logstalgia-regex.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-regex.o `test -f 'src/core/regex.cpp' || echo '$(srcdir)/'`src/core/regex.cpp src/core/logstalgia-regex.obj: src/core/regex.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-regex.obj -MD -MP -MF src/core/$(DEPDIR)/logstalgia-regex.Tpo -c -o src/core/logstalgia-regex.obj `if test -f 'src/core/regex.cpp'; then $(CYGPATH_W) 'src/core/regex.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/regex.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-regex.Tpo src/core/$(DEPDIR)/logstalgia-regex.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/regex.cpp' object='src/core/logstalgia-regex.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-regex.obj `if test -f 'src/core/regex.cpp'; then $(CYGPATH_W) 'src/core/regex.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/regex.cpp'; fi` src/core/logstalgia-resource.o: src/core/resource.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-resource.o -MD -MP -MF src/core/$(DEPDIR)/logstalgia-resource.Tpo -c -o src/core/logstalgia-resource.o `test -f 'src/core/resource.cpp' || echo '$(srcdir)/'`src/core/resource.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-resource.Tpo src/core/$(DEPDIR)/logstalgia-resource.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/resource.cpp' object='src/core/logstalgia-resource.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-resource.o `test -f 'src/core/resource.cpp' || echo '$(srcdir)/'`src/core/resource.cpp src/core/logstalgia-resource.obj: src/core/resource.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-resource.obj -MD -MP -MF src/core/$(DEPDIR)/logstalgia-resource.Tpo -c -o src/core/logstalgia-resource.obj `if test -f 'src/core/resource.cpp'; then $(CYGPATH_W) 'src/core/resource.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/resource.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-resource.Tpo src/core/$(DEPDIR)/logstalgia-resource.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/resource.cpp' object='src/core/logstalgia-resource.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-resource.obj `if test -f 'src/core/resource.cpp'; then $(CYGPATH_W) 'src/core/resource.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/resource.cpp'; fi` src/core/logstalgia-sdlapp.o: src/core/sdlapp.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-sdlapp.o -MD -MP -MF src/core/$(DEPDIR)/logstalgia-sdlapp.Tpo -c -o src/core/logstalgia-sdlapp.o `test -f 'src/core/sdlapp.cpp' || echo '$(srcdir)/'`src/core/sdlapp.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-sdlapp.Tpo src/core/$(DEPDIR)/logstalgia-sdlapp.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/sdlapp.cpp' object='src/core/logstalgia-sdlapp.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-sdlapp.o `test -f 'src/core/sdlapp.cpp' || echo '$(srcdir)/'`src/core/sdlapp.cpp src/core/logstalgia-sdlapp.obj: src/core/sdlapp.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-sdlapp.obj -MD -MP -MF src/core/$(DEPDIR)/logstalgia-sdlapp.Tpo -c -o src/core/logstalgia-sdlapp.obj `if test -f 'src/core/sdlapp.cpp'; then $(CYGPATH_W) 'src/core/sdlapp.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/sdlapp.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-sdlapp.Tpo src/core/$(DEPDIR)/logstalgia-sdlapp.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/sdlapp.cpp' object='src/core/logstalgia-sdlapp.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-sdlapp.obj `if test -f 'src/core/sdlapp.cpp'; then $(CYGPATH_W) 'src/core/sdlapp.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/sdlapp.cpp'; fi` src/core/logstalgia-seeklog.o: src/core/seeklog.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-seeklog.o -MD -MP -MF src/core/$(DEPDIR)/logstalgia-seeklog.Tpo -c -o src/core/logstalgia-seeklog.o `test -f 'src/core/seeklog.cpp' || echo '$(srcdir)/'`src/core/seeklog.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-seeklog.Tpo src/core/$(DEPDIR)/logstalgia-seeklog.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/seeklog.cpp' object='src/core/logstalgia-seeklog.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-seeklog.o `test -f 'src/core/seeklog.cpp' || echo '$(srcdir)/'`src/core/seeklog.cpp src/core/logstalgia-seeklog.obj: src/core/seeklog.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-seeklog.obj -MD -MP -MF src/core/$(DEPDIR)/logstalgia-seeklog.Tpo -c -o src/core/logstalgia-seeklog.obj `if test -f 'src/core/seeklog.cpp'; then $(CYGPATH_W) 'src/core/seeklog.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/seeklog.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-seeklog.Tpo src/core/$(DEPDIR)/logstalgia-seeklog.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/seeklog.cpp' object='src/core/logstalgia-seeklog.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-seeklog.obj `if test -f 'src/core/seeklog.cpp'; then $(CYGPATH_W) 'src/core/seeklog.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/seeklog.cpp'; fi` src/core/logstalgia-settings.o: src/core/settings.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-settings.o -MD -MP -MF src/core/$(DEPDIR)/logstalgia-settings.Tpo -c -o src/core/logstalgia-settings.o `test -f 'src/core/settings.cpp' || echo '$(srcdir)/'`src/core/settings.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-settings.Tpo src/core/$(DEPDIR)/logstalgia-settings.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/settings.cpp' object='src/core/logstalgia-settings.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-settings.o `test -f 'src/core/settings.cpp' || echo '$(srcdir)/'`src/core/settings.cpp src/core/logstalgia-settings.obj: src/core/settings.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-settings.obj -MD -MP -MF src/core/$(DEPDIR)/logstalgia-settings.Tpo -c -o src/core/logstalgia-settings.obj `if test -f 'src/core/settings.cpp'; then $(CYGPATH_W) 'src/core/settings.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/settings.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-settings.Tpo src/core/$(DEPDIR)/logstalgia-settings.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/settings.cpp' object='src/core/logstalgia-settings.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-settings.obj `if test -f 'src/core/settings.cpp'; then $(CYGPATH_W) 'src/core/settings.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/settings.cpp'; fi` src/core/logstalgia-shader.o: src/core/shader.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-shader.o -MD -MP -MF src/core/$(DEPDIR)/logstalgia-shader.Tpo -c -o src/core/logstalgia-shader.o `test -f 'src/core/shader.cpp' || echo '$(srcdir)/'`src/core/shader.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-shader.Tpo src/core/$(DEPDIR)/logstalgia-shader.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/shader.cpp' object='src/core/logstalgia-shader.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-shader.o `test -f 'src/core/shader.cpp' || echo '$(srcdir)/'`src/core/shader.cpp src/core/logstalgia-shader.obj: src/core/shader.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-shader.obj -MD -MP -MF src/core/$(DEPDIR)/logstalgia-shader.Tpo -c -o src/core/logstalgia-shader.obj `if test -f 'src/core/shader.cpp'; then $(CYGPATH_W) 'src/core/shader.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/shader.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-shader.Tpo src/core/$(DEPDIR)/logstalgia-shader.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/shader.cpp' object='src/core/logstalgia-shader.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-shader.obj `if test -f 'src/core/shader.cpp'; then $(CYGPATH_W) 'src/core/shader.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/shader.cpp'; fi` src/core/logstalgia-shader_common.o: src/core/shader_common.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-shader_common.o -MD -MP -MF src/core/$(DEPDIR)/logstalgia-shader_common.Tpo -c -o src/core/logstalgia-shader_common.o `test -f 'src/core/shader_common.cpp' || echo '$(srcdir)/'`src/core/shader_common.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-shader_common.Tpo src/core/$(DEPDIR)/logstalgia-shader_common.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/shader_common.cpp' object='src/core/logstalgia-shader_common.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-shader_common.o `test -f 'src/core/shader_common.cpp' || echo '$(srcdir)/'`src/core/shader_common.cpp src/core/logstalgia-shader_common.obj: src/core/shader_common.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-shader_common.obj -MD -MP -MF src/core/$(DEPDIR)/logstalgia-shader_common.Tpo -c -o src/core/logstalgia-shader_common.obj `if test -f 'src/core/shader_common.cpp'; then $(CYGPATH_W) 'src/core/shader_common.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/shader_common.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-shader_common.Tpo src/core/$(DEPDIR)/logstalgia-shader_common.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/shader_common.cpp' object='src/core/logstalgia-shader_common.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-shader_common.obj `if test -f 'src/core/shader_common.cpp'; then $(CYGPATH_W) 'src/core/shader_common.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/shader_common.cpp'; fi` src/core/logstalgia-stringhash.o: src/core/stringhash.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-stringhash.o -MD -MP -MF src/core/$(DEPDIR)/logstalgia-stringhash.Tpo -c -o src/core/logstalgia-stringhash.o `test -f 'src/core/stringhash.cpp' || echo '$(srcdir)/'`src/core/stringhash.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-stringhash.Tpo src/core/$(DEPDIR)/logstalgia-stringhash.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/stringhash.cpp' object='src/core/logstalgia-stringhash.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-stringhash.o `test -f 'src/core/stringhash.cpp' || echo '$(srcdir)/'`src/core/stringhash.cpp src/core/logstalgia-stringhash.obj: src/core/stringhash.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-stringhash.obj -MD -MP -MF src/core/$(DEPDIR)/logstalgia-stringhash.Tpo -c -o src/core/logstalgia-stringhash.obj `if test -f 'src/core/stringhash.cpp'; then $(CYGPATH_W) 'src/core/stringhash.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/stringhash.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-stringhash.Tpo src/core/$(DEPDIR)/logstalgia-stringhash.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/stringhash.cpp' object='src/core/logstalgia-stringhash.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-stringhash.obj `if test -f 'src/core/stringhash.cpp'; then $(CYGPATH_W) 'src/core/stringhash.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/stringhash.cpp'; fi` src/core/logstalgia-texture.o: src/core/texture.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-texture.o -MD -MP -MF src/core/$(DEPDIR)/logstalgia-texture.Tpo -c -o src/core/logstalgia-texture.o `test -f 'src/core/texture.cpp' || echo '$(srcdir)/'`src/core/texture.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-texture.Tpo src/core/$(DEPDIR)/logstalgia-texture.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/texture.cpp' object='src/core/logstalgia-texture.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-texture.o `test -f 'src/core/texture.cpp' || echo '$(srcdir)/'`src/core/texture.cpp src/core/logstalgia-texture.obj: src/core/texture.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-texture.obj -MD -MP -MF src/core/$(DEPDIR)/logstalgia-texture.Tpo -c -o src/core/logstalgia-texture.obj `if test -f 'src/core/texture.cpp'; then $(CYGPATH_W) 'src/core/texture.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/texture.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-texture.Tpo src/core/$(DEPDIR)/logstalgia-texture.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/texture.cpp' object='src/core/logstalgia-texture.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-texture.obj `if test -f 'src/core/texture.cpp'; then $(CYGPATH_W) 'src/core/texture.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/texture.cpp'; fi` src/core/logstalgia-timezone.o: src/core/timezone.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-timezone.o -MD -MP -MF src/core/$(DEPDIR)/logstalgia-timezone.Tpo -c -o src/core/logstalgia-timezone.o `test -f 'src/core/timezone.cpp' || echo '$(srcdir)/'`src/core/timezone.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-timezone.Tpo src/core/$(DEPDIR)/logstalgia-timezone.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/timezone.cpp' object='src/core/logstalgia-timezone.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-timezone.o `test -f 'src/core/timezone.cpp' || echo '$(srcdir)/'`src/core/timezone.cpp src/core/logstalgia-timezone.obj: src/core/timezone.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-timezone.obj -MD -MP -MF src/core/$(DEPDIR)/logstalgia-timezone.Tpo -c -o src/core/logstalgia-timezone.obj `if test -f 'src/core/timezone.cpp'; then $(CYGPATH_W) 'src/core/timezone.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/timezone.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-timezone.Tpo src/core/$(DEPDIR)/logstalgia-timezone.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/timezone.cpp' object='src/core/logstalgia-timezone.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-timezone.obj `if test -f 'src/core/timezone.cpp'; then $(CYGPATH_W) 'src/core/timezone.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/timezone.cpp'; fi` src/core/logstalgia-vbo.o: src/core/vbo.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-vbo.o -MD -MP -MF src/core/$(DEPDIR)/logstalgia-vbo.Tpo -c -o src/core/logstalgia-vbo.o `test -f 'src/core/vbo.cpp' || echo '$(srcdir)/'`src/core/vbo.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-vbo.Tpo src/core/$(DEPDIR)/logstalgia-vbo.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/vbo.cpp' object='src/core/logstalgia-vbo.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-vbo.o `test -f 'src/core/vbo.cpp' || echo '$(srcdir)/'`src/core/vbo.cpp src/core/logstalgia-vbo.obj: src/core/vbo.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-vbo.obj -MD -MP -MF src/core/$(DEPDIR)/logstalgia-vbo.Tpo -c -o src/core/logstalgia-vbo.obj `if test -f 'src/core/vbo.cpp'; then $(CYGPATH_W) 'src/core/vbo.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/vbo.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-vbo.Tpo src/core/$(DEPDIR)/logstalgia-vbo.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/vbo.cpp' object='src/core/logstalgia-vbo.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-vbo.obj `if test -f 'src/core/vbo.cpp'; then $(CYGPATH_W) 'src/core/vbo.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/vbo.cpp'; fi` src/core/logstalgia-vectors.o: src/core/vectors.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-vectors.o -MD -MP -MF src/core/$(DEPDIR)/logstalgia-vectors.Tpo -c -o src/core/logstalgia-vectors.o `test -f 'src/core/vectors.cpp' || echo '$(srcdir)/'`src/core/vectors.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-vectors.Tpo src/core/$(DEPDIR)/logstalgia-vectors.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/vectors.cpp' object='src/core/logstalgia-vectors.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-vectors.o `test -f 'src/core/vectors.cpp' || echo '$(srcdir)/'`src/core/vectors.cpp src/core/logstalgia-vectors.obj: src/core/vectors.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/core/logstalgia-vectors.obj -MD -MP -MF src/core/$(DEPDIR)/logstalgia-vectors.Tpo -c -o src/core/logstalgia-vectors.obj `if test -f 'src/core/vectors.cpp'; then $(CYGPATH_W) 'src/core/vectors.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/vectors.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/logstalgia-vectors.Tpo src/core/$(DEPDIR)/logstalgia-vectors.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/core/vectors.cpp' object='src/core/logstalgia-vectors.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/core/logstalgia-vectors.obj `if test -f 'src/core/vectors.cpp'; then $(CYGPATH_W) 'src/core/vectors.cpp'; else $(CYGPATH_W) '$(srcdir)/src/core/vectors.cpp'; fi` src/logstalgia-custom.o: src/custom.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/logstalgia-custom.o -MD -MP -MF src/$(DEPDIR)/logstalgia-custom.Tpo -c -o src/logstalgia-custom.o `test -f 'src/custom.cpp' || echo '$(srcdir)/'`src/custom.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/logstalgia-custom.Tpo src/$(DEPDIR)/logstalgia-custom.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/custom.cpp' object='src/logstalgia-custom.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/logstalgia-custom.o `test -f 'src/custom.cpp' || echo '$(srcdir)/'`src/custom.cpp src/logstalgia-custom.obj: src/custom.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/logstalgia-custom.obj -MD -MP -MF src/$(DEPDIR)/logstalgia-custom.Tpo -c -o src/logstalgia-custom.obj `if test -f 'src/custom.cpp'; then $(CYGPATH_W) 'src/custom.cpp'; else $(CYGPATH_W) '$(srcdir)/src/custom.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/logstalgia-custom.Tpo src/$(DEPDIR)/logstalgia-custom.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/custom.cpp' object='src/logstalgia-custom.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/logstalgia-custom.obj `if test -f 'src/custom.cpp'; then $(CYGPATH_W) 'src/custom.cpp'; else $(CYGPATH_W) '$(srcdir)/src/custom.cpp'; fi` src/logstalgia-logentry.o: src/logentry.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/logstalgia-logentry.o -MD -MP -MF src/$(DEPDIR)/logstalgia-logentry.Tpo -c -o src/logstalgia-logentry.o `test -f 'src/logentry.cpp' || echo '$(srcdir)/'`src/logentry.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/logstalgia-logentry.Tpo src/$(DEPDIR)/logstalgia-logentry.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/logentry.cpp' object='src/logstalgia-logentry.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/logstalgia-logentry.o `test -f 'src/logentry.cpp' || echo '$(srcdir)/'`src/logentry.cpp src/logstalgia-logentry.obj: src/logentry.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/logstalgia-logentry.obj -MD -MP -MF src/$(DEPDIR)/logstalgia-logentry.Tpo -c -o src/logstalgia-logentry.obj `if test -f 'src/logentry.cpp'; then $(CYGPATH_W) 'src/logentry.cpp'; else $(CYGPATH_W) '$(srcdir)/src/logentry.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/logstalgia-logentry.Tpo src/$(DEPDIR)/logstalgia-logentry.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/logentry.cpp' object='src/logstalgia-logentry.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/logstalgia-logentry.obj `if test -f 'src/logentry.cpp'; then $(CYGPATH_W) 'src/logentry.cpp'; else $(CYGPATH_W) '$(srcdir)/src/logentry.cpp'; fi` src/logstalgia-logstalgia.o: src/logstalgia.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/logstalgia-logstalgia.o -MD -MP -MF src/$(DEPDIR)/logstalgia-logstalgia.Tpo -c -o src/logstalgia-logstalgia.o `test -f 'src/logstalgia.cpp' || echo '$(srcdir)/'`src/logstalgia.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/logstalgia-logstalgia.Tpo src/$(DEPDIR)/logstalgia-logstalgia.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/logstalgia.cpp' object='src/logstalgia-logstalgia.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/logstalgia-logstalgia.o `test -f 'src/logstalgia.cpp' || echo '$(srcdir)/'`src/logstalgia.cpp src/logstalgia-logstalgia.obj: src/logstalgia.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/logstalgia-logstalgia.obj -MD -MP -MF src/$(DEPDIR)/logstalgia-logstalgia.Tpo -c -o src/logstalgia-logstalgia.obj `if test -f 'src/logstalgia.cpp'; then $(CYGPATH_W) 'src/logstalgia.cpp'; else $(CYGPATH_W) '$(srcdir)/src/logstalgia.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/logstalgia-logstalgia.Tpo src/$(DEPDIR)/logstalgia-logstalgia.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/logstalgia.cpp' object='src/logstalgia-logstalgia.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/logstalgia-logstalgia.obj `if test -f 'src/logstalgia.cpp'; then $(CYGPATH_W) 'src/logstalgia.cpp'; else $(CYGPATH_W) '$(srcdir)/src/logstalgia.cpp'; fi` src/logstalgia-main.o: src/main.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/logstalgia-main.o -MD -MP -MF src/$(DEPDIR)/logstalgia-main.Tpo -c -o src/logstalgia-main.o `test -f 'src/main.cpp' || echo '$(srcdir)/'`src/main.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/logstalgia-main.Tpo src/$(DEPDIR)/logstalgia-main.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/main.cpp' object='src/logstalgia-main.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/logstalgia-main.o `test -f 'src/main.cpp' || echo '$(srcdir)/'`src/main.cpp src/logstalgia-main.obj: src/main.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/logstalgia-main.obj -MD -MP -MF src/$(DEPDIR)/logstalgia-main.Tpo -c -o src/logstalgia-main.obj `if test -f 'src/main.cpp'; then $(CYGPATH_W) 'src/main.cpp'; else $(CYGPATH_W) '$(srcdir)/src/main.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/logstalgia-main.Tpo src/$(DEPDIR)/logstalgia-main.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/main.cpp' object='src/logstalgia-main.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/logstalgia-main.obj `if test -f 'src/main.cpp'; then $(CYGPATH_W) 'src/main.cpp'; else $(CYGPATH_W) '$(srcdir)/src/main.cpp'; fi` src/logstalgia-paddle.o: src/paddle.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/logstalgia-paddle.o -MD -MP -MF src/$(DEPDIR)/logstalgia-paddle.Tpo -c -o src/logstalgia-paddle.o `test -f 'src/paddle.cpp' || echo '$(srcdir)/'`src/paddle.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/logstalgia-paddle.Tpo src/$(DEPDIR)/logstalgia-paddle.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/paddle.cpp' object='src/logstalgia-paddle.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/logstalgia-paddle.o `test -f 'src/paddle.cpp' || echo '$(srcdir)/'`src/paddle.cpp src/logstalgia-paddle.obj: src/paddle.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/logstalgia-paddle.obj -MD -MP -MF src/$(DEPDIR)/logstalgia-paddle.Tpo -c -o src/logstalgia-paddle.obj `if test -f 'src/paddle.cpp'; then $(CYGPATH_W) 'src/paddle.cpp'; else $(CYGPATH_W) '$(srcdir)/src/paddle.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/logstalgia-paddle.Tpo src/$(DEPDIR)/logstalgia-paddle.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/paddle.cpp' object='src/logstalgia-paddle.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/logstalgia-paddle.obj `if test -f 'src/paddle.cpp'; then $(CYGPATH_W) 'src/paddle.cpp'; else $(CYGPATH_W) '$(srcdir)/src/paddle.cpp'; fi` src/logstalgia-requestball.o: src/requestball.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/logstalgia-requestball.o -MD -MP -MF src/$(DEPDIR)/logstalgia-requestball.Tpo -c -o src/logstalgia-requestball.o `test -f 'src/requestball.cpp' || echo '$(srcdir)/'`src/requestball.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/logstalgia-requestball.Tpo src/$(DEPDIR)/logstalgia-requestball.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/requestball.cpp' object='src/logstalgia-requestball.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/logstalgia-requestball.o `test -f 'src/requestball.cpp' || echo '$(srcdir)/'`src/requestball.cpp src/logstalgia-requestball.obj: src/requestball.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/logstalgia-requestball.obj -MD -MP -MF src/$(DEPDIR)/logstalgia-requestball.Tpo -c -o src/logstalgia-requestball.obj `if test -f 'src/requestball.cpp'; then $(CYGPATH_W) 'src/requestball.cpp'; else $(CYGPATH_W) '$(srcdir)/src/requestball.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/logstalgia-requestball.Tpo src/$(DEPDIR)/logstalgia-requestball.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/requestball.cpp' object='src/logstalgia-requestball.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/logstalgia-requestball.obj `if test -f 'src/requestball.cpp'; then $(CYGPATH_W) 'src/requestball.cpp'; else $(CYGPATH_W) '$(srcdir)/src/requestball.cpp'; fi` src/logstalgia-settings.o: src/settings.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/logstalgia-settings.o -MD -MP -MF src/$(DEPDIR)/logstalgia-settings.Tpo -c -o src/logstalgia-settings.o `test -f 'src/settings.cpp' || echo '$(srcdir)/'`src/settings.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/logstalgia-settings.Tpo src/$(DEPDIR)/logstalgia-settings.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/settings.cpp' object='src/logstalgia-settings.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/logstalgia-settings.o `test -f 'src/settings.cpp' || echo '$(srcdir)/'`src/settings.cpp src/logstalgia-settings.obj: src/settings.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/logstalgia-settings.obj -MD -MP -MF src/$(DEPDIR)/logstalgia-settings.Tpo -c -o src/logstalgia-settings.obj `if test -f 'src/settings.cpp'; then $(CYGPATH_W) 'src/settings.cpp'; else $(CYGPATH_W) '$(srcdir)/src/settings.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/logstalgia-settings.Tpo src/$(DEPDIR)/logstalgia-settings.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/settings.cpp' object='src/logstalgia-settings.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/logstalgia-settings.obj `if test -f 'src/settings.cpp'; then $(CYGPATH_W) 'src/settings.cpp'; else $(CYGPATH_W) '$(srcdir)/src/settings.cpp'; fi` src/logstalgia-slider.o: src/slider.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/logstalgia-slider.o -MD -MP -MF src/$(DEPDIR)/logstalgia-slider.Tpo -c -o src/logstalgia-slider.o `test -f 'src/slider.cpp' || echo '$(srcdir)/'`src/slider.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/logstalgia-slider.Tpo src/$(DEPDIR)/logstalgia-slider.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/slider.cpp' object='src/logstalgia-slider.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/logstalgia-slider.o `test -f 'src/slider.cpp' || echo '$(srcdir)/'`src/slider.cpp src/logstalgia-slider.obj: src/slider.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/logstalgia-slider.obj -MD -MP -MF src/$(DEPDIR)/logstalgia-slider.Tpo -c -o src/logstalgia-slider.obj `if test -f 'src/slider.cpp'; then $(CYGPATH_W) 'src/slider.cpp'; else $(CYGPATH_W) '$(srcdir)/src/slider.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/logstalgia-slider.Tpo src/$(DEPDIR)/logstalgia-slider.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/slider.cpp' object='src/logstalgia-slider.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/logstalgia-slider.obj `if test -f 'src/slider.cpp'; then $(CYGPATH_W) 'src/slider.cpp'; else $(CYGPATH_W) '$(srcdir)/src/slider.cpp'; fi` src/logstalgia-summarizer.o: src/summarizer.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/logstalgia-summarizer.o -MD -MP -MF src/$(DEPDIR)/logstalgia-summarizer.Tpo -c -o src/logstalgia-summarizer.o `test -f 'src/summarizer.cpp' || echo '$(srcdir)/'`src/summarizer.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/logstalgia-summarizer.Tpo src/$(DEPDIR)/logstalgia-summarizer.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/summarizer.cpp' object='src/logstalgia-summarizer.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/logstalgia-summarizer.o `test -f 'src/summarizer.cpp' || echo '$(srcdir)/'`src/summarizer.cpp src/logstalgia-summarizer.obj: src/summarizer.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/logstalgia-summarizer.obj -MD -MP -MF src/$(DEPDIR)/logstalgia-summarizer.Tpo -c -o src/logstalgia-summarizer.obj `if test -f 'src/summarizer.cpp'; then $(CYGPATH_W) 'src/summarizer.cpp'; else $(CYGPATH_W) '$(srcdir)/src/summarizer.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/logstalgia-summarizer.Tpo src/$(DEPDIR)/logstalgia-summarizer.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/summarizer.cpp' object='src/logstalgia-summarizer.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/logstalgia-summarizer.obj `if test -f 'src/summarizer.cpp'; then $(CYGPATH_W) 'src/summarizer.cpp'; else $(CYGPATH_W) '$(srcdir)/src/summarizer.cpp'; fi` src/logstalgia-textarea.o: src/textarea.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/logstalgia-textarea.o -MD -MP -MF src/$(DEPDIR)/logstalgia-textarea.Tpo -c -o src/logstalgia-textarea.o `test -f 'src/textarea.cpp' || echo '$(srcdir)/'`src/textarea.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/logstalgia-textarea.Tpo src/$(DEPDIR)/logstalgia-textarea.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/textarea.cpp' object='src/logstalgia-textarea.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/logstalgia-textarea.o `test -f 'src/textarea.cpp' || echo '$(srcdir)/'`src/textarea.cpp src/logstalgia-textarea.obj: src/textarea.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -MT src/logstalgia-textarea.obj -MD -MP -MF src/$(DEPDIR)/logstalgia-textarea.Tpo -c -o src/logstalgia-textarea.obj `if test -f 'src/textarea.cpp'; then $(CYGPATH_W) 'src/textarea.cpp'; else $(CYGPATH_W) '$(srcdir)/src/textarea.cpp'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/logstalgia-textarea.Tpo src/$(DEPDIR)/logstalgia-textarea.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/textarea.cpp' object='src/logstalgia-textarea.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(logstalgia_CXXFLAGS) $(CXXFLAGS) -c -o src/logstalgia-textarea.obj `if test -f 'src/textarea.cpp'; then $(CYGPATH_W) 'src/textarea.cpp'; else $(CYGPATH_W) '$(srcdir)/src/textarea.cpp'; fi` install-dist_fontsDATA: $(dist_fonts_DATA) @$(NORMAL_INSTALL) @list='$(dist_fonts_DATA)'; test -n "$(fontsdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(fontsdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(fontsdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(fontsdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(fontsdir)" || exit $$?; \ done uninstall-dist_fontsDATA: @$(NORMAL_UNINSTALL) @list='$(dist_fonts_DATA)'; test -n "$(fontsdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(fontsdir)'; $(am__uninstall_files_from_dir) install-dist_pkgdataDATA: $(dist_pkgdata_DATA) @$(NORMAL_INSTALL) @list='$(dist_pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(pkgdatadir)'"; \ $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgdatadir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgdatadir)" || exit $$?; \ done uninstall-dist_pkgdataDATA: @$(NORMAL_UNINSTALL) @list='$(dist_pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(pkgdatadir)'; $(am__uninstall_files_from_dir) ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscope: cscope.files test ! -s cscope.files \ || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) clean-cscope: -rm -f cscope.files cscope.files: clean-cscope cscopelist cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f cscope.out cscope.in.out cscope.po.out cscope.files distdir: $(DISTFILES) $(am__remove_distdir) test -d "$(distdir)" || mkdir "$(distdir)" @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done -test -n "$(am__skip_mode_fix)" \ || find "$(distdir)" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r "$(distdir)" dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__post_remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 $(am__post_remove_distdir) dist-lzip: distdir tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz $(am__post_remove_distdir) dist-xz: distdir tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__post_remove_distdir) dist-tarZ: distdir @echo WARNING: "Support for distribution archives compressed with" \ "legacy program 'compress' is deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__post_remove_distdir) dist-shar: distdir @echo WARNING: "Support for shar distribution archives is" \ "deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__post_remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__post_remove_distdir) dist dist-all: $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' $(am__post_remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lz*) \ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ *.tar.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir) chmod u+w $(distdir) mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst chmod a-w $(distdir) test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build/sub \ && ../../configure \ $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ --srcdir=../.. --prefix="$$dc_install_base" \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ && cd "$$am__cwd" \ || exit 1 $(am__post_remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @test -n '$(distuninstallcheck_dir)' || { \ echo 'ERROR: trying to run $@ with an empty' \ '$$(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ $(am__cd) '$(distuninstallcheck_dir)' || { \ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) $(DATA) installdirs: for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(fontsdir)" "$(DESTDIR)$(pkgdatadir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -rm -f src/$(DEPDIR)/$(am__dirstamp) -rm -f src/$(am__dirstamp) -rm -f src/core/$(DEPDIR)/$(am__dirstamp) -rm -f src/core/$(am__dirstamp) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-binPROGRAMS clean-generic mostlyclean-am distclean: distclean-am -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf src/$(DEPDIR) src/core/$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dist_fontsDATA install-dist_pkgdataDATA @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-data-hook install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-binPROGRAMS install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -rf src/$(DEPDIR) src/core/$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binPROGRAMS uninstall-dist_fontsDATA \ uninstall-dist_pkgdataDATA @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) uninstall-hook .MAKE: install-am install-data-am install-strip uninstall-am .PHONY: CTAGS GTAGS TAGS all all-am am--refresh check check-am clean \ clean-binPROGRAMS clean-cscope clean-generic cscope \ cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \ dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \ distcheck distclean distclean-compile distclean-generic \ distclean-tags distcleancheck distdir distuninstallcheck dvi \ dvi-am html html-am info info-am install install-am \ install-binPROGRAMS install-data install-data-am \ install-data-hook install-dist_fontsDATA \ install-dist_pkgdataDATA install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am uninstall-binPROGRAMS uninstall-dist_fontsDATA \ uninstall-dist_pkgdataDATA uninstall-hook .PRECIOUS: Makefile install-data-hook: mkdir -p -m 755 ${DESTDIR}/$(mandir)/man1 $(SED) 's|SDLAPP_RESOURCE_DIR|$(pkgdatadir)|g' data/logstalgia.1 | gzip -f9 > $(DESTDIR)$(mandir)/man1/logstalgia.1.gz uninstall-hook: -rm -f $(DESTDIR)$(mandir)/man1/logstalgia.1.gz # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: logstalgia-1.0.7/configure.ac0000644000203100020310000000415512611522305015747 0ustar andrewcandrewc# -*- Autoconf -*- # Process this file with autoconf to produce a configure script. AC_PREREQ(2.61) AC_INIT(Logstalgia, 1.0.7, [acaudwell@gmail.com]) AC_CONFIG_AUX_DIR([build-aux]) AC_CONFIG_SRCDIR([src/main.cpp]) AM_INIT_AUTOMAKE([dist-bzip2 foreign subdir-objects]) AC_CANONICAL_HOST # Checks for programs. AC_PROG_CXX AC_LANG(C++) #Disable X11 on Macs unless required AS_IF([test "$with_x" != yes], [ case "$host_os" in darwin*) with_x="no" ;; esac ], []) #GL AX_CHECK_GL AX_CHECK_GLU CXXFLAGS="$CXXFLAGS $GL_CFLAGS $GLU_CFLAGS" CPPFLAGS="$CPPFLAGS $GL_CFLAGS $GLU_CFLAGS" LIBS="$LIBS $GL_LIBS $GLU_LIBS" PKG_CHECK_MODULES([FT2], [freetype2 >= 9.0.3]) PKG_CHECK_MODULES([PCRE], [libpcre]) PKG_CHECK_MODULES([GLEW], [glew]) PKG_CHECK_MODULES([SDL2], [sdl2 SDL2_image], [have_sdl2=yes], [have_sdl2=no]) # use SDL 2 if available, otherwise use SDL 1.2 if test "x$have_sdl2" = xno; then AC_MSG_WARN([SDL 2.0 libraries not found. Trying SDL 1.2. Please note SDL 1.2 support is deprecated]) PKG_CHECK_MODULES([SDL], [sdl >= 1.2.10 SDL_image]) fi PKG_CHECK_MODULES([PNG], [libpng >= 1.2]) CPPFLAGS="${CPPFLAGS} ${FT2_CFLAGS} ${PCRE_CFLAGS} ${GLEW_CFLAGS} ${SDL2_CFLAGS} ${SDL_CFLAGS} ${PNG_CFLAGS}" LIBS="${LIBS} ${FT2_LIBS} ${PCRE_LIBS} ${GLEW_LIBS} ${SDL2_LIBS} ${SDL_LIBS} ${PNG_LIBS}" AC_CHECK_FUNCS([IMG_LoadPNG_RW], , AC_MSG_ERROR([SDL_image with PNG support required. Please see INSTALL])) AC_CHECK_FUNCS([IMG_LoadJPG_RW], , AC_MSG_ERROR([SDL_image with JPEG support required. Please see INSTALL])) #BOOST AX_BOOST_BASE([1.46], , AC_MSG_ERROR(Boost Base >= 1.46 is required. Please see INSTALL)) CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" #GLM AC_CHECK_HEADER([glm/glm.hpp],, AC_MSG_ERROR(GLM headers are required. Please see INSTALL)) #see if ttf-font-dir option is enabled AC_ARG_ENABLE(ttf-font-dir,[AS_HELP_STRING([--enable-ttf-font-dir=DIR],[directory containing GNU FreeFont TTF fonts])],[sdlappfontdir="$enableval"],[sdlappfontdir=""]) AM_CONDITIONAL([FONTDIR], [test "x$sdlappfontdir" != "x"]) AC_SUBST(sdlappfontdir) AC_CONFIG_FILES([Makefile]) AC_OUTPUT logstalgia-1.0.7/README0000644000203100020310000002046612611522305014344 0ustar andrewcandrewc Logstalgia a website access log visualisation tool Copyright (C) 2008 Andrew Caudwell http://logstalgia.io Contents ======== 1. Description 2. Requirements 3. Using Logstalgia 4. Copyright 1. Description ============== Logstalgia is a visualization tool that replays or streams web server access logs as a retro arcade game simulation. 2. Requirements =============== Logstalgia's display is rendered using OpenGL and requires a 3D accelerated video card to run. Logstalgia supports several standardized access.log formats used by web servers such as Apache and Nginx (see 'Supported Log Formats' below). As Logstalgia is designed to playback logs in real time you will need a log from a fairly busy webserver to achieve interesting results (eg 100s of requests each minute). 3. Using Logstalgia =================== logstalgia [options] logfile options: -f Fullscreen. -WxH Set the window size. If -f is also supplied, will attempt to set the video mode to this also. Add ! to make the window non-resizable. -b, --background FFFFFF Background colour in hex. -x, --full-hostnames Show full request ip/hostname. -s, --simulation-speed Simulation speed. Defaults to 1 (1 second-per-second). -p, --pitch-speed Speed balls travel across the screen (defaults to 0.15). -u, --update-rate Page Summary update speed. Defaults to 5 (5 seconds). -g name,(HOST|URI|CODE)=regex,percent[,colour] Creates a new named summarizer group for requests for which a specified attribute (HOST, URI or response CODE) matches a regular expression. Percent specifies a vertical percentage of screen to use. A colour may optionally be supplied in hexadecimal format (eg FF0000 for red) which will be applied to all labels and request balls matched to the group. Examples: -g "HTML,URI=html?$,30" -g "Lan,HOST=^192,30" -g "Success,CODE=^[23],30" If no groups are specified, the default groups are Images (image files), CSS (.css files) and Scripts (.js files). If there is enough space remaining a catch-all group 'Misc' will appear as the last group. --paddle-mode MODE Paddle mode (pid, vhost, single). vhost - separate paddle for each virtual host in the log file. pid - separate paddle for each process id in the log file. single - single paddle (the default). --paddle-position POSITION Paddle position as a fraction of the view width (0.25 - 0.75). --sync Read from STDIN, ignoring entries before the current time. --from, --to 'YYYY-MM-DD hh:mm:ss +tz' Show entries from a specific time period. If a time zone offset isn't specified the local time zone is used. Example accepted formats: "2012-06-30" "2012-06-30 12:00" "2012-06-30 12:00:00 +12" --start-position POSITION Begin at some position in the log file (between 0.0 and 1.0). --stop-position POSITION Stop at some position. --no-bounce No bouncing. --hide-response-code Hide response code. --hide-paddle Hide paddle. --hide-paddle-tokens Hide paddle tokens shown in multi-paddle modes. --hide-url-prefix Hide URL protocol and hostname prefix of requests. --disable-auto-skip Disable automatic skipping of empty time periods. --disable-progress Disable the progress bar. --disable-glow Disable the glow effect. --font-size SIZE Font size (10 - 40). --glow-duration Duration of the glow (between 0.0 and 1.0). --glow-multiplier Adjust the amount of glow. --glow-intensity Intensity of the glow. -o, --output-ppm-stream FILE Write frames as PPM to a file (?-? for STDOUT). -r, --output-framerate FPS Framerate of output (used with --output-ppm-stream). --load-config CONFIG_FILE Load a config file. --save-config CONFIG_FILE Save a config file with the current options. logfile The path to the access log file to read or '-' if you wish to supply log entries via STDIN. Examples: Watch an example access.log file using the default settings: logstalgia data/example.log Watch the live access.log, starting from the most recent batch of entries in the log (requires tail). Note than '-' at the end is required for logstalgia to know it needs to read from STDIN: tail -f /var/log/apache2/access.log | logstalgia - To follow the log in real time, use the --sync option. This will start reading from the next entry received on STDIN: tail -f /var/log/apache2/access.log | logstalgia --sync Watch a remote access.log via ssh: ssh user@example.com tail -f /var/log/apache2/access.log | logstalgia --sync Supported Log Formats: Logstalgia supports the following standardized log formats used by web servers like Apache and Nginx: NCSA Common Log Format (CLF) "%h %l %u %t \"%r\" %>s %b" NCSA Common Log Format with Virtual Host "%v %h %l %u %t \"%r\" %>s %b" NCSA extended/combined log format "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" NCSA extended/combined log format with Virtual Host "%v %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" The process id (%P), or some other identifier, may be included as an additional field at the end of the entry. This can be used with '--paddle-mode pid' where a separate paddle will be created for each unique value in this field. Custom Log Format: Logstalgia now supports a pipe ('|') delimited custom log file format: timestamp - unix timestamp of the request date. hostname - hostname of the request path - path requested response_code - the response code from the webserver (eg 200) response_size - the size of the response in bytes The following are optional: success - 1 or 0 to indicate if successful response_colour - response colour in hexidecial (#FFFFFF) format referrer url - the referrer url user agent - the user agent virtual host - the virtual host (to use with --paddle-mode vhost) pid - process id or some other identifier (--paddle-mode pid) If success or response_colour are not provided, they will be derived from the response_code using the normal HTTP conventions (code < 400 = success). Recording Videos: See the guide on the homepage for examples of recording videos with Logstalgia: https://github.com/acaudwell/Logstalgia/wiki/Videos Interface: The time shown in the top left of the screen is set initially from the first log entry read and is incremented according to the simulation speed (-s). The counter in the bottom right hand corner shows the number of requests displayed since the start of the current session. Pressing space at any time will pause/unpause the simulation. While paused you may use the mouse to inspect the detail of individual requests. Interactive keyboard commands: (C) Displays Logstalgia logo (N) Jump forward in time to next log entry (+-) Adjust simulation speed (<>) Adjust pitch speed (F11) Window frame toggle (F12) Screenshot (Alt+Enter) Fullscreen toggle (ESC) Quit 4. Copyright ============ Logstalgia - web server access log visualization Copyright (C) 2008 Andrew Caudwell 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 . logstalgia-1.0.7/src/0000755000203100020310000000000012611522305014243 5ustar andrewcandrewclogstalgia-1.0.7/src/settings.cpp0000644000203100020310000003713312611522305016616 0ustar andrewcandrewc/* Copyright (C) 2013 Andrew Caudwell (acaudwell@gmail.com) 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 . */ #include "settings.h" #include "core/logger.h" #include "core/sdlapp.h" #include "core/seeklog.h" LogstalgiaSettings settings; //display help message void LogstalgiaSettings::help(bool extended_help) { #ifdef _WIN32 //resize window to fit help message SDLApp::resizeConsole(710); SDLApp::showConsole(true); #endif printf("Logstalgia v%s\n", LOGSTALGIA_VERSION); printf("Usage: logstalgia [OPTIONS] FILE\n\n"); printf("Options:\n"); printf(" -WIDTHxHEIGHT Set window size\n"); printf(" -f Fullscreen\n\n"); printf(" -b --background FFFFFF Background colour in hex\n\n"); printf(" -x --full-hostnames Show full request ip/hostname\n"); printf(" -s --simulation-speed Simulation speed (default: 1)\n"); printf(" -p --pitch-speed Speed balls travel across screen (default: 0.15)\n"); printf(" -u --update-rate Page summary update rate (default: 5)\n\n"); printf(" -g name,(HOST|URI|CODE)=regex,percent[,colour]\n"); printf(" Group together requests where the HOST, URI\n"); printf(" or response CODE matches a regular expression\n\n"); printf(" --paddle-mode MODE Paddle mode (single, pid, vhost)\n"); printf(" --paddle-position POSITION Paddle position as a fraction of the view width\n\n"); printf(" --sync Read from STDIN, ignoring entries before now\n\n"); printf(" --from, --to 'YYYY-MM-DD hh:mm:ss' Show entries from a specific time period\n\n"); printf(" --start-position POSITION Begin at some position in the log (0.0 - 1.0)\n"); printf(" --stop-position POSITION Stop at some position\n\n"); printf(" --no-bounce No bouncing\n\n"); printf(" --hide-response-code Hide response code\n"); printf(" --hide-paddle Hide paddle\n"); printf(" --hide-paddle-tokens Hide paddle tokens shown in multi-paddle modes\n"); printf(" --hide-url-prefix Hide URL protocol and hostname prefix\n\n"); printf(" --disable-auto-skip Disable skipping of empty time periods\n"); printf(" --disable-progress Disable the progress bar\n"); printf(" --disable-glow Disable the glow effect\n\n"); printf(" --font-size SIZE Font size\n\n"); printf(" --glow-duration Duration of the glow (default: 0.15)\n"); printf(" --glow-multiplier Adjust the amount of glow (default: 1.25)\n"); printf(" --glow-intensity Intensity of the glow (default: 0.5)\n\n"); printf(" --load-config CONF_FILE Load a config file\n"); printf(" --save-config CONF_FILE Save a config file with the current options\n\n"); printf(" -o, --output-ppm-stream FILE Write frames as PPM to a file ('-' for STDOUT)\n"); printf(" -r, --output-framerate FPS Framerate of output (25,30,60)\n\n"); printf("FILE should be a log file or '-' to read STDIN.\n\n"); if(extended_help) { } #ifdef _WIN32 if(!SDLApp::existing_console) { printf("Press Enter\n"); getchar(); } #endif exit(0); } LogstalgiaSettings::LogstalgiaSettings() { log_level = LOG_LEVEL_OFF; splash = -1.0f; setLogstalgiaDefaults(); default_section_name = "logstalgia"; //translate args arg_aliases["g"] = "group"; arg_aliases["p"] = "start-position"; arg_aliases["b"] = "background"; arg_aliases["x"] = "full-hostnames"; arg_aliases["u"] = "update-rate"; arg_aliases["s"] = "simulation-speed"; arg_aliases["speed"] = "simulation-speed"; arg_aliases["p"] = "pitch-speed"; arg_aliases["c"] = "splash"; arg_aliases["H"] = "extended-help"; arg_aliases["h"] = "help"; arg_aliases["?"] = "help"; //command line only options conf_sections["help"] = "command-line"; conf_sections["extended-help"] = "command-line"; conf_sections["load-config"] = "command-line"; conf_sections["save-config"] = "command-line"; conf_sections["log-level"] = "command-line"; conf_sections["splash"] = "command-line"; // arg types arg_types["font-size"] = "int"; arg_types["help"] = "bool"; arg_types["extended-help"] = "bool"; arg_types["splash"] = "bool"; arg_types["sync"] = "bool"; arg_types["full-hostnames"] = "bool"; arg_types["no-bounce"] = "bool"; arg_types["ffp"] = "bool"; arg_types["hide-paddle"] = "bool"; arg_types["hide-paddle-tokens"] = "bool"; arg_types["hide-response-code"] = "bool"; arg_types["hide-url-prefix"] = "bool"; arg_types["disable-auto-skip"] = "bool"; arg_types["disable-progress"] = "bool"; arg_types["disable-glow"] = "bool"; arg_types["glow-intensity"] = "float"; arg_types["glow-multiplier"] = "float"; arg_types["glow-duration"] = "float"; arg_types["paddle-position"] = "float"; arg_types["pitch-speed"] = "float"; arg_types["simulation-speed"] = "float"; arg_types["update-rate"] = "float"; arg_types["group"] = "multi-value"; arg_types["to"] = "string"; arg_types["from"] = "string"; arg_types["log-level"] = "string"; arg_types["load-config"] = "string"; arg_types["save-config"] = "string"; arg_types["path"] = "string"; arg_types["background"] = "string"; arg_types["start-position"] = "string"; arg_types["stop-position"] = "string"; arg_types["paddle-mode"] = "string"; } void LogstalgiaSettings::setLogstalgiaDefaults() { path = ""; sync = false; start_time = stop_time = 0; start_position = 0.0f; stop_position = 1.0f; paddle_mode = PADDLE_SINGLE; paddle_position = 0.67f; pitch_speed = 0.15f; simulation_speed = 1.0f; update_rate = 5.0f; glow_intensity = 0.5f; glow_multiplier = 1.25f; glow_duration = 0.15f; disable_auto_skip = false; disable_progress = false; disable_glow = false; hide_response_code = false; hide_paddle = false; hide_url_prefix = false; hide_paddle_tokens = false; no_bounce = false; mask_hostnames = true; ffp = false; background_colour = vec3(0.0f, 0.0f, 0.0f); font_size = 14; groups.clear(); } void LogstalgiaSettings::commandLineOption(const std::string& name, const std::string& value) { if(name == "help") { help(); } if(name == "extended-help") { help(true); } if(name == "splash") { splash = 10.0f; return; } if(name == "load-config" && value.size() > 0) { load_config = value; return; } if(name == "save-config" && value.size() > 0) { save_config = value; return; } if(name == "log-level") { if(value == "warn") { log_level = LOG_LEVEL_WARN; } else if(value == "debug") { log_level = LOG_LEVEL_DEBUG; } else if(value == "info") { log_level = LOG_LEVEL_INFO; } else if(value == "error") { log_level = LOG_LEVEL_ERROR; } else if(value == "pedantic") { log_level = LOG_LEVEL_PEDANTIC; } return; } std::string invalid_error = std::string("invalid ") + name + std::string(" value"); throw ConfFileException(invalid_error, "", 0); } void LogstalgiaSettings::importLogstalgiaSettings(ConfFile& conffile, ConfSection* settings) { setLogstalgiaDefaults(); if(settings == 0) settings = conffile.getSection(default_section_name); if(settings == 0) { settings = conffile.addSection("logstalgia"); } ConfEntry* entry = 0; if((entry = settings->getEntry("glow-intensity")) != 0) { if(!entry->hasValue()) conffile.entryException(entry, "specify glow-intensity (float)"); glow_intensity = entry->getFloat(); if(glow_intensity <= 0.0f) { conffile.invalidValueException(entry); } } if((entry = settings->getEntry("glow-multiplier")) != 0) { if(!entry->hasValue()) conffile.entryException(entry, "specify glow-multiplier (float)"); glow_multiplier = entry->getFloat(); if(glow_multiplier <= 0.0f) { conffile.invalidValueException(entry); } } if((entry = settings->getEntry("glow-duration")) != 0) { if(!entry->hasValue()) conffile.entryException(entry, "specify glow-duration (float)"); glow_duration = entry->getFloat(); if(glow_duration <= 0.0f || glow_duration > 1.0f) { conffile.invalidValueException(entry); } } if((entry = settings->getEntry("font-size")) != 0) { if(!entry->hasValue()) conffile.entryException(entry, "specify font size"); font_size = entry->getInt(); if(font_size<1 || font_size>100) { conffile.invalidValueException(entry); } } if((entry = settings->getEntry("background")) != 0) { if(!entry->hasValue()) conffile.entryException(entry, "specify background colour (FFFFFF)"); int r,g,b; std::string colstring = entry->getString(); if(entry->isVec3()) { background_colour = entry->getVec3(); } else if(colstring.size()==6 && sscanf(colstring.c_str(), "%02x%02x%02x", &r, &g, &b) == 3) { background_colour = vec3(r,g,b); background_colour /= 255.0f; } else { conffile.invalidValueException(entry); } } if((entry = settings->getEntry("from")) != 0) { if(!entry->hasValue()) conffile.entryException(entry, "specify from (YYYY-MM-DD hh:mm:ss)"); if(!parseDateTime(entry->getString(), start_time)) { conffile.invalidValueException(entry); } } if((entry = settings->getEntry("to")) != 0) { if(!entry->hasValue()) conffile.entryException(entry, "specify to (YYYY-MM-DD hh:mm:ss)"); if(!parseDateTime(entry->getString(), stop_time)) { conffile.invalidValueException(entry); } } if((entry = settings->getEntry("start-position")) != 0) { if(!entry->hasValue()) conffile.entryException(entry, "specify start-position (float,random)"); start_position = entry->getFloat(); if(start_position<=0.0 || start_position>=1.0) { conffile.entryException(entry, "start-position outside of range 0.0 - 1.0 (non-inclusive)"); } } if((entry = settings->getEntry("stop-position")) != 0) { if(!entry->hasValue()) conffile.entryException(entry, "specify stop-position (float)"); stop_position = entry->getFloat(); if(stop_position<=0.0 || stop_position>1.0) { conffile.entryException(entry, "stop-position outside of range 0.0 - 1.0 (inclusive)"); } } if((entry = settings->getEntry("group")) != 0) { ConfEntryList* group_entries = settings->getEntries("group"); for(ConfEntry* entry : *group_entries) { if(!entry->hasValue()) conffile.entryException(entry, "specify group definition"); groups.push_back(entry->getString()); } } if((entry = settings->getEntry("paddle-mode")) != 0) { if(!entry->hasValue()) conffile.entryException(entry, "specify paddle-mode (vhost,pid)"); std::string paddle_mode_string = entry->getString(); if(paddle_mode_string == "single") { paddle_mode = PADDLE_SINGLE; } else if(paddle_mode_string == "pid") { paddle_mode = PADDLE_PID; } else if(paddle_mode_string == "vhost") { paddle_mode = PADDLE_VHOST; } else { conffile.entryException(entry, "invalid paddle-mode"); } } if((entry = settings->getEntry("paddle-position")) != 0) { if(!entry->hasValue()) conffile.entryException(entry, "specify paddle-position (0.25 - 0.75)"); paddle_position = entry->getFloat(); if(paddle_position < 0.25f || paddle_position > 0.75f) { conffile.entryException(entry, "paddle-position outside of range 0.25 - 0.75"); } } if((entry = settings->getEntry("pitch-speed")) != 0) { if(!entry->hasValue()) conffile.entryException(entry, "specify pitch speed (0.1 to 10.0)"); pitch_speed = entry->getFloat(); if(pitch_speed < 0.1f || pitch_speed > 10.0f) { conffile.entryException(entry, "pitch speed should be between 0.1 and 10.0"); } } if((entry = settings->getEntry("simulation-speed")) != 0) { if(!entry->hasValue()) conffile.entryException(entry, "specify simulation speed (0.1 to 30)"); simulation_speed = entry->getFloat(); if(simulation_speed < 0.1f || simulation_speed > 30.0f) { conffile.entryException(entry, "simulation speed should be between 0.1 and 30"); } } if((entry = settings->getEntry("update-rate")) != 0) { if(!entry->hasValue()) conffile.entryException(entry, "specify update rate (1 to 60)"); update_rate = entry->getFloat(); if(update_rate < 1.0f || update_rate > 60.0f) { conffile.entryException(entry, "update rate should be between 1 and 60"); } } if(settings->getBool("sync")) { sync = true; } if(settings->getBool("hide-paddle")) { paddle_mode = PADDLE_NONE; } if(settings->getBool("hide-paddle-tokens")) { hide_paddle_tokens = true; } if(settings->getBool("hide-response-code")) { hide_response_code = true; } if(settings->getBool("no-bounce")) { no_bounce = true; } if(settings->getBool("disable-auto-skip")) { disable_auto_skip = true; } if(settings->getBool("disable-progress")) { disable_progress = true; } if(settings->getBool("disable-glow")) { disable_glow = true; } if(settings->getBool("full-hostnames")) { mask_hostnames = false; } if(settings->getBool("hide-url-prefix")) { hide_url_prefix = true; } if(settings->getBool("ffp")) { ffp = true; } //validate path if(settings->hasValue("path")) { path = settings->getString("path"); } if (path.empty() && !isatty(fileno(stdin))) { path = "-"; } if(path == "-") { /* if(log_format.size() == 0) { throw ConfFileException("log-format required when reading from STDIN", "", 0); }*/ #ifdef _WIN32 DWORD available_bytes; HANDLE stdin_handle = GetStdHandle(STD_INPUT_HANDLE); while(PeekNamedPipe(stdin_handle, 0, 0, 0, &available_bytes, 0) && available_bytes==0 && !std::cin.fail()) { SDL_Delay(100); } #else while(std::cin.peek() == EOF && !std::cin.fail()) SDL_Delay(100); #endif std::cin.clear(); } } logstalgia-1.0.7/src/requestball.h0000644000203100020310000000267312611522305016747 0ustar andrewcandrewc/* Copyright (C) 2008 Andrew Caudwell (acaudwell@gmail.com) 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 . */ #ifndef REQUESTBALL_H #define REQUESTBALL_H #include "core/fxfont.h" #include "logentry.h" #include "ball.h" #include "textarea.h" class RequestBall : public ProjectedBall { protected: vec2 start; vec2 dest; vec2 offset; vec3 pagecolour; vec3 responseColour(); FXFont* font; TextureResource* tex; std::string response_code; vec3 response_colour; public: LogEntry* le; RequestBall(LogEntry* le, FXFont* font, TextureResource* tex, const vec3& colour, const vec2& pos, const vec2& dest); ~RequestBall(); bool mouseOver(TextArea& textarea, vec2& mouse); int logic(float dt); void drawGlow() const; void draw() const; void drawResponseCode() const; }; #endif logstalgia-1.0.7/src/ncsa.h0000644000203100020310000000162712611522305015346 0ustar andrewcandrewc/* Copyright (C) 2010 Andrew Caudwell (acaudwell@gmail.com) 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 . */ #ifndef NCSA_ACCESS_LOG #define NCSA_ACCESS_LOG #include "logentry.h" class NCSALog : public AccessLog { public: NCSALog(); bool parseLine(std::string& line, LogEntry& entry); }; #endif logstalgia-1.0.7/src/ball.h0000644000203100020310000000345112611522305015331 0ustar andrewcandrewc/* Copyright (C) 2008 Andrew Caudwell (acaudwell@gmail.com) 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 . */ #ifndef BALL_H #define BALL_H #include #include "core/vectors.h" class Line { public: vec2 start; vec2 end; Line(vec2 start, vec2 end); ~Line(); bool intersects(Line& l, vec2* p = 0); }; class ProjectedBall { protected: std::vector points; std::vector line_lengths; float distance_travelled; float total_distance; float dest_x; float start_x; bool has_bounced; bool no_bounce; public: vec2 pos; vec2 vel; float size; vec3 colour; float speed; ProjectedBall(); ProjectedBall(const vec2& pos, const vec2& vel, const vec3& colour, int dest_x, float size); ~ProjectedBall(); void init(const vec2& pos, const vec2& vel, const vec3& colour, int dest_x, float size); void setOffset(float offset); void project(); vec2 finish(); void bounce(); void dontBounce(); float getX(); bool isFinished() const; bool hasBounced() const { return has_bounced; } float arrivalTime(); float getProgress() const; void logic(float dt); }; #endif logstalgia-1.0.7/src/slider.h0000644000203100020310000000141012611522305015672 0ustar andrewcandrewc#ifndef POS_SLIDER_H #define POS_SLIDER_H #include "core/bounds.h" #include "core/fxfont.h" class PositionSlider { FXFont font; Bounds2D bounds; float percent; float mouseover; float mouseover_elapsed; float fade_time; float alpha; vec3 slidercol; float capwidth; std::string caption; void drawSlider(float position) const; public: PositionSlider(float percent = 0.0f); void setColour(vec3 col); void setCaption(const std::string& cap); void setPercent(float percent); void resize(); void show(); const Bounds2D& getBounds() const; bool mouseOver(vec2 pos, float* percent_ptr); bool click(vec2 pos, float* percent_ptr); void logic(float dt); void draw(float dt); }; #endif logstalgia-1.0.7/src/paddle.cpp0000644000203100020310000001001012611522305016170 0ustar andrewcandrewc/* Copyright (C) 2008 Andrew Caudwell (acaudwell@gmail.com) 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 . */ #include "paddle.h" #include "requestball.h" #include "settings.h" #include "core/stringhash.h" Paddle::Paddle(vec2 pos, vec4 colour, std::string token, FXFont font) { this->token = token; // TODO: fix colouring // this->token_colour = token.size() > 0 ? colourHash2(token) : vec3(0.5,0.5,0.5); this->token_colour = token.size() > 0 ? colourHash(token) : vec3(0.5,0.5,0.5); this->pos = pos; this->lastcol = colour; this->default_colour = colour; this->colour = lastcol; this->width = 10; this->height = 50; this->target = 0; font.alignTop(true); font.alignRight(true); font.dropShadow(true); this->font = font; dest_y = -1; } Paddle::~Paddle() { } void Paddle::moveTo(int y, float eta, vec4 nextcol) { this->start_y = (int) this->pos.y; this->dest_y = y; this->dest_eta = eta; this->dest_elapsed = 0.0f; this->nextcol = nextcol; //debugLog("move to %d over %.2f\n", dest_y, dest_eta); } bool Paddle::visible() { return colour.w > 0.01; } bool Paddle::moving() { return dest_y != -1; } float Paddle::getY() { return pos.y; } float Paddle::getX() { return pos.x; } RequestBall* Paddle::getTarget() { return target; } void Paddle::setTarget(RequestBall* target) { this->target = target; if(target==0) { moveTo(display.height/2, 4, default_colour); return; } vec2 dest = target->finish(); vec4 col = (settings.paddle_mode == PADDLE_VHOST || settings.paddle_mode == PADDLE_PID) ? vec4(token_colour,1.0) : vec4(target->colour, 1.0f); moveTo((int)dest.y, target->arrivalTime(), col); } bool Paddle::mouseOver(TextArea& textarea, vec2& mouse) { if(pos.x <= mouse.x && pos.x + width >= mouse.x && abs(pos.y - mouse.y) < height/2) { std::vector content; content.push_back( token ); textarea.setText(content); textarea.setPos(mouse); textarea.setColour(vec3(colour)); return true; } return false; } void Paddle::logic(float dt) { if(dest_y != -1) { float remaining = dest_eta - dest_elapsed; if(remaining<0.0f) { //debugLog("paddle end point reached\n"); pos.y = dest_y; dest_y = -1; target = 0; colour = nextcol; lastcol = colour; } else { float alpha = remaining/dest_eta; pos.y = start_y + ((dest_y-start_y)*(1.0f - alpha)); colour = lastcol * alpha + nextcol * (1.0f - alpha); } dest_elapsed += dt; } } void Paddle::drawToken() { font.setColour(colour); font.draw(pos.x-10, pos.y - (font.getMaxHeight()/2), token); } void Paddle::drawShadow() { vec2 spos = vec2(pos.x + 1.0f, pos.y + 1.0f); glColor4f(0.0, 0.0, 0.0, 0.7 * colour.w); glBegin(GL_QUADS); glVertex2f(spos.x,spos.y-(height/2)); glVertex2f(spos.x,spos.y+(height/2)); glVertex2f(spos.x+width,spos.y+(height/2)); glVertex2f(spos.x+width,spos.y-(height/2)); glEnd(); } void Paddle::draw() { glColor4fv(glm::value_ptr(colour)); glBegin(GL_QUADS); glVertex2f(pos.x,pos.y-(height/2)); glVertex2f(pos.x,pos.y+(height/2)); glVertex2f(pos.x+width,pos.y+(height/2)); glVertex2f(pos.x+width,pos.y-(height/2)); glEnd(); } logstalgia-1.0.7/src/custom.h0000644000203100020310000000165312611522305015733 0ustar andrewcandrewc/* Copyright (C) 2010 Andrew Caudwell (acaudwell@gmail.com) 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 . */ #ifndef CUSTOM_ACCESS_LOG #define CUSTOM_ACCESS_LOG #include "logentry.h" class CustomAccessLog : public AccessLog { public: CustomAccessLog(); bool parseLine(std::string& line, LogEntry& entry); }; #endif logstalgia-1.0.7/src/summarizer.cpp0000644000203100020310000004067312611522305017157 0ustar andrewcandrewc/* Copyright (C) 2008 Andrew Caudwell (acaudwell@gmail.com) 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 . */ #include "summarizer.h" #include /* Method: if leaf: - return string if has children: - look at each childs 'word' count and allocate a % of the no_strings to each child where the % is the total word count of the children / the individual count of each node (rounding downwards - ie 0.9 -> 0) call each child and return the total set of strings from the children. */ //SummUnit SummUnit::SummUnit() { this->words=0; this->refs=0; this->truncated=false; this->exceptions=false; } SummUnit::SummUnit(SummNode* source, bool truncated, bool exceptions) { this->source = source; this->words = source->words; this->refs = source->refs; this->truncated = truncated; this->exceptions= exceptions; if(source->parent!=0) prependChar(source->c); } void SummUnit::buildSummary() { expanded.clear(); source->expand(str, expanded, exceptions); } void SummUnit::prependChar(char c) { str.insert(0,1,c); } //SummNode const char* summ_wildcard = "*"; SummNode::SummNode() { c = '*'; words=0; parent=0; } SummNode::SummNode(const std::string& str, size_t offset, SummNode* parent) { c = str[offset]; words=0; refs=0; this->parent=parent; //if leaf if(!addWord(str, ++offset)) { words=1; } } bool SummNode::removeWord(const std::string& str, size_t offset) { refs--; size_t str_size = str.size() - offset; if(!str_size) return false; words--; size_t no_children = children.size(); bool removed = false; for(size_t i=0;ic == str[offset]) { removed = children[i]->removeWord(str,++offset); if(children[i]->refs == 0) { std::vector::iterator it = children.begin()+i; delete *it; children.erase(it); } break; } } return removed; } void SummNode::debug(int indent) { std::string indentation; if(indent>0) indentation.append(indent, ' '); debugLog("%snode c=%c refs=%d words=%d", indentation.c_str(), c, refs, words); indent++; for(size_t i=0;idebug(indent); } } bool SummNode::addWord(const std::string& str, size_t offset) { refs++; size_t str_size = str.size() - offset; if(!str_size) return false; words++; size_t no_children = children.size(); for(size_t i=0;ic == str[offset]) { return children[i]->addWord(str, ++offset); } } children.push_back(new SummNode(str, offset, this)); return true; } std::string format_node(std::string str, int refs) { char buff[256]; snprintf(buff, 256, "%03d %s", refs, str.c_str()); return std::string(buff); } void SummNode::expand(std::string prefix, std::vector& vec, bool exceptions) { size_t no_child = children.size(); if(no_child==0) { vec.push_back(format_node(prefix, refs)); return; } //find top-but-not-root node, expand root node std::vector::iterator it; for(size_t i=0;i strvec; children[i]->summarize(strvec, 100); for(it=strvec.begin(); it!=strvec.end(); it++) { vec.push_back(format_node(prefix+(*it).str, children[i]->refs)); } } } int SummNode::summarize(std::vector& strvec, int no_words) { // if no children, just append this node if(children.size()==0 && parent!=0) { strvec.push_back(SummUnit(this)); return 1; } int total_count=0; //get total number of words size_t no_child = children.size(); //figure out the total number of words 'below' this node int total_child_words = 0; for(size_t i=0;iwords; } //distribute slots to children int extra_slots = no_words; int un_covered=0; for(size_t i=0;iwords / total_child_words; int child_share = (int)(percent * no_words); extra_slots -= child_share; if(child_share==0) un_covered++; } //if any child will be left out need a spare catch all slot if(un_covered>extra_slots) { extra_slots--; } exception.clear(); un_covered=0; int last_uncovered=-1; //summarize children, for(size_t i=0;iwords / total_child_words; int child_share = (int)(percent * no_words); //give any left over slots to largest child if(extra_slots>0 && child_share==0) { if(i==no_child-1) { child_share += extra_slots; extra_slots = 0; } else { child_share += 1; extra_slots -= 1; } } if(child_share<=0) { un_covered++; exception.push_back(true); last_uncovered=i; continue; } exception.push_back(false); int currsize = strvec.size(); int count = children[i]->summarize(strvec, child_share); total_count+=count; size_t newsize = (size_t) (count + currsize); for(size_t j=currsize;j0) { if(un_covered==1) { int currsize = strvec.size(); int count = children[last_uncovered]->summarize(strvec, 1); size_t newsize = (size_t) (count + currsize); total_count += count; for(size_t j=currsize;junit = unit; vec3 col = icol!=0 ? *icol : colourHash(unit.str); this->colour = vec4(col, 1.0f); char buff[1024]; if(unit.truncated) { if(showcount) { snprintf(buff, 1024, "%03d %s (%d)", unit.refs, unit.str.c_str(), (int) unit.expanded.size()); } else { snprintf(buff, 1024, "%s (%d)", unit.str.c_str(), (int) unit.expanded.size()); } } else { if(showcount) { snprintf(buff, 1024, "%03d %s", unit.refs, unit.str.c_str()); } else { snprintf(buff, 1024, "%s", unit.str.c_str()); } } this->displaystr = std::string(buff); this->width = font.getWidth(displaystr); } SummItem::SummItem(SummUnit unit, float target_x, vec3* icol, FXFont font, bool showcount) { this->pos = vec2(-1.0,-1.0); this->dest = vec2(-1.0,-1.0); this->target_x = target_x; this->icol = icol; this->font = font; this->showcount=showcount; updateUnit(unit); destroy=false; moving=false; departing=false; setDest(dest); } void SummItem::setDest(const vec2& dest) { vec2 dist = this->dest - dest; if(moving && glm::dot(dist, dist) < 1.0f) return; this->oldpos = pos; this->dest = dest; this->elapsed = 0; this->eta = 1.0f; destroy = false; moving = true; } void SummItem::setDeparting(bool departing) { this->departing = departing; if(!departing) destroy = false; } void SummItem::setPos(const vec2& pos) { this->pos = pos; } void SummItem::logic(float dt) { if(!moving) return; float remaining = eta - elapsed; if(remaining>0.0f) { float dist_x = target_x - pos.x; if(dist_x<0.0f) dist_x = -dist_x; float alpha = 0.0f; if(dist_x<200.0f) { alpha = 1.0f - (dist_x/200.0f); } colour.w = alpha; pos = oldpos + (dest-oldpos)*(1.0f - (remaining/eta)); elapsed+=dt; } else { pos = dest; if(departing) { destroy = true; } departing = false; moving = false; colour.w=1.0f; } } void SummItem::draw(float alpha) { font.setColour(vec4(colour.x, colour.y, colour.z, colour.w * alpha)); font.draw((int)pos.x, (int)pos.y, displaystr.c_str()); } // Summarizer Summarizer::Summarizer(FXFont font, int screen_percent, float refresh_delay, std::string matchstr, std::string title) : matchre(matchstr) { pos_x = top_gap = bottom_gap = 0.0f; this->screen_percent = screen_percent; this->title = title; this->font = font; this->refresh_delay = refresh_delay; this->refresh_elapsed = refresh_delay; this->item_colour=0; this->showcount=false; changed = false; incrementf =0; root = SummNode(); mouseover=false; } int Summarizer::getScreenPercent() { return screen_percent; } void Summarizer::setSize(int x, float top_gap, float bottom_gap) { this->pos_x = x; this->top_gap = top_gap; this->bottom_gap = bottom_gap; // TODO: set 'right' explicitly? right = (pos_x > (display.width/2)) ? true : false; font_gap = font.getMaxHeight() + 4; max_strings = (int) ((display.height-top_gap-bottom_gap)/font_gap); if(!title.empty()) { this->top_gap+= font_gap; } changed = true; refresh_elapsed = refresh_delay; items.clear(); } void Summarizer::mouseOut() { mouseover=false; } bool Summarizer::mouseOver(TextArea& textarea, vec2 mouse) { mouseover=false; if(right && mouse.x < pos_x) return false; if(mouse.y < top_gap || mouse.y > (display.height-bottom_gap)) return false; if(items.empty()) return false; float y = mouse.y; for(SummItem& item : items) { if(item.departing) continue; if(item.pos.y<=y && (item.pos.y+font.getMaxHeight()+4) > y) { if(mouse.x< item.pos.x || mouse.x > item.pos.x + item.width) continue; std::vector content; textarea.setText(item.unit.expanded); textarea.setColour(vec3(item.colour)); textarea.setPos(mouse); mouseover=true; return true; } } return false; } void Summarizer::setColour(vec3 col) { this->item_colour = new vec3(col); } bool Summarizer::isColoured() { return (item_colour!=0); } vec3 Summarizer::getColour() { return *item_colour; } Summarizer::~Summarizer() { if(item_colour!=0) delete item_colour; } bool Summarizer::supportedString(const std::string& str) { return matchre.match(str); } // string sort with numbers sorted last (reasoning: text is more likely to be interesting) bool _unit_sorter(const SummUnit& a, const SummUnit& b) { int ai = atoi(a.str.c_str()); int bi = atoi(b.str.c_str()); // if only one of a or b is numeric, non numeric value wins if((ai==0) != (bi==0)) { return ai==0; } return a.str.compare(b.str) < 0; } bool _item_sorter(const SummItem& a, const SummItem& b) { return _unit_sorter(a.unit,b.unit); } void Summarizer::summarize() { if(!changed) return; changed = false; strings.clear(); root.summarize(strings,max_strings); size_t nostrs = strings.size(); for(size_t i=0;i1) { incrementf = (((float)display.height-font_gap-top_gap-bottom_gap)/(nostrs-1)); } else { incrementf =0; } } void Summarizer::recalc_display() { size_t nostrs = strings.size(); std::vector strfound; strfound.resize(nostrs, false); size_t found_count = 0; //update summItems for(SummItem& item : items) { int match = -1; for(size_t j=0;j best_size && strn_size < input_size)) { best = i; best_diff = min_common_diff; best_size = min_size; } } return best; } const std::string& Summarizer::getBestMatchStr(const std::string& str) const { int pos = getBestMatchIndex(str); assert(pos !=- 1); return strings[pos].str; } float Summarizer::getMiddlePosY(const std::string& str) const { return getPosY(str) + (font.getMaxHeight()) / 2; } float Summarizer::getPosY(const std::string& str) const { int best = getBestMatchIndex(str); if(best!=-1) { return calcPosY(best); } return calcPosY(0); } void Summarizer::showCount(bool showcount) { this->showcount = showcount; } void Summarizer::addString(const std::string& str) { root.addWord(str,0); changed = true; } void Summarizer::logic(float dt) { if(changed) summarize(); refresh_elapsed+=dt; if(refresh_elapsed>=refresh_delay) { recalc_display(); refresh_elapsed=0; } //move items for(auto it = items.begin();it != items.end();) { (*it).logic(dt); if((*it).destroy) { it = items.erase(it); } else { it++; } } } void Summarizer::draw(float dt, float alpha) { glEnable(GL_BLEND); glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glEnable(GL_TEXTURE_2D); if(title.size()) { font.setColour(vec4(1.0f, 1.0f, 1.0f, alpha)); font.draw((int)pos_x, (int)(top_gap - font_gap), title.c_str()); } for(SummItem& item : items) { item.draw(alpha); } } logstalgia-1.0.7/src/logstalgia.cpp0000644000203100020310000010374512611522305017107 0ustar andrewcandrewc/* Copyright (C) 2008 Andrew Caudwell (acaudwell@gmail.com) 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 . */ #include "logstalgia.h" #include "settings.h" #include "ncsa.h" #include "custom.h" #include "core/png_writer.h" #include "core/timezone.h" //Logstalgia //turn performance profiling //#define LS_PERFORMANCE_PROFILE bool gSyncLog = false; std::string profile_name; Uint32 profile_start_msec; void profile_start(std::string profile) { #ifdef LS_PERFORMANCE_PROFILE profile_start_msec = SDL_GetTicks(); profile_name = profile; #endif } void profile_stop() { #ifdef LS_PERFORMANCE_PROFILE debugLog("%s took %d ms\n", profile_name.c_str(), SDL_GetTicks() - profile_start_msec); #endif } void logstalgia_info(std::string msg) { SDLAppInfo(msg); } void logstalgia_quit(std::string error) { SDLAppQuit(error); } Logstalgia::Logstalgia(const std::string& logfile) : SDLApp() { info = false; paused = false; retarget = false; next = false; this->logfile = logfile; spawn_delay=0; highscore = 0; message_timer = 0.0f; ipSummarizer = 0; mintime = settings.sync ? time(0) : settings.start_time; seeklog = 0; streamlog = 0; if(logfile.empty()) { throw SDLAppException("no file supplied"); } if(logfile == "-") { streamlog = new StreamLog(); settings.disable_progress = true; } else { try { seeklog = new SeekLog(logfile); } catch(SeekLogException& exception) { throw SDLAppException("unable to read log file"); } } total_space = display.height - 40; remaining_space = total_space - 2; total_entries=0; background = vec3(0.0, 0.0, 0.0); fontLarge = fontmanager.grab("FreeSerif.ttf", 42); fontMedium = fontmanager.grab("FreeMonoBold.ttf", 16); fontBall = fontmanager.grab("FreeMonoBold.ttf", 16); fontSmall = fontmanager.grab("FreeMonoBold.ttf", settings.font_size); fontLarge.dropShadow(true); fontMedium.dropShadow(true); fontSmall.dropShadow(true); balltex = texturemanager.grab("ball.tga"); glowtex = texturemanager.grab("glow.tga"); infowindow = TextArea(fontSmall); mousehide_timeout = 0.0f; runtime = 0.0; frameExporter = 0; framecount = 0; frameskip = 0; fixed_tick_rate = 0.0; accesslog = 0; font_alpha = 1.0; take_screenshot = false; //every 60 minutes seconds blank text for 60 seconds screen_blank_interval = 3600.0; screen_blank_period = 60.0; screen_blank_elapsed = 0.0; init_tz(); } Logstalgia::~Logstalgia() { if(accesslog!=0) delete accesslog; for(auto& it: paddles) { delete it.second; } paddles.clear(); if(seeklog!=0) delete seeklog; if(streamlog!=0) delete streamlog; for(auto& it : summarizer_types) { if(it.second != 0) delete it.second; } for(Summarizer* s : summarizers) { delete s; } summarizers.clear(); summarizer_types.clear(); } void Logstalgia::togglePause() { paused = !paused; if(!paused) { if(settings.sync) { mintime = time(0); elapsed_time = mintime - starttime; } ipSummarizer->mouseOut(); for(Summarizer* s : summarizers) { s->mouseOut(); } } } void Logstalgia::keyPress(SDL_KeyboardEvent *e) { if (e->type == SDL_KEYDOWN) { if (e->keysym.sym == SDLK_ESCAPE) { appFinished=true; } if(e->keysym.sym == SDLK_q) { info = !info; } if(e->keysym.sym == SDLK_c) { settings.splash = 10.0f; } if(e->keysym.sym == SDLK_n) { next = true; } if (e->keysym.sym == SDLK_p) { if(GLEW_VERSION_2_0) { settings.ffp = !settings.ffp; } } if(e->keysym.sym == SDLK_SPACE) { togglePause(); } if (e->keysym.sym == SDLK_F11) { toggleWindowFrame(); } if (e->keysym.sym == SDLK_F12) { take_screenshot = true; } if(!settings.sync) { if (e->keysym.sym == SDLK_EQUALS || e->keysym.sym == SDLK_KP_PLUS) { if(settings.simulation_speed >= 1.0f) { settings.simulation_speed = std::min(30.0f, glm::floor(settings.simulation_speed) + 1.0f); } else { settings.simulation_speed = std::min(1.0f, settings.simulation_speed * 2.0f); } retarget=true; } if (e->keysym.sym == SDLK_MINUS || e->keysym.sym == SDLK_KP_MINUS) { if(settings.simulation_speed > 1.0f) { settings.simulation_speed = std::max(1.0f, glm::floor(settings.simulation_speed) - 1.0f); } else { settings.simulation_speed = std::max(0.1f, settings.simulation_speed * 0.5f); } retarget=true; } } if(e->keysym.sym == SDLK_PERIOD) { settings.pitch_speed = glm::clamp(settings.pitch_speed+0.1f, 0.0f, 10.0f); retarget=true; } if(e->keysym.sym == SDLK_COMMA) { settings.pitch_speed = glm::clamp(settings.pitch_speed-0.1f, 0.1f, 10.0f); retarget=true; } if(e->keysym.sym == SDLK_RETURN && e->keysym.mod & KMOD_ALT) { toggleFullscreen(); } } } void Logstalgia::initPaddles() { paddle_x = display.width * settings.paddle_position; paddle_colour = (settings.paddle_mode > PADDLE_SINGLE) ? vec4(0.0f, 0.0f, 0.0f, 0.0f) : vec4(0.5, 0.5, 0.5, 1.0); if(!paddles.empty()) { for(auto& it: paddles) { delete it.second; } paddles.clear(); } if(settings.paddle_mode <= PADDLE_SINGLE) { vec2 paddle_pos = vec2(paddle_x - 20, rand() % display.height); Paddle* paddle = new Paddle(paddle_pos, paddle_colour, "", fontSmall); paddles[""] = paddle; } } void Logstalgia::initRequestBalls() { for(RequestBall* r: balls) { removeBall(r); } balls.clear(); } void Logstalgia::reset() { end_reached = false; highscore = 0; initPaddles(); initRequestBalls(); ipSummarizer->recalc_display(); for(Summarizer* s : summarizers) { s->recalc_display(); } queued_entries.clear(); // reset settings elapsed_time = 0; starttime = 0; lasttime = 0; } void Logstalgia::screenshot() { //get next free recording name char pngname[256]; struct stat finfo; int png_no = 1; while(png_no < 10000) { snprintf(pngname, 256, "logstalgia-%04d.png", png_no); if(stat(pngname, &finfo) != 0) break; png_no++; } //write png std::string filename(pngname); PNGWriter png; png.screenshot(filename); setMessage("Wrote screenshot %s", pngname); } void Logstalgia::setMessage(const char* str, ...) { char msgbuff[1024]; va_list vl; va_start(vl, str); vsnprintf(msgbuff, 1024, str, vl); va_end(vl); message = std::string(msgbuff); message_timer = 5.0; } void Logstalgia::seekTo(float percent) { if(settings.disable_progress) return; //disable pause if enabled before seeking if(paused) paused = false; reset(); seeklog->seekTo(percent); readLog(); } void Logstalgia::mouseClick(SDL_MouseButtonEvent *e) { if(e->type != SDL_MOUSEBUTTONDOWN) return; if(e->button == SDL_BUTTON_LEFT) { if(!settings.disable_progress) { float position; if(slider.click(mousepos, &position)) { seekTo(position); } } } } //peek at the date under the mouse pointer on the slider std::string Logstalgia::dateAtPosition(float percent) { std::string date; if(seeklog == 0 || accesslog == 0) return date; //get line at position std::string linestr; if(percent<1.0 && seeklog->getNextLineAt(linestr, percent)) { LogEntry le; set_utc_tz(); bool parsed = accesslog->parseLine(linestr, le); unset_utc_tz(); if(parsed) { //display date char datestr[256]; time_t timestamp = le.timestamp; struct tm* timeinfo = localtime ( ×tamp ); strftime(datestr, 256, "%H:%M:%S %B %d, %Y", timeinfo); date = std::string(datestr); } } return date; } void Logstalgia::mouseMove(SDL_MouseMotionEvent *e) { mousepos = vec2(e->x, e->y); SDL_ShowCursor(true); mousehide_timeout = 5.0f; float pos; if(!settings.disable_progress && slider.mouseOver(mousepos, &pos)) { std::string date = dateAtPosition(pos); slider.setCaption(date); } } Regex ls_url_hostname_regex("^http://[^/]+(.+)$"); std::string Logstalgia::filterURLHostname(const std::string& hostname) { std::vector matches; if(ls_url_hostname_regex.match(hostname, &matches)) { return matches[0]; } return hostname; } Summarizer* Logstalgia::getGroupSummarizer(LogEntry* le) { auto host_match_summarizers = summarizer_types["HOST"]; auto code_match_summarizers = summarizer_types["CODE"]; auto uri_match_summarizers = summarizer_types["URI"]; if(host_match_summarizers != 0) { for(Summarizer* s : *host_match_summarizers) { if(s->supportedString(le->hostname)) { return s; } } } if(code_match_summarizers != 0) { for(Summarizer* s : *code_match_summarizers) { if(s->supportedString(le->response_code)) { return s; } } } if(uri_match_summarizers != 0) { for(Summarizer* s : *uri_match_summarizers) { if(s->supportedString(le->path)) { return s; } } } return 0; } void Logstalgia::addStrings(LogEntry* le) { Summarizer* groupSummarizer = getGroupSummarizer(le); if(!groupSummarizer) return; std::string hostname = le->hostname; std::string pageurl = le->path; if(settings.hide_url_prefix) pageurl = filterURLHostname(pageurl); groupSummarizer->addString(pageurl); ipSummarizer->addString(hostname); } void Logstalgia::addBall(LogEntry* le, float start_offset) { //find appropriate summarizer for url Summarizer* groupSummarizer = getGroupSummarizer(le); if(!groupSummarizer) return; Paddle* entry_paddle = 0; if(settings.paddle_mode > PADDLE_SINGLE) { std::string paddle_token = (settings.paddle_mode == PADDLE_VHOST) ? le->vhost : le->pid; entry_paddle = paddles[paddle_token]; if(entry_paddle == 0) { vec2 paddle_pos = vec2(paddle_x - 20, rand() % display.height); Paddle* paddle = new Paddle(paddle_pos, paddle_colour, paddle_token, fontSmall); entry_paddle = paddles[paddle_token] = paddle; } } else { entry_paddle = paddles[""]; } std::string hostname = le->hostname; std::string pageurl = le->path; if(settings.hide_url_prefix) pageurl = filterURLHostname(pageurl); float dest_y = groupSummarizer->getMiddlePosY(pageurl); float pos_y = ipSummarizer->getMiddlePosY(hostname); float start_x = -(entry_paddle->getX() * settings.pitch_speed * start_offset); //debugLog("start_offset %.2f : start_x = %.2f (paddle_x %.2f, pitch_speed %.2f)", start_offset, start_x, entry_paddle->getX(), settings.pitch_speed); vec2 ball_start = vec2(start_x, pos_y); vec2 ball_dest = vec2(entry_paddle->getX(), dest_y); const std::string& match = ipSummarizer->getBestMatchStr(hostname); vec3 colour = groupSummarizer->isColoured() ? groupSummarizer->getColour() : colourHash(match); RequestBall* ball = new RequestBall(le, &fontMedium, balltex, colour, ball_start, ball_dest); balls.push_back(ball); } BaseLog* Logstalgia::getLog() { if(seeklog !=0) return seeklog; return streamlog; } void Logstalgia::readLog(int buffer_rows) { profile_start("readLog"); set_utc_tz(); int entries_read = 0; std::string linestr; BaseLog* baselog = getLog(); time_t read_timestamp = 0; while( baselog->getNextLine(linestr) ) { //trim whitespace if(linestr.size()>0) { size_t string_end = linestr.find_last_not_of(" \t\f\v\n\r"); if(string_end == std::string::npos) { linestr = ""; } else if(string_end != linestr.size()-1) { linestr = linestr.substr(0,string_end+1); } } LogEntry le; bool parsed_entry; //determine format if(accesslog==0) { //is this a recognized NCSA access log? NCSALog* ncsalog = new NCSALog(); if((parsed_entry = ncsalog->parseLine(linestr, le))) { accesslog = ncsalog; } else { delete ncsalog; } if(accesslog==0) { //is this a custom log? CustomAccessLog* customlog = new CustomAccessLog(); if((parsed_entry = customlog->parseLine(linestr, le))) { accesslog = customlog; } else { delete customlog; } } } else { if(!(parsed_entry = accesslog->parseLine(linestr, le))) { debugLog("error: could not read line %s\n", linestr.c_str()); } } if(parsed_entry) { if((!mintime || mintime <= le.timestamp) && (!settings.stop_time || settings.stop_time > le.timestamp)) { queued_entries.push_back(new LogEntry(le)); total_entries++; entries_read++; //read at least the buffered row count if specified //otherwise read all entries with the same time if(buffer_rows) { if(entries_read > buffer_rows) break; } else { if(read_timestamp && read_timestamp < le.timestamp) break; } read_timestamp = le.timestamp; } } } profile_stop(); unset_utc_tz(); if(queued_entries.empty() && seeklog != 0) { if(total_entries==0) { if(mintime != 0) { logstalgia_quit("could not parse any entries in the specified time period"); } else { logstalgia_quit("could not parse any entries"); } } //no more entries end_reached = true; return; } if(seeklog != 0) { float percent = seeklog->getPercent(); if(percent > settings.stop_position) { end_reached = true; return; } if(!settings.disable_progress) slider.setPercent(percent); } //set start time if currently 0 if(starttime==0 && !queued_entries.empty()) { starttime = queued_entries.front()->timestamp; currtime = 0; } } void Logstalgia::init() { ipSummarizer = new Summarizer(fontSmall, 100, 2.0f); ipSummarizer->setSize(2, 40, 0); reset(); readLog(); //add default groups if(summarizers.empty()) { //images - file is under images or addGroup("URI", "CSS", "(?i)\\.css\\b", 15); addGroup("URI", "Script", "(?i)\\.js\\b", 15); addGroup("URI", "Images", "(?i)/images/|\\.(jpe?g|gif|bmp|tga|ico|png)\\b", 20); } //always fill remaining space with Misc, (if there is some) if(remaining_space>50) { addGroup("URI", "Misc", ".*"); } resizeGroups(); SDL_ShowCursor(false); //set start position if(settings.start_position > 0.0 && settings.start_position < 1.0) { seekTo(settings.start_position); } // show slider so user knows its there unless recording if(frameExporter==0) slider.show(); } void Logstalgia::toggleFullscreen() { if(frameExporter != 0) return; texturemanager.unload(); shadermanager.unload(); fontmanager.unload(); //recreate gl context display.toggleFullscreen(); texturemanager.reload(); shadermanager.reload(); fontmanager.reload(); reinit(); } void Logstalgia::resize(int width, int height) { texturemanager.unload(); shadermanager.unload(); fontmanager.unload(); display.resize(width, height); texturemanager.reload(); shadermanager.reload(); fontmanager.reload(); reinit(); } void Logstalgia::toggleWindowFrame() { #if SDL_VERSION_ATLEAST(2,0,0) if(display.fullscreen) return; if(frameExporter != 0) return; texturemanager.unload(); shadermanager.unload(); fontmanager.unload(); display.toggleFrameless(); texturemanager.reload(); shadermanager.reload(); fontmanager.reload(); reinit(); #endif } void Logstalgia::reinit() { initPaddles(); initRequestBalls(); resizeGroups(); slider.resize(); } void Logstalgia::setBackground(vec3 background) { this->background = background; } void Logstalgia::setFrameExporter(FrameExporter* exporter) { int fixed_framerate = settings.output_framerate; int video_framerate = fixed_framerate; this->framecount = 0; this->frameskip = 0; //calculate appropriate tick rate for video frame rate while(fixed_framerate < 60) { fixed_framerate += video_framerate; this->frameskip++; } this->fixed_tick_rate = 1.0f / ((float) fixed_framerate); this->frameExporter = exporter; } void Logstalgia::update(float t, float dt) { //if exporting a video use a fixed tick rate rather than time based if(frameExporter != 0) { dt = fixed_tick_rate; } //have to manage runtime internally as we're messing with dt runtime += dt; logic(runtime, dt); draw(runtime, dt); //extract frames based on frameskip setting //if frameExporter defined if(frameExporter != 0) { if(framecount % (frameskip+1) == 0) { frameExporter->dump(); } } framecount++; } RequestBall* Logstalgia::findNearest(Paddle* paddle, const std::string& paddle_token) { float min_arrival = -1.0f; RequestBall* nearest = 0; for(RequestBall* ball: balls) { //special case if failed response code if(!ball->le->successful) { continue; } if(ball->le->successful && !ball->hasBounced() && ( (settings.paddle_mode <= PADDLE_SINGLE) || (settings.paddle_mode == PADDLE_VHOST && ball->le->vhost == paddle_token) || (settings.paddle_mode == PADDLE_PID && ball->le->pid == paddle_token) ) ) { float arrival = ball->arrivalTime(); if(min_arrival<0.0f || arrivalle->path; std::string host = ball->le->hostname; for(Summarizer* s: summarizers) { if(s->supportedString(url)) { if(settings.hide_url_prefix) url = filterURLHostname(url); s->removeString(url); break; } } ipSummarizer->removeString(host); delete ball; } void Logstalgia::logic(float t, float dt) { float sdt = dt * settings.simulation_speed; //increment clock elapsed_time += sdt; currtime = starttime + (long)(elapsed_time); if(settings.stop_time && currtime > settings.stop_time) { currtime = settings.stop_time; } if(mousehide_timeout>0.0f) { mousehide_timeout -= dt; if(mousehide_timeout<0.0f) { SDL_ShowCursor(false); } } infowindow.hide(); if(end_reached && balls.empty()) { appFinished = true; return; } //if paused, dont move anything, only check what is under mouse if(paused) { for(auto& it: paddles) { Paddle* paddle = it.second; if(paddle->mouseOver(infowindow, mousepos)) { break; } } for(RequestBall* ball : balls) { if(ball->mouseOver(infowindow, mousepos)) { break; } } if(!ipSummarizer->mouseOver(infowindow,mousepos)) { for(Summarizer* s: summarizers) { if(s->mouseOver(infowindow, mousepos)) break; } } return; } //next will fast forward clock to the time of the next entry, //if the next entry is in the future if(next || (!settings.disable_auto_skip && balls.empty())) { if(!queued_entries.empty()) { LogEntry* le = queued_entries.front(); long entrytime = le->timestamp; if(entrytime > currtime) { elapsed_time = entrytime - starttime; currtime = starttime + (long)(elapsed_time); } } next = false; } //recalc spawn speed each second by if(currtime != lasttime) { //dont bother reading the log if we dont need to if(queued_entries.empty() || queued_entries.back()->timestamp <= currtime) { readLog(); } profile_start("determine new entries"); int items_to_spawn=0; for(LogEntry* le : queued_entries) { if(le->timestamp > currtime) break; items_to_spawn++; addStrings(le); } profile_stop(); //debugLog("items to spawn %d\n", items_to_spawn); if(items_to_spawn > 0) { profile_start("add new strings"); //re-summarize ipSummarizer->summarize(); for(Summarizer* s : summarizers) { s->summarize(); } profile_stop(); profile_start("add new entries"); float item_offset = 1.0 / (float) (items_to_spawn); int item_no = 0; while(!queued_entries.empty()) { LogEntry* le = queued_entries.front(); if(le->timestamp > currtime) break; float pos_offset = item_offset * (float) item_no++; float start_offset = std::min(1.0f, pos_offset); addBall(le, start_offset); queued_entries.pop_front(); } } //update date if(total_entries>0) { char datestr[256]; char timestr[256]; struct tm* timeinfo = localtime ( &currtime ); strftime(datestr, 256, "%A, %B %d, %Y", timeinfo); strftime(timestr, 256, "%X", timeinfo); displaydate = datestr; displaytime = timestr; } else { displaydate = ""; displaytime = ""; } lasttime=currtime; profile_stop(); } else { //do small reads per frame if we havent buffered the next second if(queued_entries.empty() || queued_entries.back()->timestamp <= currtime+1) { readLog(50); } } std::list inactivePaddles; //update paddles for(auto& it: paddles) { std::string paddle_token = it.first; Paddle* paddle = it.second; if(settings.paddle_mode > PADDLE_SINGLE && !paddle->moving() && !paddle->visible()) { bool token_match = false; //are there any requests that will match this paddle? for(RequestBall* ball : balls) { if( (settings.paddle_mode == PADDLE_VHOST && ball->le->vhost == paddle_token) || (settings.paddle_mode == PADDLE_PID && ball->le->pid == paddle_token)) { token_match = true; break; } } //mark this paddle for deletion, continue if(!token_match) { inactivePaddles.push_back(paddle); continue; } } // find nearest ball to this paddle if( (retarget || !paddle->getTarget())) { RequestBall* ball = findNearest(paddle, paddle_token); if(ball != 0) { paddle->setTarget(ball); } else if(!paddle->moving()) { paddle->setTarget(0); } } paddle->logic(sdt); } retarget = false; profile_start("check ball status"); // NOTE: special handling for this iterator as items are being removed for(auto it = balls.begin(); it != balls.end();) { RequestBall* ball = *it; highscore += ball->logic(sdt); if(ball->isFinished()) { it = balls.erase(it); removeBall(ball); } else { it++; } } profile_stop(); profile_start("ipSummarizer logic"); ipSummarizer->logic(dt); profile_stop(); profile_start("updateGroups logic"); updateGroups(dt); profile_stop(); screen_blank_elapsed += dt; if(screen_blank_elapsed-screen_blank_interval > screen_blank_period) screen_blank_elapsed = 0.0f; //update font alpha font_alpha = 1.0f; if(screen_blank_elapsed>screen_blank_interval) { font_alpha = std::min(1.0f, (float) fabs(1.0f - (screen_blank_elapsed-screen_blank_interval)/(screen_blank_period*0.5))); font_alpha *= font_alpha; } } void Logstalgia::addGroup(const std::string& groupstr) { std::vector group_definition; Regex groupregex("^([^,]+),(?:(HOST|CODE|URI)=)?([^,]+),([^,]+)(?:,([^,]+))?$"); groupregex.match(groupstr, &group_definition); vec3 colour(0.0f, 0.0f, 0.0f); if(group_definition.size()>=4) { std::string group_name = group_definition[0]; std::string group_type = group_definition[1]; std::string group_regex = group_definition[2]; if(group_type.empty()) group_type = "URI"; debugLog("group_name %s group_type %s group_regex %s", group_name.c_str(), group_type.c_str(), group_regex.c_str()); int percent = atoi(group_definition[3].c_str()); // TODO: allow ommiting percent, if percent == 0, divide up remaining space amoung groups with no percent //check for optional colour param if(group_definition.size()>=5) { int col; int r, g, b; if(sscanf(group_definition[4].c_str(), "%02x%02x%02x", &r, &g, &b) == 3) { colour = vec3( r, g, b ); debugLog("r = %d, g = %d, b = %d\n", r, g, b); colour /= 255.0f; } } addGroup(group_type, group_name, group_regex, percent, colour); } } void Logstalgia::addGroup(const std::string& group_by, const std::string& grouptitle, const std::string& groupregex, int percent, vec3 colour) { if(percent<0) return; int remaining_percent = (int) ( ((float) remaining_space/total_space) * 100); if(remaining_percent<=0) return; if(!percent || percent > remaining_percent) { percent = remaining_percent; } Summarizer* summarizer = 0; try { summarizer = new Summarizer(fontSmall, percent, settings.update_rate, groupregex, grouptitle); } catch(RegexCompilationException& e) { throw SDLAppException("invalid regular expression for group '%s'", grouptitle.c_str()); } if(glm::dot(colour, colour) > 0.01f) { summarizer->setColour(colour); } if(!summarizer_types[group_by]) { summarizer_types[group_by] = new std::vector(); } summarizers.push_back(summarizer); summarizer_types[group_by]->push_back(summarizer); int space = (int) ( ((float)percent/100) * total_space ); remaining_space -= space; } void Logstalgia::resizeGroups() { total_space = display.height - 40; remaining_space = total_space - 2; for(Summarizer* s : summarizers) { int remaining_percent = (int) ( ((float) remaining_space/total_space) * 100); int percent = s->getScreenPercent(); // TODO: do something here ? flag as hidden ? //group->setVisible( remaining_percent >= percent ); int top_gap = total_space - remaining_space; int space = (int) ( ((float)percent/100) * total_space ); int bottom_gap = display.height - (total_space - remaining_space + space); s->setSize(paddle_x, top_gap, bottom_gap); remaining_space -= space; } } void Logstalgia::updateGroups(float dt) { for(Summarizer* s : summarizers) { s->logic(dt); } } void Logstalgia::drawGroups(float dt, float alpha) { for(Summarizer* s : summarizers) { s->draw(dt, alpha); } } void Logstalgia::draw(float t, float dt) { if(appFinished) return; if(!settings.disable_progress) slider.logic(dt); display.setClearColour(background); display.clear(); glDisable(GL_FOG); display.mode2D(); glDisable(GL_DEPTH_TEST); glDisable(GL_CULL_FACE); glDisable(GL_LIGHTING); profile_start("draw ip summarizer"); ipSummarizer->draw(dt, font_alpha); profile_stop(); profile_start("draw groups"); drawGroups(dt, font_alpha); profile_stop(); profile_start("draw balls"); glEnable(GL_BLEND); glEnable(GL_TEXTURE_2D); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glBindTexture(GL_TEXTURE_2D, balltex->textureid); for(RequestBall* ball : balls) { ball->draw(); } profile_stop(); profile_start("draw response codes"); for(std::list::iterator it = balls.begin(); it != balls.end(); it++) { RequestBall* r = *it; if(!settings.hide_response_code && r->hasBounced()) { r->drawResponseCode(); } } profile_stop(); glDisable(GL_TEXTURE_2D); glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glEnable(GL_BLEND); if(settings.paddle_mode != PADDLE_NONE) { //draw paddles shadows for(auto& it: paddles) { it.second->drawShadow(); } //draw paddles for(auto& it: paddles) { it.second->draw(); } } if(settings.paddle_mode > PADDLE_SINGLE && !settings.hide_paddle_tokens) { glEnable(GL_TEXTURE_2D); //draw paddle tokens for(auto& it: paddles) { it.second->drawToken(); } } if(!settings.disable_glow) { glBlendFunc (GL_ONE, GL_ONE); glEnable(GL_BLEND); glEnable(GL_TEXTURE_2D); glBindTexture(GL_TEXTURE_2D, glowtex->textureid); for(std::list::iterator it = balls.begin(); it != balls.end(); it++) { (*it)->drawGlow(); } } infowindow.draw(); glEnable(GL_BLEND); glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glEnable(GL_TEXTURE_2D); if(settings.splash > 0.0f) { int logowidth = fontLarge.getWidth("Logstalgia"); int logoheight = 105; int cwidth = fontMedium.getWidth("Website Access Log Viewer"); int awidth = fontMedium.getWidth("(C) 2008 Andrew Caudwell"); vec2 corner(display.width/2 - logowidth/2 - 30.0f, display.height/2 - 45); float logo_alpha = std::min(1.0f, settings.splash/3.0f); float logo_bg = std::min(0.2f, settings.splash/10.0f); glDisable(GL_TEXTURE_2D); glColor4f(0.0f, 0.5f, 1.0f, logo_bg); glBegin(GL_QUADS); glVertex2f(0.0f, corner.y); glVertex2f(0.0f, corner.y + logoheight); glVertex2f(display.width, corner.y + logoheight); glVertex2f(display.width, corner.y); glEnd(); glEnable(GL_TEXTURE_2D); fontLarge.alignTop(true); fontLarge.dropShadow(true); fontLarge.setColour(vec4(1.0f,1.0f,1.0f,logo_alpha)); fontLarge.draw(display.width/2 - logowidth/2,display.height/2 - 30, "Logstalgia"); fontLarge.setColour(vec4(0.0f,1.0f,1.0f,logo_alpha)); fontLarge.draw(display.width/2 - logowidth/2,display.height/2 - 30, "Log"); fontMedium.setColour(vec4(1.0f,1.0f,1.0f,logo_alpha)); fontMedium.draw(display.width/2 - cwidth/2,display.height/2 + 17, "Website Access Log Viewer"); fontMedium.draw(display.width/2 - awidth/2,display.height/2 + 37, "(C) 2008 Andrew Caudwell"); settings.splash -= dt; } fontMedium.setColour(vec4(1.0f,1.0f,1.0f,font_alpha)); if(info) { fontMedium.print(2,2, "FPS %d", (int) fps); fontMedium.print(2,19,"Balls: %d", balls.size()); fontMedium.print(2,36,"Queue: %d", queued_entries.size()); fontMedium.print(2,53,"Paddles: %d", paddles.size()); fontMedium.print(2,70,"Simulation Speed: %.2f", settings.simulation_speed); fontMedium.print(2,87,"Pitch Speed: %.2f", settings.pitch_speed); } else { fontMedium.draw(2,2, displaydate.c_str()); fontMedium.draw(2,19, displaytime.c_str()); } fontLarge.setColour(vec4(1.0f,1.0f,1.0f,font_alpha)); int counter_width = fontLarge.getWidth("00000000"); fontLarge.alignTop(false); fontLarge.print(display.width-10-counter_width,display.height-10, "%08d", highscore); if(!settings.disable_progress) slider.draw(dt); if(take_screenshot) { screenshot(); take_screenshot = false; } if(!message.empty() && message_timer > 0.0f) { fontMedium.setColour(vec4(1.0)); int mwidth = fontMedium.getWidth(message); fontMedium.draw(display.width/2 - mwidth/2, display.height - fontMedium.getMaxHeight() - 2, message); message_timer -= dt; } } logstalgia-1.0.7/src/custom.cpp0000644000203100020310000000361312611522305016264 0ustar andrewcandrewc#include "custom.h" #include "core/regex.h" //timestamp //hostname //path //response_code //response_size //success (1|0) //response_colour //referrer //user_agent //virtual_host //pid Regex custom_entry("^([^|]*)\\|([^|]*)\\|([^|]*)\\|([^|]*)\\|([^|]*)(?:\\|([^|]*))?(?:\\|#?([^|]*))?(?:\\|([^|]*))?(?:\\|([^|]*))?(?:\\|([^|]*))?(?:\\|([^|]*))?$"); CustomAccessLog::CustomAccessLog() { } bool CustomAccessLog::parseLine(std::string& line, LogEntry& entry) { std::vector matches; if(!custom_entry.match(line, &matches)) return false; entry.timestamp = atol(matches[0].c_str()); entry.hostname = matches[1]; entry.path = matches[2]; entry.response_code = matches[3]; entry.response_size = atol(matches[4].c_str()); //optional fields //success 1 or 0 if(matches.size() > 5) { std::string success = matches[5]; if(success.empty() || (success.size()==1 && success[0] == ' ')) { entry.setSuccess(); } else { entry.successful = atoi(success.c_str())==1 ? true : false; } } else entry.setSuccess(); //response colour if(matches.size()>6) { std::string colour = matches[6]; int r, g, b; if(colour.size()>0 && sscanf(colour.c_str(), "%02x%02x%02x", &r, &g, &b) == 3) { entry.response_colour = vec3( r, g, b ); entry.response_colour /= 255.0f; } else { entry.setResponseColour(); } } else entry.setResponseColour(); //referrer if(matches.size()>7) { entry.referrer = matches[7]; } //user agent if(matches.size()>8) { entry.user_agent = matches[8]; } //vhost if(matches.size()>9) { entry.vhost = matches[9]; } //pid or some other identifier if(matches.size()>10) { entry.pid = matches[10]; } return entry.validate(); } logstalgia-1.0.7/src/logentry.h0000644000203100020310000000262212611522305016261 0ustar andrewcandrewc/* Copyright (C) 2008 Andrew Caudwell (acaudwell@gmail.com) 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 . */ #ifndef LOGENTRY_H #define LOGENTRY_H #include "core/vectors.h" #include class LogEntry { private: std::string maskHostname(const std::string& hostname); public: LogEntry(); bool validate(); void setSuccess(); void setResponseColour(); time_t timestamp; std::string hostname; std::string vhost; std::string path; std::string pid; std::string response_code; long response_size; std::string referrer; std::string user_agent; vec3 response_colour; bool successful; }; class AccessLog { public: AccessLog(); virtual ~AccessLog() {}; virtual bool parseLine(std::string& line, LogEntry& entry) = 0; }; #endif logstalgia-1.0.7/src/ncsa.cpp0000644000203100020310000001146412611522305015701 0ustar andrewcandrewc/* Copyright (C) 2010 Andrew Caudwell (acaudwell@gmail.com) 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 . */ #include "ncsa.h" #include "core/regex.h" #include const char* ls_ncsa_months[] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug" , "Sep", "Oct", "Nov", "Dec" }; Regex ls_ncsa_entry_start("^(?:([^ ]+) )?([^ ]+) +[^ ]+ +([^ ]+) +\\[(.*?)\\] +(.*)$"); Regex ls_ncsa_entry_date("(\\d+)/(\\d+|[A-Za-z]+)/(\\d+):(\\d+):(\\d+):(\\d+) ([+-])(\\d+)"); Regex ls_ncsa_entry_request("\"(?:([^ ]+) +([^ ]+) +([^ ]+)|(?:[^\"]*))\" +([^ ]+) +([^\\s+]+)(.*)"); Regex ls_ncsa_entry_agent("(?: +\"([^\"]+)\" +\"([^\"]+)\")?( .+)?"); Regex ls_ncsa_extra_field("^ +(\"[^\"]*\"|[^ ]+)"); NCSALog::NCSALog() { } //parse NCSA format access.log entry into components bool NCSALog::parseLine(std::string& line, LogEntry& entry) { std::vector matches; ls_ncsa_entry_start.match(line, &matches); if(matches.size()!=5) { return 0; } //get details entry.vhost = matches[0]; entry.hostname = matches[1]; //entry.username = matches[1]; //parse timestamp struct tm time_str; int day, month, year, hour, minute, second; std::string request_str = matches[4]; std::string datestr = matches[3]; matches.clear(); ls_ncsa_entry_date.match(datestr, &matches); if(matches.size()!=8) { return 0; } day = atoi(matches[0].c_str()); month = atoi(matches[1].c_str()); year = atoi(matches[2].c_str()); hour = atoi(matches[3].c_str()); minute = atoi(matches[4].c_str()); second = atoi(matches[5].c_str()); if(month) { month--; } else { //parse non numeric month for(int i=0;i<12;i++) { if(strcmp(matches[1].c_str(), ls_ncsa_months[i])==0) { month=i; break; } } } //could not parse month (range 0-11 as used by mktime) if(month<0 || month>11) return 0; //convert zone to utc offset int tz_hour = atoi(matches[7].substr(0,2).c_str()); int tz_min = atoi(matches[7].substr(2,2).c_str()); int tz_offset = tz_hour * 3600 + tz_min * 60; if(matches[6] == "-") { tz_offset = -tz_offset; } time_str.tm_year = year - 1900; time_str.tm_mon = month; time_str.tm_mday = day; time_str.tm_hour = hour; time_str.tm_min = minute; time_str.tm_sec = second; time_str.tm_isdst = -1; entry.timestamp = mktime(&time_str); //apply utc offset entry.timestamp -= tz_offset; matches.clear(); ls_ncsa_entry_request.match(request_str, &matches); if(matches.size() < 5) { return 0; } // entry.method = matches[0]; entry.path = (!matches[1].empty()) ? matches[1] : "???"; // entry.protocol = matches[2]; entry.response_code = matches[3]; entry.response_size = atol(matches[4].c_str()); if(matches.size() > 5) { std::string agentstr = matches[5]; matches.clear(); ls_ncsa_entry_agent.match(agentstr, &matches); if(matches.size()==3) { entry.referrer = matches[0]; entry.user_agent = matches[1]; std::string extra = matches[2]; // NOTE: could store extra fields and allow --paddle-mode to address then via their offset if(!extra.empty()) { std::vector extra_fields; if(ls_ncsa_extra_field.matchAll(extra, &extra_fields)) { // for(size_t i=0;i=2 && entry.pid[0] == '"' && entry.pid[entry.pid.size()-1] == '"') { entry.pid = entry.pid.substr(1, entry.pid.size()-2); } } } } } } //successful if response code less than 400 int code = atoi(entry.response_code.c_str()); entry.setSuccess(); entry.setResponseColour(); return entry.validate(); } logstalgia-1.0.7/src/summarizer.h0000644000203100020310000000746512611522305016626 0ustar andrewcandrewc/* Copyright (C) 2008 Andrew Caudwell (acaudwell@gmail.com) 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 . */ #ifndef SUMMARIZER_H #define SUMMARIZER_H #include "core/stringhash.h" #include "core/fxfont.h" #include "core/regex.h" #include "textarea.h" extern const char* summ_wildcard; class SummNode; class SummUnit { public: SummNode* source; int words; int refs; std::string str; bool truncated; bool exceptions; std::vector expanded; void prependChar(char c); void buildSummary(); SummUnit(); SummUnit(SummNode* source, bool truncated = false, bool exceptions = false); }; class SummNode { public: SummNode* parent; SummNode(); SummNode(const std::string& str, size_t offset, SummNode* parent); char c; int words; int refs; bool is_root; std::vector children; std::vector exception; void debug(int indent = 0); bool addWord(const std::string& str, size_t offset); bool removeWord(const std::string& str, size_t offset); void expand(std::string prefix, std::vector& expansion, bool exceptions); int summarize(std::vector& strvec, int no_words); }; class SummItem { vec2 dest; vec2 oldpos; bool moving; float elapsed; float eta; float target_x; vec3* icol; bool showcount; FXFont font; public: bool departing; bool destroy; std::string displaystr; int width; SummUnit unit; vec4 colour; vec2 pos; void setDest(const vec2& dest); void setPos(const vec2& pos); void setDeparting(bool departing); void logic(float dt); void draw(float alpha); void updateUnit(SummUnit& unit); SummItem(SummUnit unit, float target_x, vec3* icol, FXFont font, bool showcount); }; class Summarizer { std::vector strings; std::vector items; SummNode root; vec3* item_colour; float pos_x; int max_strings; int font_gap; FXFont font; bool showcount; bool right; bool mouseover; bool changed; float incrementf; float top_gap, bottom_gap; float refresh_delay; float refresh_elapsed; int screen_percent; std::string title; Regex matchre; public: Summarizer(FXFont font, int percent, float refresh_delay = 2.0f, std::string matchstr = ".*", std::string title=""); ~Summarizer(); void setSize(int x, float top_gap, float bottom_gap); int getScreenPercent(); bool mouseOver(TextArea& textarea, vec2 mouse); void mouseOut(); bool isColoured(); void showCount(bool showcount); void setColour(vec3 col); vec3 getColour(); bool supportedString(const std::string& str); void removeString(const std::string& str); void addString(const std::string& str); const std::string& getBestMatchStr(const std::string& str) const; int getBestMatchIndex(const std::string& str) const; float getPosY(const std::string& str) const; float getMiddlePosY(const std::string& str) const; float calcPosY(int i) const; void summarize(); void recalc_display(); void logic(float dt); void draw(float dt, float alpha); }; #endif logstalgia-1.0.7/src/logentry.cpp0000644000203100020310000000742112611522305016616 0ustar andrewcandrewc/* Copyright (C) 2008 Andrew Caudwell (acaudwell@gmail.com) 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 . */ #include "logentry.h" #include "settings.h" #include "core/regex.h" #include //AccessLog AccessLog::AccessLog() { } //LogEntry LogEntry::LogEntry() { timestamp = 0; response_size = 0; successful = false; response_colour = vec3(1.0, 0.0, 0.0); } Regex logentry_ipv6("(?i)^[a-f0-9:]+$"); Regex logentry_hostname_parts("([^.]+)(?:\\.([^.]+))?(?:\\.([^.]+))?(?:\\.([^.]+))?(?:\\.([^.]+))?(?:\\.([^.]+))?(?:\\.([^.]+))?(?:\\.([^.]+))?$"); std::string LogEntry::maskHostname(const std::string& hostname) { std::vector parts; // could be an ipv6 address if(logentry_ipv6.match(hostname) && hostname.find(":") != std::string::npos) { size_t c = 0; size_t last = hostname.size(); size_t colon_count = std::count(hostname.begin(), hostname.end(), ':'); size_t padding = 7 - colon_count; if(colon_count <= 7) { size_t previous = 0; while( (last = hostname.rfind(":",last-1)) != std::string::npos) { c++; if(last == (previous-1)) c += padding; if(c >= 4) { std::string output = hostname.substr(0, last); output += '-'; return output; } previous = last; } } } logentry_hostname_parts.match(hostname, &parts); size_t part_count = parts.size(); //if only 1-2 parts, or 3 parts and a 2 character suffix, pass through unchanged if( part_count <= 2 || (part_count == 3 && parts[part_count-1].size()==2)) return hostname; int num = atoi(parts[part_count-1].c_str()); std::string output; //if last element is numeric, assume it is a numbered ip address //(ie 192.168.0.1 => 192.168.0-) if(num != 0) { for(size_t i=0;i0) output += '.'; output += parts[i]; } output += '-'; return output; } //hide the first element //(ie dhcp113.web.com -> web.com for(size_t i=1;i1) output += '.'; output += parts[i]; } return output; } void LogEntry::setSuccess() { int code = atoi(response_code.c_str()); successful = (code<400) ? true : false; } void LogEntry::setResponseColour() { int code = atoi(response_code.c_str()); //set response colour if(code<200) { response_colour = vec3(0.0f, 1.0f, 0.5f); } else if(code>= 200 && code < 300) { response_colour = vec3(1.0f, 1.0f, 0.0f); } else if(code>= 300 && code < 400) { response_colour = vec3(1.0f, 0.5f, 0.0f); } else { response_colour = vec3(1.0f, 0.0f, 0.0f); } } bool LogEntry::validate() { if(pid == "-") pid = ""; if(referrer == "-") referrer = ""; if(hostname.empty()) return false; if(settings.mask_hostnames) { hostname = maskHostname(hostname); } if(path.empty()) return false; if(timestamp == 0) return false; return true; } logstalgia-1.0.7/src/paddle.h0000644000203100020310000000313612611522305015650 0ustar andrewcandrewc/* Copyright (C) 2008 Andrew Caudwell (acaudwell@gmail.com) 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 . */ #ifndef PADDLE_H #define PADDLE_H #include "textarea.h" #include "core/fxfont.h" #include "core/vectors.h" class RequestBall; class Paddle { protected: vec2 pos; RequestBall* target; std::string token; vec3 token_colour; vec4 default_colour; vec4 proc_colour; vec4 colour; vec4 lastcol; vec4 nextcol; int width, height; int start_y; int dest_y; float dest_eta; float dest_elapsed; FXFont font; public: Paddle(vec2 pos, vec4 colour, std::string token, FXFont font); ~Paddle(); void moveTo(int y, float eta, vec4 nextcol); bool moving(); bool visible(); void setTarget(RequestBall* target); RequestBall* getTarget(); void logic(float dt); bool mouseOver(TextArea& textarea, vec2& mouse); void drawToken(); void drawShadow(); void draw(); float getX(); float getY(); }; #endif logstalgia-1.0.7/src/ball.cpp0000644000203100020310000001255012611522305015664 0ustar andrewcandrewc/* Copyright (C) 2008 Andrew Caudwell (acaudwell@gmail.com) 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 . */ #include "ball.h" #include "settings.h" #include "core/display.h" //Line Line::Line(vec2 start, vec2 end) { this->start = start; this->end = end; } Line::~Line() { } // check if line intersects the plane of another line bool Line::intersects(Line& l, vec2 *p) { vec2 a = end - start; vec2 b = l.end - l.start; float d = a.x*b.y - a.y * b.x; //parallel test if (!d) return false; vec2 w = start - l.start; //check if outside either line segment float s = b.x * w.y - b.y * w.x; float sd = s/d; if (sd < 0.0f || sd > 1.0f) return false; float t = a.x * w.y - a.y * w.x; float td = t/d; if (td < 0.0f || td > 1.0f) return false; //calculate intersect if(p != 0) *p = a * sd + start; return true; } //Projected Ball ProjectedBall::ProjectedBall() { } ProjectedBall::ProjectedBall(const vec2& pos, const vec2& vel, const vec3& colour, int dest_x, float size) { init(pos, vel, colour, dest_x, size); } void ProjectedBall::init(const vec2& pos, const vec2& vel, const vec3& colour, int dest_x, float size) { this->pos = pos; this->vel = vel; this->colour = colour; this->size = size; this->dest_x = dest_x; start_x = (int) pos.x; has_bounced=0; no_bounce = 0; project(); } ProjectedBall::~ProjectedBall() { } /*project path of the ball as a series of line segments */ void ProjectedBall::project() { distance_travelled = 0.0f; total_distance = 0.0f; points.clear(); vec2 p = pos; points.push_back(p); //project current position and direction until it hits a wall or crosses dest_x Line finish(vec2(dest_x, 0), vec2(dest_x, display.height)); Line top(vec2(0,0), vec2(display.width, 0)); Line bottom(vec2(0,display.height), vec2(display.width, display.height)); //project far enough to cross a side of the screen float inc = display.width*2.0f; bool finished=false; vec2 currvel = vel; line_lengths.clear(); while(!finished) { Line proj(p, p + currvel*inc); /* debugLog("proj = (%.2f, %.2f), (%.2f, %.2f)\n", proj.start.x, proj.start.y, proj.end.x, proj.end.y); debugLog("finish = (%.2f, %.2f), (%.2f, %.2f)\n", finish.start.x, finish.start.y, finish.end.x, finish.end.y); debugLog("top = (%.2f, %.2f), (%.2f, %.2f)\n", top.start.x, top.start.y, top.end.x, top.end.y); debugLog("bottom = (%.2f, %.2f), (%.2f, %.2f)\n", bottom.start.x, bottom.start.y, bottom.end.x, bottom.end.y); */ vec2 intersect; //find nearest intersected plane if(proj.intersects(finish, &intersect)) { finished=true; } else if(proj.intersects(bottom, &intersect)) { currvel.y = -currvel.y; intersect.y -= 1.0f; } else if(proj.intersects(top, &intersect)) { currvel.y = -currvel.y; intersect.y += 1.0f; } else { break; } float line_length = glm::length(intersect-p); p = intersect; points.push_back(intersect); line_lengths.push_back(line_length); total_distance += line_length; } } bool ProjectedBall::isFinished() const { return has_bounced && distance_travelled >= total_distance; } void ProjectedBall::bounce() { if(has_bounced) return; pos = finish(); if(!no_bounce) { vel.x = -vel.x; dest_x = 0; } else { dest_x = display.width; } project(); has_bounced=true; } float ProjectedBall::arrivalTime() { return (total_distance-distance_travelled) / (settings.pitch_speed * (float) display.width); } float ProjectedBall::getProgress() const { return (distance_travelled/total_distance); } void ProjectedBall::dontBounce() { no_bounce=1; } void ProjectedBall::logic(float dt) { distance_travelled += dt * settings.pitch_speed * (float) display.width; if(distance_travelled >= total_distance) { if(!has_bounced) { bounce(); } return; } //number of lines int nolines = points.size()-1; int pointno = 0; float len=0; while(pointno=nolines) { if(!has_bounced) { bounce(); return; } return; } vec2 from = points[pointno]; vec2 to = points[pointno+1]; float linepos = (distance_travelled - len)/line_lengths[pointno]; this->pos = from + ((to-from)*linepos); } vec2 ProjectedBall::finish() { return points[points.size()-1]; } float ProjectedBall::getX() { return pos.x; } logstalgia-1.0.7/src/logstalgia.h0000644000203100020310000001007312611522305016543 0ustar andrewcandrewc/* Copyright (C) 2008 Andrew Caudwell (acaudwell@gmail.com) 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 . */ #ifndef LOGSTALGIA_H #define LOGSTALGIA_H #include "core/sdlapp.h" #include "core/fxfont.h" #include "core/seeklog.h" #include "core/ppm.h" #include "logentry.h" #include "paddle.h" #include "requestball.h" #include "summarizer.h" #include "textarea.h" #include "slider.h" #include #include #include #include #include class Logstalgia : public SDLApp { std::map paddles; std::string logfile; std::string displaydate; std::string displaytime; bool info; bool paused; bool retarget; bool next; bool sync; bool end_reached; bool take_screenshot; int highscore; time_t mintime; time_t starttime; time_t currtime; time_t lasttime; float screen_blank_interval; float screen_blank_period; float screen_blank_elapsed; float font_alpha; double elapsed_time; float simu_speed; float update_rate; float spawn_delay; float spawn_speed; std::string message; float message_timer; int total_space; int remaining_space; int total_entries; vec3 background; vec4 paddle_colour; float paddle_x; TextureResource* balltex; TextureResource* glowtex; float mousehide_timeout; vec2 mousepos; RequestBall* paddle_target; FXFont fontSmall; FXFont fontMedium; FXFont fontLarge; FXFont fontBall; Summarizer* ipSummarizer; std::vector summarizers; std::map*> summarizer_types; PositionSlider slider; AccessLog* accesslog; SeekLog* seeklog; StreamLog* streamlog; std::list queued_entries; std::list balls; TextArea infowindow; float time_scale; float runtime; float fixed_tick_rate; int framecount; int frameskip; FrameExporter* frameExporter; std::string filterURLHostname(const std::string& hostname); std::string dateAtPosition(float percent); void seekTo(float percent); void readLog(int buffer_rows = 0); RequestBall* findNearest(Paddle* paddle, const std::string& paddle_token); void updateGroups(float dt); void drawGroups(float dt, float alpha); Summarizer* getGroupSummarizer(LogEntry* le); void addStrings(LogEntry* le); void addBall(LogEntry* le, float start_offset); void removeBall(RequestBall* ball); void addGroup(const std::string& group_by, const std::string& grouptitle, const std::string& groupregex, int percent = 0, vec3 colour = vec3(0.0f, 0.0f, 0.0f)); void togglePause(); BaseLog* getLog(); void reset(); void reinit(); void initPaddles(); void initRequestBalls(); void resizeGroups(); void setMessage(const char* str, ...); void screenshot(); void toggleFullscreen(); void logic(float t, float dt); void draw(float t, float dt); public: Logstalgia(const std::string& logfile); ~Logstalgia(); void addGroup(const std::string& groupstr); void setFrameExporter(FrameExporter* exporter); void setBackground(vec3 background); void resize(int width, int height); void toggleWindowFrame(); //inherited methods void init(); void update(float t, float dt); void keyPress(SDL_KeyboardEvent *e); void mouseMove(SDL_MouseMotionEvent *e); void mouseClick(SDL_MouseButtonEvent *e); }; #endif logstalgia-1.0.7/src/textarea.h0000644000203100020310000000245412611522305016236 0ustar andrewcandrewc/* Copyright (C) 2008 Andrew Caudwell (acaudwell@gmail.com) 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 . */ #ifndef TEXTAREA_H #define TEXTAREA_H #include #include #include "core/display.h" #include "core/vectors.h" #include "core/fxfont.h" class TextArea { vec3 colour; vec2 corner; std::vector content; FXFont font; int rectwidth; int rectheight; bool visible; public: TextArea(); TextArea(FXFont font); TextArea(std::vector& content, FXFont font, vec3 colour); void hide(); void setText(std::vector& content); void setPos(vec2 pos); void setColour(vec3 colour); void draw(); }; #endif logstalgia-1.0.7/src/settings.h0000644000203100020310000000405712611522305016262 0ustar andrewcandrewc/* Copyright (C) 2013 Andrew Caudwell (acaudwell@gmail.com) 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 . */ #ifndef LOGSTALGIA_SETTINGS_H #define LOGSTALGIA_SETTINGS_H #define LOGSTALGIA_VERSION "1.0.7" #include "core/settings.h" #define PADDLE_NONE 0 #define PADDLE_SINGLE 1 #define PADDLE_PID 2 #define PADDLE_VHOST 3 class LogstalgiaSettings : public SDLAppSettings { protected: void commandLineOption(const std::string& name, const std::string& value); public: int log_level; bool ffp; std::string path; std::vector groups; std::string load_config; std::string save_config; time_t start_time; time_t stop_time; float splash; float simulation_speed; float pitch_speed; float update_rate; int paddle_mode; float paddle_position; float start_position; float stop_position; bool sync; bool hide_response_code; bool hide_url_prefix; bool hide_paddle; bool hide_paddle_tokens; bool no_bounce; bool disable_auto_skip; bool disable_progress; bool disable_glow; bool mask_hostnames; vec3 background_colour; float glow_intensity; float glow_multiplier; float glow_duration; int font_size; LogstalgiaSettings(); void setLogstalgiaDefaults(); void importLogstalgiaSettings(ConfFile& conf, ConfSection* settings = 0); void help(bool extended_help=false); }; extern LogstalgiaSettings settings; #endif logstalgia-1.0.7/src/requestball.cpp0000644000203100020310000001111212611522305017266 0ustar andrewcandrewc/* Copyright (C) 2008 Andrew Caudwell (acaudwell@gmail.com) 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 . */ #include "requestball.h" #include "settings.h" RequestBall::RequestBall(LogEntry* le, FXFont* font, TextureResource* tex, const vec3& colour, const vec2& pos, const vec2& dest) { this->le = le; this->tex = tex; this->font = font; vec2 vel = glm::normalize(dest - pos); int bytes = le->response_size; float size = log((float)bytes) + 1.0f; if(size<5.0f) size = 5.0f; ProjectedBall::init(pos, vel, colour, (int)dest.x, size); start = pos; this->dest = finish(); if(!le->successful) dontBounce(); float halfsize = size * 0.5f; offset = vec2(halfsize, halfsize); char buff[16]; snprintf(buff, 16, "%s", le->response_code.c_str()); response_code = std::string(buff); response_colour = responseColour(); } RequestBall::~RequestBall() { delete le; } vec3 RequestBall::responseColour() { return le->response_colour; } bool RequestBall::mouseOver(TextArea& textarea, vec2& mouse) { //within 3 pixels vec2 from_mouse = pos - mouse; if( glm::dot(from_mouse, from_mouse) < 36.0f) { std::vector content; content.push_back( std::string( le->path ) ); content.push_back( " " ); if(le->vhost.size()>0) content.push_back( std::string("Virtual-Host: ") + le->vhost ); content.push_back( std::string("Remote-Host: ") + le->hostname ); if(le->referrer.size()>0) content.push_back( std::string("Referrer: ") + le->referrer ); if(le->user_agent.size()>0) content.push_back( std::string("User-Agent: ") + le->user_agent ); textarea.setText(content); textarea.setPos(mouse); textarea.setColour(colour); return true; } return false; } int RequestBall::logic(float dt) { float old_x = pos.x; ProjectedBall::logic(dt); //returns 1 if just became visible (for score incrementing) return (old_x<0.0f && pos.x>=0.0f); } void RequestBall::drawGlow() const { if(!has_bounced) return; float prog = getProgress(); float glow_radius = size * size * settings.glow_multiplier; float alpha = std::min(1.0f, 1.0f-(prog/settings.glow_duration)) * settings.glow_intensity; if(alpha <=0.001f) return; vec3 glow_col = colour * alpha; glColor4f(glow_col.x, glow_col.y, glow_col.z, 1.0f); glPushMatrix(); glTranslatef(pos.x, pos.y, 0.0f); glBegin(GL_QUADS); glTexCoord2f(1.0f, 1.0f); glVertex2f(glow_radius,glow_radius); glTexCoord2f(1.0f, 0.0f); glVertex2f(glow_radius,-glow_radius); glTexCoord2f(0.0f, 0.0f); glVertex2f(-glow_radius,-glow_radius); glTexCoord2f(0.0f, 1.0f); glVertex2f(-glow_radius,glow_radius); glEnd(); glPopMatrix(); } void RequestBall::draw() const { if(!settings.no_bounce || !has_bounced || no_bounce) { vec2 offsetpos = pos - offset; glColor4f(colour.x, colour.y, colour.z, 1.0f); glPushMatrix(); glTranslatef(offsetpos.x, offsetpos.y, 0.0f); glBegin(GL_QUADS); glTexCoord2f(0.0f,0.0f); glVertex2f(0.0f, 0.0f); glTexCoord2f(1.0f,0.0f); glVertex2f(size, 0.0f); glTexCoord2f(1.0f,1.0f); glVertex2f(size, size); glTexCoord2f(0.0f,1.0f); glVertex2f(0.0f, size); glEnd(); glPopMatrix(); } } void RequestBall::drawResponseCode() const { float prog = getProgress(); float alpha = 1.0f - std::min(1.0f, prog * 2.0f); if(alpha<=0.001f) return; float drift = prog * 100.0f; if(!le->successful) drift *= -1.0f; vec2 msgpos = (vel * drift) + vec2(dest.x-45.0f, dest.y); font->setColour(vec4(response_colour.x, response_colour.y, response_colour.z, alpha)); font->draw(msgpos.x, msgpos.y, response_code.c_str()); } logstalgia-1.0.7/src/textarea.cpp0000644000203100020310000000607212611522305016571 0ustar andrewcandrewc/* Copyright (C) 2008 Andrew Caudwell (acaudwell@gmail.com) 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 . */ #include "textarea.h" TextArea::TextArea() { } TextArea::TextArea(FXFont font) { this->colour = vec3(1.0f,1.0f,1.0f); this->font = font; this->corner = vec2(0.0f,0.0f); this->visible = false; this->font.dropShadow(true); } TextArea::TextArea(std::vector& content, FXFont font, vec3 colour) { this->colour = colour; this->font = font; this->corner = vec2(0.0f,0.0f); setText(content); } void TextArea::hide() { this->visible=false; } void TextArea::setColour(vec3 colour) { this->colour = colour; } void TextArea::setText(std::vector& content_) { this->content.clear(); //calculate area rectwidth = 0; rectheight = content_.size() * (font.getMaxHeight()+4) + 2; std::vector::iterator it; for(it = content_.begin(); it != content_.end(); it++) { std::string s = *it; if(s.size() > 100) { s = s.substr(0,100); } int width = font.getWidth(s) + 6; if(width>rectwidth) rectwidth = width; this->content.push_back(s); } this->visible=true; } void TextArea::setPos(vec2 pos) { corner = pos; int fontheight = font.getMaxHeight() + 4; corner.y -= rectheight; if((corner.x + rectwidth) > display.width) { if((corner.x - rectwidth - fontheight )>0) { corner.x -= rectwidth; } else { corner.x = display.width - rectwidth; } } if(corner.y < 0) corner.y += rectheight + fontheight; if(corner.y +rectheight > display.height) corner.y -= rectheight; } void TextArea::draw() { if(!visible) return; glDisable(GL_TEXTURE_2D); glEnable(GL_BLEND); glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); vec4 col(colour, 0.2f); glColor4fv(glm::value_ptr(col)); glBegin(GL_QUADS); glVertex2f(corner.x, corner.y); glVertex2f(corner.x, corner.y + rectheight); glVertex2f(corner.x+rectwidth, corner.y + rectheight); glVertex2f(corner.x+rectwidth, corner.y); glEnd(); glEnable(GL_TEXTURE_2D); glColor4f(1.0f, 1.0f, 1.0f, 1.0f); int yinc = 2; std::vector::iterator it; for(it = content.begin(); it != content.end(); it++) { font.draw((int)corner.x+2, (int)corner.y+yinc, (*it).c_str()); yinc += font.getMaxHeight() + 4; } } logstalgia-1.0.7/src/main.cpp0000644000203100020310000001264512611522305015703 0ustar andrewcandrewc/* Copyright (C) 2008 Andrew Caudwell (acaudwell@gmail.com) 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 . */ #include "logstalgia.h" #include "settings.h" #ifdef _WIN32 std::string win32LogSelector() { //get original directory char cwd_buff[1024]; if(getcwd(cwd_buff, 1024) != cwd_buff) { SDLAppQuit("error getting current working directory"); } OPENFILENAME ofn; char filepath[_MAX_PATH]; filepath[0] = '\0'; ZeroMemory(&ofn, sizeof(ofn)); ofn.lStructSize = sizeof(ofn); ofn.hwndOwner = 0; ofn.lpstrFile = filepath; ofn.nMaxFile = sizeof(filepath); ofn.lpstrFilter = "Website Access Log\0*.log\0*.*\0*.*\0"; ofn.nFilterIndex = 1; ofn.lpstrFileTitle = 0; ofn.nMaxFileTitle = 0; ofn.lpstrInitialDir = 0; ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST; GetOpenFileName(&ofn); //change back to original directory if(chdir(cwd_buff) != 0) { SDLAppQuit("error changing directory"); } return std::string(filepath); } #endif int main(int argc, char *argv[]) { ConfFile conf; std::vector files; SDLAppInit("Logstalgia", "logstalgia"); #ifdef _WIN32 SDLApp::initConsole(); #endif try { settings.parseArgs(argc, argv, conf, &files); //set log level Logger::getDefault()->setLevel(settings.log_level); #ifdef _WIN32 // hide console if not needed if(settings.log_level == LOG_LEVEL_OFF && !SDLApp::existing_console) { SDLApp::showConsole(false); } #endif //load config if(!settings.load_config.empty()) { conf.clear(); conf.load(settings.load_config); //apply args to loaded conf file settings.parseArgs(argc, argv, conf); } if(!files.empty()) { std::string path = files[files.size()-1]; ConfSectionList* sectionlist = conf.getSections("logstalgia"); if(sectionlist!=0) { for(ConfSectionList::iterator sit = sectionlist->begin(); sit != sectionlist->end(); sit++) { (*sit)->setEntry("path", path); } } else { conf.setEntry("logstalgia", "path", path); } } //apply the config / see if its valid settings.importDisplaySettings(conf); settings.importLogstalgiaSettings(conf); //save config if(!settings.save_config.empty()) { conf.save(settings.save_config); exit(0); } } catch(ConfFileException& exception) { SDLAppQuit(exception.what()); } #ifdef _WIN32 if(settings.path.empty()) { //open file dialog settings.path = win32LogSelector(); //TODO chdir back to original directory if(settings.path.empty()) return 0; } #endif if(settings.path.empty()) SDLAppQuit("no file supplied"); //enable vsync display.enableVsync(settings.vsync); // this causes corruption on some video drivers if(settings.multisample) display.multiSample(4); if(settings.resizable && settings.output_ppm_filename.empty()) { display.enableResize(true); } display.init("Logstalgia", settings.display_width, settings.display_height, settings.fullscreen); // Don't minimize when alt-tabbing so you can fullscreen logstalgia on a second monitor #if SDL_VERSION_ATLEAST(2,0,0) SDL_SetHint(SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS, "0"); #endif //disable OpenGL 2.0 functions if not supported if(!GLEW_VERSION_2_0) settings.ffp = true; //init frame exporter FrameExporter* exporter = 0; if(!settings.output_ppm_filename.empty()) { try { exporter = new PPMExporter(settings.output_ppm_filename); } catch(PPMExporterException& exception) { char errormsg[1024]; snprintf(errormsg, 1024, "could not write to '%s'", exception.what()); SDLAppQuit(errormsg); } } if(settings.multisample) glEnable(GL_MULTISAMPLE_ARB); Logstalgia* ls = 0; try { ls = new Logstalgia(settings.path); if(exporter != 0) { ls->setFrameExporter(exporter); } for(const std::string& group : settings.groups) { ls->addGroup(group); } ls->setBackground(settings.background_colour); ls->run(); } catch(ResourceException& exception) { char errormsg[1024]; snprintf(errormsg, 1024, "failed to load resource '%s'", exception.what()); SDLAppQuit(errormsg); } catch(SDLAppException& exception) { if(exception.showHelp()) { settings.help(); } else { SDLAppQuit(exception.what()); } } if(ls!=0) delete ls; if(exporter!=0) delete exporter; display.quit(); return 0; } logstalgia-1.0.7/src/core/0000755000203100020310000000000012611522305015173 5ustar andrewcandrewclogstalgia-1.0.7/src/core/shader_common.h0000644000203100020310000002754212611522305020174 0ustar andrewcandrewc#ifndef SHADER_COMMON_H #define SHADER_COMMON_H #include "resource.h" #include "regex.h" #include "vectors.h" #include #include #include #include #include extern std::string gSDLAppShaderDir; enum { SHADER_UNIFORM_FLOAT, SHADER_UNIFORM_BOOL, SHADER_UNIFORM_SAMPLER_1D, SHADER_UNIFORM_SAMPLER_2D, SHADER_UNIFORM_INT, SHADER_UNIFORM_VEC2, SHADER_UNIFORM_VEC3, SHADER_UNIFORM_VEC4, SHADER_UNIFORM_MAT3, SHADER_UNIFORM_MAT4, SHADER_UNIFORM_VEC2_ARRAY, SHADER_UNIFORM_VEC3_ARRAY, SHADER_UNIFORM_VEC4_ARRAY }; extern Regex Shader_pre_version; extern Regex Shader_pre_extension; extern Regex Shader_pre_include; extern Regex Shader_uniform_def; extern Regex Shader_error_line; extern Regex Shader_error2_line; extern Regex Shader_error3_line; extern Regex Shader_warning_line; extern Regex Shader_redefine_line; class ShaderException : public std::exception { protected: std::string message; std::string source; public: ShaderException(const std::string& message); ShaderException(const std::string& message, const std::string& source); ~ShaderException() throw () {}; virtual const char* what() const throw() { return message.c_str(); } const std::string& getSource() const; }; class AbstractShader; class ShaderUniform { protected: std::string name; std::string comment; int location; AbstractShader* shader; int uniform_type; std::string type_name; bool modified; bool initialized; bool baked; public: ShaderUniform(AbstractShader* shader, const std::string& name, int uniform_type, const std::string& type_name); virtual ~ShaderUniform() {}; virtual void unload(); int getLocation(); int getType() { return uniform_type; }; virtual void write(std::string& content) const {}; const std::string& getName() const; bool isInitialized() const { return initialized; }; bool isBaked() const { return baked; }; bool isModified() const { return modified; }; void setComment(const std::string& comment); const std::string& getComment() const; void setInitialized(bool initialized) { this->initialized = initialized; }; virtual void setBaked(bool baked); virtual void setModified(bool modified) { this->modified = modified; }; }; class FloatShaderUniform : public ShaderUniform { float value; public: FloatShaderUniform(AbstractShader* shader, const std::string& name, float value = 0.0f); void write(std::string& content) const; void setValue(float value); float& getValue(); }; class IntShaderUniform : public ShaderUniform { int value; public: IntShaderUniform(AbstractShader* shader, const std::string& name, int value = 0); void write(std::string& content) const; void setValue(int value); int& getValue(); }; class BoolShaderUniform : public ShaderUniform { bool value; public: BoolShaderUniform(AbstractShader* shader, const std::string& name, bool value = false); void write(std::string& content) const; void setValue(bool value); bool& getValue(); }; class Sampler1DShaderUniform : public ShaderUniform { int value; public: Sampler1DShaderUniform(AbstractShader* shader, const std::string& name, int value = 0); void write(std::string& content) const; void setBaked(bool baked); void setValue(int value); int& getValue(); }; class Sampler2DShaderUniform : public ShaderUniform { int value; public: Sampler2DShaderUniform(AbstractShader* shader, const std::string& name, int value = 0); void write(std::string& content) const; void setBaked(bool baked); void setValue(int value); int& getValue(); }; class Vec2ShaderUniform : public ShaderUniform { vec2 value; public: Vec2ShaderUniform(AbstractShader* shader, const std::string& name, const vec2& value = vec2(0.0f)) ; void write(std::string& content) const; void setValue(const vec2& value); vec2& getValue(); }; class Vec3ShaderUniform : public ShaderUniform { vec3 value; public: Vec3ShaderUniform(AbstractShader* shader, const std::string& name, const vec3& value = vec3(0.0f)); void write(std::string& content) const; void setValue(const vec3& value); vec3& getValue(); }; class Vec4ShaderUniform : public ShaderUniform { vec4 value; public: Vec4ShaderUniform(AbstractShader* shader, const std::string& name, const vec4& value = vec4(0.0f)); void write(std::string& content) const; void setValue(const vec4& value); vec4& getValue(); }; class Mat3ShaderUniform : public ShaderUniform { mat3 value; public: Mat3ShaderUniform(AbstractShader* shader, const std::string& name, const mat3& value = mat3(1.0f)); void write(std::string& content) const; void setValue(const mat3& value); mat3& getValue(); }; class Mat4ShaderUniform : public ShaderUniform { mat4 value; public: Mat4ShaderUniform(AbstractShader* shader, const std::string& name, const mat4& value = mat4(1.0f)); void write(std::string& content) const; void setValue(const mat4& value); mat4& getValue(); }; class Vec2ArrayShaderUniform : public ShaderUniform { std::vector value; size_t length; void copyValue(const vec2* value); void copyValue(const std::vector& value); public: Vec2ArrayShaderUniform(AbstractShader* shader, const std::string& name, size_t length, const vec2* value = 0); ~Vec2ArrayShaderUniform(); void write(std::string& content) const; void setValue(const vec2* value); void setValue(const std::vector& value); const std::vector& getValue(); size_t getLength() const; }; class Vec3ArrayShaderUniform : public ShaderUniform { std::vector value; size_t length; void copyValue(const vec3* value); void copyValue(const std::vector& value); public: Vec3ArrayShaderUniform(AbstractShader* shader, const std::string& name, size_t length, const vec3* value = 0); ~Vec3ArrayShaderUniform(); void write(std::string& content) const; void setValue(const vec3* value); void setValue(const std::vector& value); const std::vector& getValue(); size_t getLength() const; }; class Vec4ArrayShaderUniform : public ShaderUniform { std::vector value; size_t length; void copyValue(const vec4* value); void copyValue(const std::vector& value); public: Vec4ArrayShaderUniform(AbstractShader* shader, const std::string& name, size_t length, const vec4* value = 0); ~Vec4ArrayShaderUniform(); void write(std::string& content) const; void setValue(const vec4* value); void setValue(const std::vector& value); const std::vector& getValue(); size_t getLength() const; }; class ShaderPart { std::string filename; std::string raw_source; std::string processed_source; std::map defines; std::map substitutions; void preprocess(); void loadSourceFile(); void applySubstitution(std::string& source, const std::string& name, const std::string& value); void applyDefines(std::string& source); void applySubstitutions(std::string& source); public: ShaderPart(); void setSourceFile(const std::string& filename); void setSource(const std::string& source); void reload(); void reset(); void substitute(const std::string& name, const char *value, ...); void substitute(const std::string& name, const std::string& value); void define(const std::string& name); void define(const std::string& name, const char *value, ...); void define(const std::string& name, const std::string& value); const std::string& getSource(); }; class AbstractShaderPass { protected: int shader_object_type; std::string shader_object_desc; unsigned int shader_object; int version; std::map extensions; AbstractShader* parent; std::string source; std::string shader_object_source; std::list uniforms; void showContext(std::string& context, int line_no, int amount); bool errorContext(const char* log_message, std::string& context); bool preprocess(const std::string& line); public: AbstractShaderPass(AbstractShader* parent, int shader_object_type, const std::string& shader_object_desc); virtual ~AbstractShaderPass() {}; int getType() { return shader_object_type; }; bool isEmpty(); void toString(std::string& out); const std::string& getObjectSource(); ShaderUniform* addArrayUniform(const std::string& name, const std::string& type, size_t length); ShaderUniform* addUniform(const std::string& name, const std::string& type); void includeSource(const std::string& source); void includeFile(const std::string& filename); std::list& getUniforms(); virtual void attachTo(unsigned int program) = 0; virtual void unload() = 0; virtual void compile() = 0; virtual void checkError() = 0; }; class AbstractShader : public Resource { protected: std::map uniforms; std::list uniform_list; std::map substitutions; std::string prefix; unsigned int program; bool dynamic_compile; void setDefaults(); virtual void loadPrefix() = 0; virtual void checkProgramError() = 0; public: AbstractShaderPass* vertex_shader; AbstractShaderPass* geometry_shader; AbstractShaderPass* fragment_shader; AbstractShader(); AbstractShader(const std::string& prefix); unsigned int getProgram(); void clear(); void reload(bool force = false); bool isEmpty(); void includeSource(unsigned int shader_object_type, const std::string& source); void includeFile(unsigned int shader_object_type, const std::string& filename); static void substitute(std::string& source, const std::string& name, const std::string& value); void addSubstitute(const std::string& name, const std::string& value); void addSubstitute(const std::string& name, const char *value, ...); void applySubstitutions(std::string& source); void addUniform(ShaderUniform* uniform); ShaderUniform* getUniform(const std::string& name); void setDynamicCompile(bool dynamic_compile); bool needsCompile(); const std::list& getUniforms(); void applyUniforms(); void setBool(const std::string& name, bool value); void setInteger (const std::string& name, int value); void setSampler1D(const std::string& name, int value); void setSampler2D(const std::string& name, int value); void setFloat(const std::string& name, float value); void setVec2 (const std::string& name, const vec2& value); void setVec3 (const std::string& name, const vec3& value); void setVec4 (const std::string& name, const vec4& value); void setMat3 (const std::string& name, const mat3& value); void setMat4 (const std::string& name, const mat4& value); void setVec2Array(const std::string& name, vec2* value); void setVec2Array(const std::string& name, std::vector& value); void setVec3Array(const std::string& name, vec3* value); void setVec3Array(const std::string& name, std::vector& value); void setVec4Array(const std::string& name, vec4* value); void setVec4Array(const std::string& name, std::vector& value); void setBaked(const std::string& name, bool baked); void setBakedUniforms(bool baked); virtual AbstractShaderPass* grabShaderPass(unsigned int shader_object_type) = 0; virtual void applyUniform(ShaderUniform* u) = 0; virtual int getUniformLocation(const std::string& uniform_name) = 0; virtual void load() = 0; virtual void unload() = 0; virtual void bind() = 0; virtual void unbind() = 0; void use(); }; #endif logstalgia-1.0.7/src/core/display.h0000644000203100020310000000715412611522305017020 0ustar andrewcandrewc /* Copyright (c) 2008 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef SDLAPP_DISPLAY_H #define SDLAPP_DISPLAY_H #include "gl.h" #include "shader.h" #include "logger.h" #include "vectors.h" #include "texture.h" #include "fxfont.h" #include #include #include #include #include #include class SDLInitException : public std::exception { protected: std::string error; public: SDLInitException(const std::string& error) : error(error) {} virtual ~SDLInitException() throw () {}; virtual const char* what() const throw() { return error.c_str(); } }; class SDLAppDisplay { bool enable_alpha; bool resizable; bool frameless; bool vsync; int zbuffer_depth; int multi_sample; Uint32 SDLWindowFlags(bool fullscreen); void setupExtensions(); public: int width, height; int desktop_width, desktop_height; int windowed_width, windowed_height; #if SDL_VERSION_ATLEAST(2,0,0) SDL_Window* sdl_window; SDL_GLContext gl_context; int framed_width, framed_height; int framed_x, framed_y; #else SDL_Surface *surface; #endif bool fullscreen; vec4 clear_colour; SDLAppDisplay(); ~SDLAppDisplay(); void getFullscreenResolution(int& width, int& height); void toggleFullscreen(); void toggleFrameless(); void resize(int width, int height); void init(std::string window_title, int width, int height, bool fullscreen); void setVideoMode(int width, int height, bool fullscreen); bool multiSamplingEnabled(); void quit(); void update(); void clear(); void setClearColour(vec3 colour); void setClearColour(vec4 colour); void setZBufferDepth(int zbuffer_depth); void enableVsync(bool vsync); void enableAlpha(bool enable); void enableResize(bool resizable); void enableFrameless(bool frameless); void multiSample(int sample); void mode3D(float fov, float znear, float zfar); void mode2D(); void push2D(); void pop2D(); vec4 currentColour(); vec3 project(vec3 pos); vec3 unproject(vec2 pos); }; extern SDLAppDisplay display; #endif logstalgia-1.0.7/src/core/shader_common.cpp0000644000203100020310000010610112611522305020514 0ustar andrewcandrewc#include "shader_common.h" #include "logger.h" #include #include #include #include std::string gSDLAppShaderDir; Regex Shader_pre_version("^\\s*#version\\s*(\\d+)\\s*"); Regex Shader_pre_extension("^\\s*#extension\\s*([a-zA-Z0-9_]+)\\s+:\\s+(enable|require|warn|disable)\\s*$"); Regex Shader_pre_include("^\\s*#include\\s*\"([^\"]+)\""); Regex Shader_uniform_def("^\\s*uniform\\s+(\\w+)\\s+(\\w+)(?:\\[(\\d+)\\])?\\s*;\\s*(?://\\s*(.+))?$"); Regex Shader_error_line("\\b\\d*\\((\\d+)\\) : error "); Regex Shader_error2_line("\\bERROR: \\d+:(\\d+):"); Regex Shader_error3_line("^\\d+:(\\d+)\\(\\d+\\): error"); Regex Shader_warning_line("\\b\\d*\\((\\d+)\\) : warning "); Regex Shader_redefine_line(" (?:defined|declaration) at \\d*\\((\\d+)\\)"); //ShaderException ShaderException::ShaderException(const std::string& message) : message(message) { } ShaderException::ShaderException(const std::string& message, const std::string& source) : message(message), source(source) { } const std::string& ShaderException::getSource() const { return source; } //ShaderPart ShaderPart::ShaderPart() { } void ShaderPart::setSourceFile(const std::string& filename) { this->filename = filename; loadSourceFile(); } void ShaderPart::loadSourceFile() { processed_source.clear(); raw_source.clear(); // get length std::ifstream in(filename.c_str()); if(!in.is_open()) { throw ShaderException(str(boost::format("could not open '%s'") % filename)); } std::string line; while( std::getline(in,line) ) { raw_source += line; raw_source += "\n"; } in.close(); } void ShaderPart::reload() { loadSourceFile(); } void ShaderPart::reset() { processed_source.clear(); defines.clear(); substitutions.clear(); } void ShaderPart::setSource(const std::string& source) { raw_source = source; } void ShaderPart::applySubstitution(std::string& source, const std::string& name, const std::string& value) { std::string::size_type next_match; for(next_match = source.find(name); next_match != std::string::npos; next_match = source.find(name, next_match)) { source.replace(next_match, name.length(), value); next_match += value.length(); } } void ShaderPart::substitute(const std::string& name, const char *value, ...) { va_list vl; char sub[65536]; char* buffer = sub; va_start(vl, value); int string_size = vsnprintf(sub, sizeof(sub), value, vl); if(string_size > sizeof(sub)) { buffer = new char[string_size]; string_size = vsnprintf(buffer, string_size, value, vl); } va_end(vl); substitutions[name] = buffer; } void ShaderPart::substitute(const std::string& name, const std::string& value) { substitute(name, value.c_str()); } void ShaderPart::applySubstitutions(std::string& source) { for(std::map::iterator it = substitutions.begin(); it != substitutions.end(); it++) { applySubstitution(source, it->first, it->second); } } void ShaderPart::applyDefines(std::string& source) { for(std::map::iterator it = defines.begin(); it != defines.end(); it++) { source.append(str(boost::format("#define %s %s\n") % it->first % it->second)); } } void ShaderPart::define(const std::string& name, const std::string& value) { define(name, value.c_str()); } void ShaderPart::define(const std::string& name, const char *value, ...) { va_list vl; char sub[65536]; char* buffer = sub; va_start(vl, value); int string_size = vsnprintf(sub, sizeof(sub), value, vl); if(string_size > sizeof(sub)) { buffer = new char[string_size]; string_size = vsnprintf(buffer, string_size, value, vl); } va_end(vl); defines[name] = buffer; if(buffer != sub) delete[] buffer; } void ShaderPart::define(const std::string& name) { define(name, ""); } void ShaderPart::preprocess() { processed_source.clear(); // add defines at the top of the source applyDefines(processed_source); // do trivial substitutions std::vector matches; std::stringstream in(raw_source); std::string line; bool skipdef = false; while( std::getline(in,line) ) { applySubstitutions(line); processed_source.append(line); processed_source.append("\n"); } } const std::string& ShaderPart::getSource() { if(processed_source.empty()) preprocess(); return processed_source; } //ShaderUniform ShaderUniform::ShaderUniform(AbstractShader* shader, const std::string& name, int uniform_type, const std::string& type_name) : shader(shader), name(name), location(-1), initialized(false), modified(false), baked(false), uniform_type(uniform_type), type_name(type_name) { } void ShaderUniform::unload() { location = -1; } int ShaderUniform::getLocation() { if(location != -1) return location; location = shader->getUniformLocation( name.c_str() ); return location; } const std::string& ShaderUniform::getName() const { return name; } void ShaderUniform::setBaked(bool baked) { if(this->baked == baked) return; this->baked = baked; modified = true; } void ShaderUniform::setComment(const std::string& comment) { this->comment = comment; } const std::string& ShaderUniform::getComment() const { return comment; } //FloatShaderUniform FloatShaderUniform::FloatShaderUniform(AbstractShader* shader, const std::string& name, float value) : value(value), ShaderUniform(shader, name, SHADER_UNIFORM_FLOAT, "float") { } void FloatShaderUniform::setValue(float value) { if(baked && this->value == value) return; this->value = value; modified = true; initialized = true; } float& FloatShaderUniform::getValue() { return value; } void FloatShaderUniform::write(std::string& content) const { char buff[256]; if(baked) { // snprintf(buff, 256, "const %s %s = %e;\n", type_name.c_str(), name.c_str(), value); snprintf(buff, 256, "#define %s %e\n", name.c_str(), value); } else { snprintf(buff, 256, "uniform %s %s;\n", type_name.c_str(), name.c_str()); } content += buff; } //IntShaderUniform IntShaderUniform::IntShaderUniform(AbstractShader* shader, const std::string& name, int value) : value(value), ShaderUniform(shader, name, SHADER_UNIFORM_INT, "int") { } void IntShaderUniform::setValue(int value) { if(baked && this->value == value) return; this->value = value; modified = true; initialized = true; } int& IntShaderUniform::getValue() { return value; } void IntShaderUniform::write(std::string& content) const { char buff[256]; if(baked) { snprintf(buff, 256, "#define %s %d\n", name.c_str(), value); } else { snprintf(buff, 256, "uniform %s %s;\n", type_name.c_str(), name.c_str()); } content += buff; } //BoolShaderUniform BoolShaderUniform::BoolShaderUniform(AbstractShader* shader, const std::string& name, bool value) : value(value), ShaderUniform(shader, name, SHADER_UNIFORM_BOOL, "bool") { } void BoolShaderUniform::setValue(bool value) { if(baked && this->value == value) return; this->value = value; modified = true; initialized = true; } bool& BoolShaderUniform::getValue() { return value; } void BoolShaderUniform::write(std::string& content) const { char buff[256]; if(baked) { snprintf(buff, 256, "#define %s %s\n", name.c_str(), value ? "true" : "false"); } else { snprintf(buff, 256, "uniform %s %s;\n", type_name.c_str(), name.c_str()); } content += buff; } //Sampler1DShaderUniform Sampler1DShaderUniform::Sampler1DShaderUniform(AbstractShader* shader, const std::string& name, int value) : value(value), ShaderUniform(shader, name, SHADER_UNIFORM_SAMPLER_1D, "sampler1D") { } void Sampler1DShaderUniform::setValue(int value) { if(baked && this->value == value) return; this->value = value; modified = true; initialized = true; } void Sampler1DShaderUniform::setBaked(bool baked) { } void Sampler1DShaderUniform::write(std::string& content) const { char buff[256]; snprintf(buff, 256, "uniform %s %s;\n", type_name.c_str(), name.c_str()); content += buff; } int& Sampler1DShaderUniform::getValue() { return value; } //Sampler2DShaderUniform Sampler2DShaderUniform::Sampler2DShaderUniform(AbstractShader* shader, const std::string& name, int value) : value(value), ShaderUniform(shader, name, SHADER_UNIFORM_SAMPLER_2D, "sampler2D") { } void Sampler2DShaderUniform::setValue(int value) { if(baked && this->value == value) return; this->value = value; modified = true; initialized = true; } int& Sampler2DShaderUniform::getValue() { return value; } //cant be baked void Sampler2DShaderUniform::setBaked(bool baked) { } void Sampler2DShaderUniform::write(std::string& content) const { char buff[256]; snprintf(buff, 256, "uniform %s %s;\n", type_name.c_str(), name.c_str()); content += buff; } //Vec2ShaderUniform Vec2ShaderUniform::Vec2ShaderUniform(AbstractShader* shader, const std::string& name, const vec2& value) : value(value), ShaderUniform(shader, name, SHADER_UNIFORM_VEC2, "vec2") { } void Vec2ShaderUniform::setValue(const vec2& value) { if(baked && this->value == value) return; this->value = value; modified = true; initialized = true; } vec2& Vec2ShaderUniform::getValue() { return value; } void Vec2ShaderUniform::write(std::string& content) const { char buff[256]; if(baked) { snprintf(buff, 256, "#define %s vec2(%e, %e)\n", name.c_str(), value.x, value.y); } else { snprintf(buff, 256, "uniform %s %s;\n", type_name.c_str(), name.c_str()); } content += buff; } //Vec3ShaderUniform Vec3ShaderUniform::Vec3ShaderUniform(AbstractShader* shader, const std::string& name, const vec3& value) : value(value), ShaderUniform(shader, name, SHADER_UNIFORM_VEC3, "vec3") { } void Vec3ShaderUniform::setValue(const vec3& value) { if(baked && this->value == value) return; this->value = value; modified = true; initialized = true; } vec3& Vec3ShaderUniform::getValue() { return value; } void Vec3ShaderUniform::write(std::string& content) const { char buff[256]; if(baked) { snprintf(buff, 256, "#define %s vec3(%e, %e, %e)\n", name.c_str(), value.x, value.y, value.z); } else { snprintf(buff, 256, "uniform %s %s;\n", type_name.c_str(), name.c_str()); } content += buff; } //Vec4ShaderUniform Vec4ShaderUniform::Vec4ShaderUniform(AbstractShader* shader, const std::string& name, const vec4& value) : value(value), ShaderUniform(shader, name, SHADER_UNIFORM_VEC4, "vec4") { } void Vec4ShaderUniform::setValue(const vec4& value) { if(baked && this->value == value) return; this->value = value; modified = true; initialized = true; } vec4& Vec4ShaderUniform::getValue() { return value; } void Vec4ShaderUniform::write(std::string& content) const { char buff[256]; if(baked) { snprintf(buff, 256, "#define %s vec4(%e, %e, %e, %e)\n", name.c_str(), value.x, value.y, value.z, value.w); } else { snprintf(buff, 256, "uniform %s %s;\n", type_name.c_str(), name.c_str()); } content += buff; } //Mat3ShaderUniform Mat3ShaderUniform::Mat3ShaderUniform(AbstractShader* shader, const std::string& name, const mat3& value) : value(value), ShaderUniform(shader, name, SHADER_UNIFORM_MAT3, "mat3") { } void Mat3ShaderUniform::setValue(const mat3& value) { if(baked && this->value == value) return; this->value = value; modified = true; initialized = true; } mat3& Mat3ShaderUniform::getValue() { return value; } void Mat3ShaderUniform::write(std::string& content) const { char buff[1024]; if(baked) { snprintf(buff, 1024, "#define %s mat3(%e, %e, %e, %e, %e, %e, %e, %e, %e)\n", name.c_str(), value[0][0], value[0][1], value[0][2], value[1][0], value[1][1], value[1][2], value[2][0], value[2][1], value[2][2]); } else { snprintf(buff, 1024, "uniform %s %s;\n", type_name.c_str(), name.c_str()); } content += buff; } //Mat4ShaderUniform Mat4ShaderUniform::Mat4ShaderUniform(AbstractShader* shader, const std::string& name, const mat4& value) : value(value), ShaderUniform(shader, name, SHADER_UNIFORM_MAT4, "mat4") { } void Mat4ShaderUniform::setValue(const mat4& value) { if(baked && this->value == value) return; this->value = value; modified = true; initialized = true; } mat4& Mat4ShaderUniform::getValue() { return value; } void Mat4ShaderUniform::write(std::string& content) const { char buff[1024]; if(baked) { snprintf(buff, 1024, "#define %s mat4(%e, %e, %e, %e, %e, %e, %e, %e, %e, %e, %e, %e, %e, %e, %e, %e)\n", name.c_str(), value[0][0], value[0][1], value[0][2], value[0][3], value[1][0], value[1][1], value[1][2], value[1][3], value[2][0], value[2][1], value[2][2], value[2][3], value[3][0], value[3][1], value[3][2], value[3][3]); } else { snprintf(buff, 1024, "uniform %s %s;\n", type_name.c_str(), name.c_str()); } content += buff; } //Vec2ArrayShaderUniform Vec2ArrayShaderUniform::Vec2ArrayShaderUniform(AbstractShader* shader, const std::string& name, size_t length, const vec2* value) : length(length), ShaderUniform(shader, name, SHADER_UNIFORM_VEC2_ARRAY, "vec2") { this->value.resize(length); if(value != 0) copyValue(value); } Vec2ArrayShaderUniform::~Vec2ArrayShaderUniform() { } const std::vector& Vec2ArrayShaderUniform::getValue() { return value; } size_t Vec2ArrayShaderUniform::getLength() const { return length; } void Vec2ArrayShaderUniform::copyValue(const vec2* value) { for(size_t i=0; ivalue[i] = value[i]; } } void Vec2ArrayShaderUniform::copyValue(const std::vector& value) { for(size_t i=0; ivalue[i] = value[i]; } } void Vec2ArrayShaderUniform::setValue(const vec2* value) { if(baked) { bool match = true; for(size_t i=0;ivalue[i]) { match = false; break; } } if(match) return; } copyValue(value); modified = true; initialized = true; } void Vec2ArrayShaderUniform::setValue(const std::vector& value) { if(baked) { bool match = true; for(size_t i=0;ivalue[i]) { match = false; break; } } if(match) return; } copyValue(value); modified = true; initialized = true; } void Vec2ArrayShaderUniform::write(std::string& content) const { char buff[1024]; if(baked) { content.append(str(boost::format("%s[%d] %s = %s[] (\n") % type_name % length % name % type_name)); content += buff; for(size_t i=0; ivalue.resize(length); if(value != 0) copyValue(value); } Vec3ArrayShaderUniform::~Vec3ArrayShaderUniform() { } const std::vector& Vec3ArrayShaderUniform::getValue() { return value; } size_t Vec3ArrayShaderUniform::getLength() const { return length; } void Vec3ArrayShaderUniform::copyValue(const vec3* value) { for(size_t i=0; ivalue[i] = value[i]; } } void Vec3ArrayShaderUniform::copyValue(const std::vector& value) { for(size_t i=0; ivalue[i] = value[i]; } } void Vec3ArrayShaderUniform::setValue(const vec3* value) { if(baked) { bool match = true; for(size_t i=0;ivalue[i]) { match = false; break; } } if(match) return; } copyValue(value); modified = true; initialized = true; } void Vec3ArrayShaderUniform::setValue(const std::vector& value) { if(baked) { bool match = true; for(size_t i=0;ivalue[i]) { match = false; break; } } if(match) return; } copyValue(value); modified = true; initialized = true; } void Vec3ArrayShaderUniform::write(std::string& content) const { char buff[1024]; if(baked) { content.append(str(boost::format("%s[%d] %s = %s[] (\n") % type_name % length % name % type_name)); for(size_t i=0; ivalue.resize(length); if(value != 0) copyValue(value); } Vec4ArrayShaderUniform::~Vec4ArrayShaderUniform() { } const std::vector& Vec4ArrayShaderUniform::getValue() { return value; } size_t Vec4ArrayShaderUniform::getLength() const { return length; } void Vec4ArrayShaderUniform::copyValue(const std::vector& value) { for(size_t i=0; ivalue[i] = value[i]; } } void Vec4ArrayShaderUniform::copyValue(const vec4* value) { for(size_t i=0; ivalue[i] = value[i]; } } void Vec4ArrayShaderUniform::setValue(const vec4* value) { if(baked) { bool match = true; for(size_t i=0;ivalue[i]) { match = false; break; } } if(match) return; } copyValue(value); modified = true; initialized = true; } void Vec4ArrayShaderUniform::setValue(const std::vector& value) { if(baked) { bool match = true; for(size_t i=0;ivalue[i]) { match = false; break; } } if(match) return; } copyValue(value); modified = true; initialized = true; } void Vec4ArrayShaderUniform::write(std::string& content) const { char buff[1024]; if(baked) { content.append(str(boost::format("%s[%d] %s = %s[] (\n") % type_name % length % name % type_name)); for(size_t i=0; i=line_no) || (i>line_no && i-amount<=line_no)) { snprintf(line_detail, 1024, "%s%4d | %s\n", (i==line_no ? "-> ": " "), i, line.c_str()); context += line_detail; } i++; } } bool AbstractShaderPass::errorContext(const char* log_message, std::string& context) { std::vector matches; if( !Shader_error_line.match(log_message, &matches) && !Shader_error2_line.match(log_message, &matches) && !Shader_error3_line.match(log_message, &matches) && !(Logger::getDefault()->getLevel() == LOG_LEVEL_WARN && Shader_warning_line.match(log_message, &matches))) return false; int line_no = atoi(matches[0].c_str()); if(Shader_redefine_line.match(log_message, &matches)) { int redefine_line_no = atoi(matches[0].c_str()); showContext(context, redefine_line_no, 3); context += "\n"; } showContext(context, line_no, 3); return true; } void AbstractShaderPass::toString(std::string& out) { if(version!=0) { out.append(str(boost::format("#version %d\n") % version)); } for(std::map::iterator it = extensions.begin(); it != extensions.end(); it++) { out.append(str(boost::format("#extension %s : %s\n") % it->first % it->second)); } for(ShaderUniform* u : uniforms) { u->write(out); } out.append(source); } const std::string& AbstractShaderPass::getObjectSource() { return shader_object_source; } bool AbstractShaderPass::isEmpty() { return source.empty(); } std::list& AbstractShaderPass::getUniforms() { return uniforms; } //add uniform, unless parent Shader has this in which case link to it ShaderUniform* AbstractShaderPass::addArrayUniform(const std::string& name, const std::string& type, size_t length) { ShaderUniform* uniform = 0; if((uniform = parent->getUniform(name)) == 0) { if(type == "vec2") { uniform = new Vec2ArrayShaderUniform(parent, name, length); } else if(type == "vec3") { uniform = new Vec3ArrayShaderUniform(parent, name, length); } else if(type == "vec4") { uniform = new Vec4ArrayShaderUniform(parent, name, length); } else { throw ShaderException(str(boost::format("shader uniform arrays for type '%s' not implemented") % type)); } uniform->setInitialized(false); parent->addUniform(uniform); } uniforms.push_back(uniform); return uniform; } ShaderUniform* AbstractShaderPass::addUniform(const std::string& name, const std::string& type) { ShaderUniform* uniform = 0; if((uniform = parent->getUniform(name)) == 0) { if(type == "float") { uniform = new FloatShaderUniform(parent, name); } else if(type == "int") { uniform = new IntShaderUniform(parent, name); } else if(type == "bool") { uniform = new BoolShaderUniform(parent, name); } else if(type == "sampler1D") { uniform = new Sampler1DShaderUniform(parent, name); } else if(type == "sampler2D") { uniform = new Sampler2DShaderUniform(parent, name); } else if(type == "vec2") { uniform = new Vec2ShaderUniform(parent, name); } else if(type == "vec3") { uniform = new Vec3ShaderUniform(parent, name); } else if(type == "vec4") { uniform = new Vec4ShaderUniform(parent, name); } else if(type == "mat3") { uniform = new Mat3ShaderUniform(parent, name); } else if(type == "mat4") { uniform = new Mat4ShaderUniform(parent, name); } else { throw ShaderException(str(boost::format("unsupported shader uniform type '%s'") % type)); } uniform->setInitialized(false); parent->addUniform(uniform); } uniforms.push_back(uniform); return uniform; } bool AbstractShaderPass::preprocess(const std::string& line) { std::vector matches; if(Shader_pre_version.match(line, &matches)) { version = atoi(matches[0].c_str()); return true; } if(Shader_pre_extension.match(line, &matches)) { extensions[matches[0]] = matches[1]; return true; } if(Shader_pre_include.match(line, &matches)) { std::string include_file = gSDLAppShaderDir + matches[0]; includeFile(include_file); return true; } if(Shader_uniform_def.match(line, &matches)) { std::string uniform_type = matches[0]; std::string uniform_name = matches[1]; ShaderUniform* uniform = 0; if(matches.size() > 2 && !matches[2].empty()) { size_t uniform_length = atoi(matches[2].c_str()); uniform = addArrayUniform(uniform_name, uniform_type, uniform_length); } else { uniform = addUniform(uniform_name, uniform_type); } if(matches.size() > 3 && !matches[3].empty()) uniform->setComment(matches[3]); return true; } return false; } void AbstractShaderPass::includeFile(const std::string& filename) { // get length std::ifstream in(filename.c_str()); if(!in.is_open()) { throw ShaderException(str(boost::format("could not open '%s'") % filename)); } std::string line; while( std::getline(in,line) ) { if(!preprocess(line)) { source += line; source += "\n"; } } in.close(); } void AbstractShaderPass::includeSource(const std::string& string) { std::stringstream in(string); std::string line; while( std::getline(in,line) ) { if(!preprocess(line)) { source += line; source += "\n"; } } } // AbstractShader AbstractShader::AbstractShader(const std::string& prefix) : prefix(prefix), Resource(prefix) { setDefaults(); } AbstractShader::AbstractShader() { setDefaults(); } void AbstractShader::setDynamicCompile(bool dynamic_compile) { this->dynamic_compile = dynamic_compile; } void AbstractShader::setDefaults() { vertex_shader = 0; fragment_shader = 0; geometry_shader = 0; program = 0; dynamic_compile = false; } void AbstractShader::clear() { unload(); for(std::map::iterator it= uniforms.begin(); it!=uniforms.end();it++) { delete it->second; } uniforms.clear(); uniform_list.clear(); if(vertex_shader != 0) delete vertex_shader; if(geometry_shader != 0) delete geometry_shader; if(fragment_shader != 0) delete fragment_shader; vertex_shader = 0; geometry_shader = 0; fragment_shader = 0; } bool AbstractShader::isEmpty() { if( (!vertex_shader || vertex_shader->isEmpty()) && (!fragment_shader || fragment_shader->isEmpty()) && (!geometry_shader || geometry_shader->isEmpty())) { return true; } return false; } void AbstractShader::reload(bool force) { if(isEmpty()) return; if(force && !prefix.empty()) { loadPrefix(); } else { load(); } } void AbstractShader::use() { if(Logger::getDefault()->getLevel() == LOG_LEVEL_PEDANTIC) { for(std::map::iterator it= uniforms.begin(); it!=uniforms.end();it++) { ShaderUniform* u = it->second; if(!u->isInitialized()) pedanticLog("shader '%s': uniform '%s' was never initialized", (!resource_name.empty() ? resource_name.c_str() : "???"), u->getName().c_str()); } } if(dynamic_compile && needsCompile()) { unbind(); load(); infoLog("shader '%s' recompiled", resource_name.c_str()); } bind(); applyUniforms(); } unsigned int AbstractShader::getProgram() { return program; } void AbstractShader::addUniform(ShaderUniform* uniform) { if(getUniform(uniform->getName()) != 0) { throw ShaderException(str(boost::format("shader already has a uniform named '%s'") % uniform->getName())); } uniforms[uniform->getName()] = uniform; uniform_list.push_back(uniform); } ShaderUniform* AbstractShader::getUniform(const std::string& name) { std::map::iterator it = uniforms.find(name); if(it != uniforms.end()) { return it->second; } return 0; } void AbstractShader::includeSource(unsigned int shader_object_type, const std::string& source) { AbstractShaderPass* pass = grabShaderPass(shader_object_type); pass->includeSource(source); } void AbstractShader::includeFile(unsigned int shader_object_type, const std::string& filename) { AbstractShaderPass* pass = grabShaderPass(shader_object_type); pass->includeFile(filename); } void AbstractShader::addSubstitute(const std::string& name, const std::string& value) { substitutions[name] = value; } void AbstractShader::addSubstitute(const std::string& name, const char *value, ...) { va_list vl; char sub[65536]; char* buffer = sub; va_start(vl, value); int string_size = vsnprintf(sub, sizeof(sub), value, vl); if(string_size > sizeof(sub)) { buffer = new char[string_size]; string_size = vsnprintf(buffer, string_size, value, vl); } va_end(vl); substitutions[name] = buffer; if(buffer != sub) delete[] buffer; } void AbstractShader::substitute(std::string& source, const std::string& name, const std::string& value) { std::string::size_type next_match; for(next_match = source.find(name); next_match != std::string::npos; next_match = source.find(name, next_match)) { source.replace(next_match, name.length(), value); next_match += value.length(); } } void AbstractShader::applySubstitutions(std::string& source) { for(std::map::iterator it = substitutions.begin(); it != substitutions.end(); it++) { substitute(source, it->first, it->second); } } void AbstractShader::setBool (const std::string& name, bool value) { ShaderUniform* uniform = getUniform(name); if(!uniform || uniform->getType() != SHADER_UNIFORM_BOOL) return; ((BoolShaderUniform*)uniform)->setValue(value); } void AbstractShader::setInteger (const std::string& name, int value) { ShaderUniform* uniform = getUniform(name); if(!uniform || uniform->getType() != SHADER_UNIFORM_INT) return; ((IntShaderUniform*)uniform)->setValue(value); } void AbstractShader::setSampler1D (const std::string& name, int value) { ShaderUniform* uniform = getUniform(name); if(!uniform || uniform->getType() != SHADER_UNIFORM_SAMPLER_1D) return; ((Sampler1DShaderUniform*)uniform)->setValue(value); } void AbstractShader::setSampler2D (const std::string& name, int value) { ShaderUniform* uniform = getUniform(name); if(!uniform || uniform->getType() != SHADER_UNIFORM_SAMPLER_2D) return; ((Sampler2DShaderUniform*)uniform)->setValue(value); } void AbstractShader::setFloat(const std::string& name, float value) { ShaderUniform* uniform = getUniform(name); if(!uniform || uniform->getType() != SHADER_UNIFORM_FLOAT) return; ((FloatShaderUniform*)uniform)->setValue(value); } void AbstractShader::setVec2 (const std::string& name, const vec2& value) { ShaderUniform* uniform = getUniform(name); if(!uniform || uniform->getType() != SHADER_UNIFORM_VEC2) return; ((Vec2ShaderUniform*)uniform)->setValue(value); } void AbstractShader::setVec3 (const std::string& name, const vec3& value) { ShaderUniform* uniform = getUniform(name); if(!uniform || uniform->getType() != SHADER_UNIFORM_VEC3) return; ((Vec3ShaderUniform*)uniform)->setValue(value); } void AbstractShader::setVec2Array (const std::string& name, vec2* value) { ShaderUniform* uniform = getUniform(name); if(!uniform || uniform->getType() != SHADER_UNIFORM_VEC2_ARRAY) return; ((Vec2ArrayShaderUniform*)uniform)->setValue(value); } void AbstractShader::setVec2Array (const std::string& name, std::vector& value) { ShaderUniform* uniform = getUniform(name); if(!uniform || uniform->getType() != SHADER_UNIFORM_VEC2_ARRAY) return; ((Vec2ArrayShaderUniform*)uniform)->setValue(value); } void AbstractShader::setVec3Array (const std::string& name, vec3* value) { ShaderUniform* uniform = getUniform(name); if(!uniform || uniform->getType() != SHADER_UNIFORM_VEC3_ARRAY) return; ((Vec3ArrayShaderUniform*)uniform)->setValue(value); } void AbstractShader::setVec3Array (const std::string& name, std::vector& value) { ShaderUniform* uniform = getUniform(name); if(!uniform || uniform->getType() != SHADER_UNIFORM_VEC3_ARRAY) return; ((Vec3ArrayShaderUniform*)uniform)->setValue(value); } void AbstractShader::setVec4Array (const std::string& name, vec4* value) { ShaderUniform* uniform = getUniform(name); if(!uniform || uniform->getType() != SHADER_UNIFORM_VEC4_ARRAY) return; ((Vec4ArrayShaderUniform*)uniform)->setValue(value); } void AbstractShader::setVec4Array (const std::string& name, std::vector& value) { ShaderUniform* uniform = getUniform(name); if(!uniform || uniform->getType() != SHADER_UNIFORM_VEC4_ARRAY) return; ((Vec4ArrayShaderUniform*)uniform)->setValue(value); } void AbstractShader::setVec4 (const std::string& name, const vec4& value) { ShaderUniform* uniform = getUniform(name); if(!uniform || uniform->getType() != SHADER_UNIFORM_VEC4) return; ((Vec4ShaderUniform*)uniform)->setValue(value); } void AbstractShader::setMat3 (const std::string& name, const mat3& value) { ShaderUniform* uniform = getUniform(name); if(!uniform || uniform->getType() != SHADER_UNIFORM_MAT3) return; ((Mat3ShaderUniform*)uniform)->setValue(value); } void AbstractShader::setMat4 (const std::string& name, const mat4& value) { ShaderUniform* uniform = getUniform(name); if(!uniform || uniform->getType() != SHADER_UNIFORM_MAT4) return; ((Mat4ShaderUniform*)uniform)->setValue(value); } void AbstractShader::setBaked(const std::string& name, bool baked) { ShaderUniform* uniform = getUniform(name); if(!uniform) return; uniform->setBaked(baked); } void AbstractShader::setBakedUniforms(bool baked) { for(std::map::iterator it= uniforms.begin(); it!=uniforms.end();it++) { it->second->setBaked(baked); } } const std::list& AbstractShader::getUniforms() { return uniform_list; } void AbstractShader::applyUniforms() { for(std::map::iterator it= uniforms.begin(); it!=uniforms.end();it++) { ShaderUniform* u = it->second; if(!u->isBaked()) applyUniform(u); } } bool AbstractShader::needsCompile() { for(std::map::iterator it= uniforms.begin(); it!=uniforms.end();it++) { ShaderUniform* u = it->second; if(u->isBaked() && u->isModified()) { //infoLog("baked uniform %s needs update", u->getName().c_str()); return true; } } return false; } logstalgia-1.0.7/src/core/seeklog.h0000644000203100020310000000550412611522305017001 0ustar andrewcandrewc/* Copyright (c) 2009 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef SEEK_LOG_H #define SEEK_LOG_H #include "display.h" #include "logger.h" #include #include #include #include class BaseLog { protected: std::istream* stream; public: virtual ~BaseLog() {}; virtual bool getNextLine(std::string& line) { return false; }; virtual bool isFinished() { return false; }; }; class StreamLog : public BaseLog { bool fcntl_fail; #ifdef _WIN32 HANDLE stdin_handle; #endif public: StreamLog(); ~StreamLog(); bool getNextLine(std::string& line); bool isFinished(); }; class SeekLogException : public std::exception { protected: std::string filename; public: SeekLogException(std::string& filename) : filename(filename) {} virtual ~SeekLogException() throw () {}; virtual const char* what() const throw() { return filename.c_str(); } }; class SeekLog : public BaseLog { std::string logfile; long long file_size; float current_percent; bool readFully(); public: SeekLog(std::string logfile); ~SeekLog(); void setPointer(std::streampos pointer); std::streampos getPointer(); void seekTo(float percent); bool getNextLine(std::string& line); bool getNextLineAt(std::string& line, float percent); float getPercent(); bool isFinished(); }; extern long long gSeekLogMaxBufferSize; #endif logstalgia-1.0.7/src/core/sdlapp.cpp0000644000203100020310000002630412611522305017167 0ustar andrewcandrewc/* Copyright (c) 2009 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "sdlapp.h" #include "display.h" #include "logger.h" #include "SDL_syswm.h" std::string gSDLAppResourceDir; std::string gSDLAppConfDir; #ifdef _WIN32 std::string gSDLAppPathSeparator = "\\"; #else std::string gSDLAppPathSeparator = "/"; #endif std::string gSDLAppTitle = "SDL App"; std::string gSDLAppExec = "sdlapp"; #ifdef _WIN32 HWND SDLApp::console_window = 0; bool SDLApp::existing_console = false; void SDLApp::showConsole(bool show) { if(!SDLApp::console_window) return; ShowWindow( SDLApp::console_window, show); } void SDLApp::initConsole() { if(SDLApp::console_window != 0) return; SDLApp::console_window = GetConsoleWindow(); // check if this is a new console or not CONSOLE_SCREEN_BUFFER_INFO buffer_info; if(GetConsoleScreenBufferInfo( GetStdHandle( STD_OUTPUT_HANDLE ), &buffer_info )) { existing_console = !(buffer_info.dwCursorPosition.X==0 && buffer_info.dwCursorPosition.Y==0); } // don't customize the console unless it was created for this program if(existing_console) return; //disable the close button so the user cant crash the application HMENU hm = GetSystemMenu(SDLApp::console_window, false); DeleteMenu(hm, SC_CLOSE, MF_BYCOMMAND); //set title char consoleTitle[512]; int console_suffix = 0; sprintf(consoleTitle, "%s Console", gSDLAppTitle.c_str()); while(FindWindow(0, consoleTitle)) { sprintf(consoleTitle, "%s Console %d", gSDLAppTitle.c_str(), ++console_suffix); } SetConsoleTitle(consoleTitle); } void SDLApp::resizeConsole(int height) { if(SDLApp::console_window !=0 && !existing_console) { RECT windowRect; if(GetWindowRect(SDLApp::console_window, &windowRect)) { float width = windowRect.right - windowRect.left; MoveWindow(SDLApp::console_window,windowRect.left,windowRect.top,width,height,true); } } } #endif bool SDLAppDirExists(std::string dir) { struct stat st; return !stat(dir.c_str(), &st) && S_ISDIR(st.st_mode); } std::string SDLAppAddSlash(std::string path) { //append slash unless the path is empty if(path.size() && path[path.size()-1] != gSDLAppPathSeparator[0]) { path += gSDLAppPathSeparator; } return path; } //info message void SDLAppInfo(std::string msg) { #ifdef _WIN32 SDLApp::showConsole(true); #endif printf("%s\n", msg.c_str()); #ifdef _WIN32 if(!SDLApp::existing_console) { printf("\nPress Enter\n"); getchar(); } #endif exit(0); } //display error only void SDLAppQuit(std::string error) { SDL_Quit(); #ifdef _WIN32 SDLApp::showConsole(true); #endif fprintf(stderr, "%s: %s\n", gSDLAppExec.c_str(), error.c_str()); fprintf(stderr, "Try '%s --help' for more information.\n\n", gSDLAppExec.c_str()); #ifdef _WIN32 if(!SDLApp::existing_console) { fprintf(stderr, "Press Enter\n"); getchar(); } #endif exit(1); } bool SDLApp::getClipboardText(std::string& text) { #if SDL_VERSION_ATLEAST(2,0,0) char* clipboard_text = SDL_GetClipboardText(); if(clipboard_text!=0) { text = std::string(clipboard_text); } else { text.resize(0); } return true; #else return false; #endif } void SDLApp::setClipboardText(const std::string& text) { #if SDL_VERSION_ATLEAST(2,0,0) SDL_SetClipboardText(text.c_str()); #endif } void SDLAppInit(std::string apptitle, std::string execname) { gSDLAppTitle = apptitle; gSDLAppExec = execname; std::string conf_dir = ""; std::string resource_dir = "data/"; std::string fonts_dir = "data/fonts/"; std::string shaders_dir = "data/shaders/"; #ifdef _WIN32 char szAppPath[MAX_PATH]; GetModuleFileName(0, szAppPath, MAX_PATH); // Extract directory std::string exepath = std::string(szAppPath); int pos = exepath.rfind("\\"); std::string path = exepath.substr(0, pos+1); conf_dir = path + std::string("\\"); resource_dir = path + std::string("\\data\\"); fonts_dir = path + std::string("\\data\\fonts\\"); shaders_dir = path + std::string("\\data\\shaders\\"); #else //get working directory char cwd_buff[1024]; if(getcwd(cwd_buff, 1024) == cwd_buff) { conf_dir = std::string(cwd_buff) + std::string("/"); resource_dir = std::string(cwd_buff) + std::string("/") + resource_dir; fonts_dir = std::string(cwd_buff) + std::string("/") + fonts_dir; shaders_dir = std::string(cwd_buff) + std::string("/") + shaders_dir; } #endif #ifdef SDLAPP_CONF_DIR if (SDLAppDirExists(SDLAPP_CONF_DIR)) { conf_dir = SDLAPP_CONF_DIR; } #endif #ifdef SDLAPP_RESOURCE_DIR if (SDLAppDirExists(SDLAPP_RESOURCE_DIR)) { resource_dir = SDLAPP_RESOURCE_DIR; fonts_dir = SDLAPP_RESOURCE_DIR + std::string("/fonts/"); shaders_dir = SDLAPP_RESOURCE_DIR + std::string("/shaders/"); } #endif #ifdef SDLAPP_FONT_DIR if (SDLAppDirExists(SDLAPP_FONT_DIR)) { fonts_dir = SDLAPP_FONT_DIR; } #endif resource_dir = SDLAppAddSlash(resource_dir); conf_dir = SDLAppAddSlash(conf_dir); fonts_dir = SDLAppAddSlash(fonts_dir); shaders_dir = SDLAppAddSlash(shaders_dir); texturemanager.setDir(resource_dir); fontmanager.setDir(fonts_dir); shadermanager.setDir(shaders_dir); gSDLAppResourceDir = resource_dir; gSDLAppConfDir = conf_dir; gSDLAppShaderDir = shaders_dir; fontmanager.init(); } void SDLAppParseArgs(int argc, char *argv[], int* xres, int* yres, bool* fullscreen, std::vector* otherargs) { for (int i=1; i1 && args[0] == '-' && args.rfind("x") != std::string::npos) { std::string displayarg = args; while(displayarg.size()>1 && displayarg[0] == '-') { displayarg = displayarg.substr(1, displayarg.size()-1); } size_t x = displayarg.rfind("x"); if(x != std::string::npos) { std::string widthstr = displayarg.substr(0, x); std::string heightstr = displayarg.substr(x+1); int width = atoi(widthstr.c_str()); int height = atoi(heightstr.c_str()); if(width>0 && height>0) { debugLog("w=%d, h=%d",width,height); *xres = width; *yres = height; continue; } } } // non display argument if(otherargs != 0) { otherargs->push_back(args); } } } SDLApp::SDLApp() { fps=0; return_code=0; appFinished=false; min_delta_msec = 8; } void SDLApp::updateFramerate() { if(fps_updater>0) { fps = (float)frame_count / (float)fps_updater * 1000.0f; } else { fps = 0; } fps_updater = 0; frame_count = 0; } bool SDLApp::isFinished() { return appFinished; } int SDLApp::returnCode() { return return_code; } void SDLApp::stop(int return_code) { this->return_code = return_code; appFinished=true; } bool SDLApp::handleEvent(SDL_Event& event) { switch(event.type) { case SDL_QUIT: quit(); break; case SDL_MOUSEMOTION: mouseMove(&event.motion); break; #if SDL_VERSION_ATLEAST(2,0,0) case SDL_TEXTINPUT: textInput(&event.text); break; case SDL_TEXTEDITING: textEdit(&event.edit); break; case SDL_MOUSEWHEEL: mouseWheel(&event.wheel); break; case SDL_WINDOWEVENT: if(event.window.event == SDL_WINDOWEVENT_RESIZED) { resize(event.window.data1, event.window.data2); } break; #else case SDL_VIDEORESIZE: resize(event.resize.w, event.resize.h); break; #endif case SDL_MOUSEBUTTONDOWN: case SDL_MOUSEBUTTONUP: mouseClick(&event.button); break; case SDL_KEYDOWN: case SDL_KEYUP: keyPress(&event.key); break; default: return false; } return true; } int SDLApp::run() { Uint32 msec=0, last_msec=0, buffer_msec=0, total_msec = 0; frame_count = 0; fps_updater = 0; if(!appFinished) init(); msec = SDL_GetTicks(); last_msec = msec; #if SDL_VERSION_ATLEAST(2,0,0) //text input seems to be enabled by default, turn it off SDL_StopTextInput(); #endif while(!appFinished) { last_msec = msec; msec = SDL_GetTicks(); Uint32 delta_msec = msec - last_msec; // cant have delta ticks be less than 8ms buffer_msec += delta_msec; if(buffer_msec < min_delta_msec) { SDL_Delay(1); continue; } delta_msec = buffer_msec; buffer_msec =0; //determine time elapsed since last time we were here total_msec += delta_msec; float t = total_msec / 1000.0f; float dt = delta_msec / 1000.0f; fps_updater += delta_msec; //update framerate if a second has passed if (fps_updater >= 1000) { updateFramerate(); } //process new events SDL_Event event; while ( SDL_PollEvent(&event) ) { handleEvent(event); } update(t, dt); //update display display.update(); frame_count++; } return return_code; } logstalgia-1.0.7/src/core/ppm.h0000644000203100020310000000373612611522305016151 0ustar andrewcandrewc/* Copyright (C) 2009 Johannes Schindelin (johannes.schindelin@gmx.de) 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 . */ #ifndef PPM_FRAME_EXPORTER_H #define PPM_FRAME_EXPORTER_H #include #include #include #include #include #include "sdlapp.h" #include "display.h" enum { FRAME_EXPORTER_WAIT, FRAME_EXPORTER_DUMP, FRAME_EXPORTER_EXIT, FRAME_EXPORTER_STOPPED }; class FrameExporter { protected: char* pixels1; char* pixels2; char* pixels_out; char* pixels_shared_ptr; size_t rowstride; GLuint screentex; SDL_Thread* thread; SDL_mutex* mutex; SDL_cond* cond; int dumper_thread_state; public: FrameExporter(); virtual ~FrameExporter(); void stop(); void dump(); void dumpThr(); virtual void dumpImpl() {}; }; class PPMExporterException : public std::exception { protected: std::string filename; public: PPMExporterException(std::string& filename) : filename(filename) {} virtual ~PPMExporterException() throw () {}; virtual const char* what() const throw() { return filename.c_str(); } }; class PPMExporter : public FrameExporter { protected: std::ostream* output; std::string filename; char ppmheader[1024]; public: PPMExporter(std::string outputfile); virtual ~PPMExporter(); virtual void dumpImpl(); }; #endif logstalgia-1.0.7/src/core/settings.cpp0000644000203100020310000002516012611522305017543 0ustar andrewcandrewc/* Copyright (C) 2009 Andrew Caudwell (acaudwell@gmail.com) 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 . */ #include "settings.h" #include "regex.h" #include "timezone.h" Regex SDLAppSettings_rect_regex("^([0-9.]+)x([0-9.]+)$"); Regex SDLAppSettings_viewport_regex("^([0-9.]+)x([0-9.]+)(!)?$"); SDLAppSettings::SDLAppSettings() { setDisplayDefaults(); default_section_name = "settings"; //conf entries in other sections conf_sections["viewport"] = "display"; conf_sections["windowed"] = "display"; conf_sections["fullscreen"] = "display"; conf_sections["multi-sampling"] = "display"; conf_sections["output-ppm-stream"] = "display"; conf_sections["output-framerate"] = "display"; conf_sections["transparent"] = "display"; conf_sections["no-vsync"] = "display"; //translate args arg_aliases["f"] = "fullscreen"; arg_aliases["w"] = "windowed"; arg_aliases["o"] = "output-ppm-stream"; arg_aliases["r"] = "output-framerate"; //boolean args arg_types["viewport"] = "string"; arg_types["windowed"] = "bool"; arg_types["fullscreen"] = "bool"; arg_types["transparent"] = "bool"; arg_types["multi-sampling"] = "bool"; arg_types["no-vsync"] = "bool"; arg_types["output-ppm-stream"] = "string"; arg_types["output-framerate"] = "int"; } void SDLAppSettings::setDisplayDefaults() { display_width = 1024; #ifdef __APPLE__ display_height = 640; #else display_height = 768; #endif fullscreen = false; multisample = false; transparent = false; resizable = true; vsync = true; output_ppm_filename = ""; output_framerate = 60; } void SDLAppSettings::exportDisplaySettings(ConfFile& conf) { ConfSection* section = new ConfSection("display"); char viewportbuff[256]; snprintf(viewportbuff, 256, "%dx%d%s", display_width, display_height, resizable ? "" : "!" ); std::string viewport = std::string(viewportbuff); section->setEntry(new ConfEntry("viewport", viewport)); if(fullscreen) section->setEntry(new ConfEntry("fullscreen", fullscreen)); if(multisample) section->setEntry(new ConfEntry("multi-sampling", multisample)); if(!vsync) { section->setEntry(new ConfEntry("no-vsync", true)); } conf.setSection(section); } bool SDLAppSettings::parseRectangle(const std::string& value, int& x, int& y) { std::vector matches; if(SDLAppSettings_rect_regex.match(value, &matches)) { x = atoi(matches[0].c_str()); y = atoi(matches[1].c_str()); return true; } return false; } bool SDLAppSettings::parseViewport(const std::string& value, int& x, int& y, bool& no_resize) { std::vector matches; if(SDLAppSettings_viewport_regex.match(value, &matches)) { x = atoi(matches[0].c_str()); y = atoi(matches[1].c_str()); if(matches.size()>2) no_resize = true; if(x>0 && y>0) return true; } return false; } void SDLAppSettings::parseArgs(int argc, char *argv[], ConfFile& conffile, std::vector* files) { std::vector arguments; for (int i=1; i& arguments, ConfFile& conffile, std::vector* files) { std::map::iterator findit; for(int i=0;i1 && args[0] == '-') { args = args.substr(1, args.size()-1); is_option = true; } if(args.size()==0) continue; if(!is_option) { if(files!=0) { files->push_back(args); } continue; } //translate args with aliases if((findit = arg_aliases.find(args)) != arg_aliases.end()) { args = findit->second; } //NUMBERxNUMBER is a magic alias for viewport if(args.size()>1 && args.rfind("x") != std::string::npos) { std::string displayarg = args; int width = 0; int height = 0; bool no_resize = false; if(parseViewport(displayarg, width, height, no_resize)) { if(width>0 && height>0) { ConfSection* display_settings = conffile.getSection("display"); if(!display_settings) { display_settings = conffile.addSection("display"); } display_settings->setEntry("viewport", displayarg); continue; } } } //get type std::string arg_type; if((findit = arg_types.find(args)) != arg_types.end()) { arg_type = findit->second; } else { std::string unknown_option = std::string("unknown option ") + args; throw ConfFileException(unknown_option, "", 0); } //get value (or set to true for booleans) std::string argvalue; if(arg_type == "bool") argvalue = "true"; else if((i+1)second; } //command line options dont go into the conf file if(section_name == "command-line") { commandLineOption(args, argvalue); continue; } //get section(s) of this type ConfSectionList* sections = conffile.getSections(section_name); if(sections == 0) { conffile.addSection(section_name); sections = conffile.getSections(section_name); } //apply to section for(ConfSectionList::iterator it = sections->begin(); it != sections->end(); it++) { ConfSection* section = *it; if(arg_type == "multi-value") { section->addEntry(args, argvalue); } else { section->setEntry(args, argvalue); } } } } bool SDLAppSettings::parseDateTime(const std::string& datetime, time_t& timestamp) { int timezone_offset = 0; Regex timestamp_regex("^(\\d{4})-(\\d{2})-(\\d{2})(?: (\\d{1,2}):(\\d{2})(?::(\\d{2}))?)?(?: ([+-])(\\d{1,2}))?$"); std::vector results; if(!timestamp_regex.match(datetime, &results) || results.size() < 3) return false; struct tm timeinfo; memset(&timeinfo, 0, sizeof(timeinfo)); timeinfo.tm_isdst = -1; timeinfo.tm_year = atoi(results[0].c_str()) - 1900; timeinfo.tm_mon = atoi(results[1].c_str()) - 1; timeinfo.tm_mday = atoi(results[2].c_str()); // optional: hours, minutes and seconds if(results.size() >= 5) { timeinfo.tm_hour = atoi(results[3].c_str()); timeinfo.tm_min = atoi(results[4].c_str()); if(results.size() >= 6) { timeinfo.tm_sec = atoi(results[5].c_str()); } } // optional: timezone (optional) if(results.size() >= 8) { int tz_hour = atoi(results[7].c_str()); int tz_min = 0; if(results.size() >= 9) { tz_min = atoi(results[8].c_str()); } int tz_offset = tz_hour * 3600 + tz_min * 60; if(results[6] == "-") { tz_offset = -tz_offset; } timestamp = mktime_utc(&timeinfo); timestamp -= tz_offset; } else { timestamp = mktime(&timeinfo); } return true; } void SDLAppSettings::importDisplaySettings(ConfFile& conffile) { setDisplayDefaults(); ConfSection* display_settings = conffile.getSection("display"); if(display_settings == 0) return; ConfEntry* entry = 0; bool viewport_specified = false; if((entry = display_settings->getEntry("viewport")) != 0) { std::string viewport = entry->getString(); int width = 0; int height = 0; bool no_resize = false; if(parseViewport(viewport, width, height, no_resize)) { display_width = width; display_height = height; if(no_resize) resizable = false; viewport_specified = true; } else { conffile.invalidValueException(entry); } } if(display_settings->getBool("multi-sampling")) { multisample = true; } if(display_settings->getBool("fullscreen")) { fullscreen = true; } if(display_settings->getBool("windowed")) { fullscreen = false; } // default to use desktop resolution for fullscreen unless specified if(fullscreen && !viewport_specified) { display_width = 0; display_height = 0; } if(display_settings->getBool("transparent")) { transparent = true; } if(display_settings->getBool("no-vsync")) { vsync = false; } if((entry = display_settings->getEntry("output-ppm-stream")) != 0) { if(!entry->hasValue()) { conffile.entryException(entry, "specify ppm output file or '-' for stdout"); } output_ppm_filename = entry->getString(); #ifdef _WIN32 if(output_ppm_filename == "-") { conffile.entryException(entry, "stdout PPM mode not supported on Windows"); } #endif } if((entry = display_settings->getEntry("output-framerate")) != 0) { if(!entry->hasValue()) { conffile.entryException(entry, "specify framerate (25,30,60)"); } output_framerate = entry->getInt(); if( output_framerate != 25 && output_framerate != 30 && output_framerate != 60) { conffile.entryException(entry, "supported framerates are 25,30,60"); } } } logstalgia-1.0.7/src/core/bounds.h0000644000203100020310000001213212611522305016635 0ustar andrewcandrewc/* Copyright (c) 2009 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef BOUNDS_H #define BOUNDS_H #include "display.h" #include "vectors.h" class Bounds2D { public: vec2 min; vec2 max; bool first; vec2 centre() const { return min + (max - min) * 0.5f; } float width() const { return max.x - min.x; } float height() const { return max.y - min.y; } float area() const { return width() * height(); } void reset() { min = vec2(0.0, 0.0); max = vec2(0.0, 0.0); first = true; } Bounds2D() { reset(); } Bounds2D(const vec2& min, const vec2& max) { reset(); update(min); update(max); } void update(const Bounds2D& bounds) { update(bounds.min); update(bounds.max); } void set(const Bounds2D& bounds) { reset(); update(bounds); } void set(vec2 point) { reset(); update(point); } void set(const vec2& a, const vec2& b) { reset(); update(a); update(b); } void update(const vec2& point) { if(first) { min = point; max = point; first=false; return; } if(min.x > point.x) min.x = point.x; if(min.y > point.y) min.y = point.y; if(max.x < point.x) max.x = point.x; if(max.y < point.y) max.y = point.y; } bool contains(const vec2& point) const { if(first) return false; if(min.x<=point.x && min.y<=point.y && max.x >= point.x && max.y >= point.y) return true; return false; } bool overlaps(const Bounds2D & b) const { if(max.y < b.min.y) return false; if(min.y > b.max.y) return false; if(max.x < b.min.x) return false; if(min.x > b.max.x) return false; return true; } void draw() const{ glBegin(GL_LINE_STRIP); glVertex2fv(glm::value_ptr(min)); glVertex2f(max.x, min.y); glVertex2fv(glm::value_ptr(max)); glVertex2f(min.x, max.y); glVertex2fv(glm::value_ptr(min)); glEnd(); } }; class Bounds3D { public: vec3 min; vec3 max; bool first; void reset() { min = vec3(0.0, 0.0, 0.0); max = vec3(0.0, 0.0, 0.0); first = true; } Bounds3D() { reset(); } Bounds3D(vec3 min, vec3 max) { reset(); update(min); update(max); } float width() { return max.x - min.x; } float height() { return max.y - min.y; } float depth() { return max.z - min.z; } float area() { return width() * height() * depth(); } vec3 centre() { return min + ((max-min) * 0.5f); } void update(vec3 point) { if(first) { min = point; max = point; first = false; return; } if(min.x > point.x) min.x = point.x; if(min.y > point.y) min.y = point.y; if(min.z > point.z) min.z = point.z; if(max.x < point.x) max.x = point.x; if(max.y < point.y) max.y = point.y; if(max.z < point.z) max.z = point.z; } bool contains(vec3& point) { if(first) return false; if(min.x<=point.x && min.y<=point.y && min.z<=point.z && max.x >= point.x && max.y >= point.y && max.z >= point.z) return true; return false; } void draw() { glColor4f(1.0f, 1.0f, 1.0f, 1.0f); glBegin(GL_LINES); glVertex3fv(glm::value_ptr(min)); glVertex3fv(glm::value_ptr(max)); glEnd(); } }; #endif logstalgia-1.0.7/src/core/ftgl/0000755000203100020310000000000012611522305016127 5ustar andrewcandrewclogstalgia-1.0.7/src/core/ftgl/FTUnicode.h0000644000203100020310000001773412611522305020134 0ustar andrewcandrewc/* * FTGL - OpenGL font library * * Copyright (c) 2008 Daniel Remenak * * Portions derived from ConvertUTF.c Copyright (C) 2001-2004 Unicode, Inc * Unicode, Inc. hereby grants the right to freely use the information * supplied in this file in the creation of products supporting the * Unicode Standard, and to make copies of this file in any form * for internal or external distribution as long as this notice * remains attached. * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef __FTUnicode__ #define __FTUnicode__ /** * Provides a way to easily walk multibyte unicode strings in the various * Unicode encodings (UTF-8, UTF-16, UTF-32, UCS-2, and UCS-4). Encodings * with elements larger than one byte must already be in the correct endian * order for the current architecture. */ template class FTUnicodeStringItr { public: /** * Constructor. Also reads the first character and stores it. * * @param string The buffer to iterate. No copy is made. */ FTUnicodeStringItr(const T* string) : curPos(string), nextPos(string) { (*this)++; }; /** * Pre-increment operator. Reads the next unicode character and sets * the state appropriately. * Note - not protected against overruns. */ FTUnicodeStringItr& operator++() { curPos = nextPos; // unicode handling switch (sizeof(T)) { case 1: // UTF-8 // get this character readUTF8(); break; case 2: // UTF-16 readUTF16(); break; case 4: // UTF-32 // fall through default: // error condition really, but give it a shot anyway curChar = *nextPos++; } return *this; } /** * Post-increment operator. Reads the next character and sets * the state appropriately. * Note - not protected against overruns. */ FTUnicodeStringItr operator++(int) { FTUnicodeStringItr temp = *this; ++*this; return temp; } /** * Equality operator. Two FTUnicodeStringItrs are considered equal * if they have the same current buffer and buffer position. */ bool operator==(const FTUnicodeStringItr& right) const { if (curPos == right.getBufferFromHere()) return true; return false; } /** * Dereference operator. * * @return The unicode codepoint of the character currently pointed * to by the FTUnicodeStringItr. */ unsigned int operator*() const { return curChar; } /** * Buffer-fetching getter. You can use this to retreive the buffer * starting at the currently-iterated character for functions which * require a Unicode string as input. */ const T* getBufferFromHere() const { return curPos; } private: /** * Helper function for reading a single UTF8 character from the string. * Updates internal state appropriately. */ void readUTF8(); /** * Helper function for reading a single UTF16 character from the string. * Updates internal state appropriately. */ void readUTF16(); /** * The buffer position of the first element in the current character. */ const T* curPos; /** * The character stored at the current buffer position (prefetched on * increment, so there's no penalty for dereferencing more than once). */ unsigned int curChar; /** * The buffer position of the first element in the next character. */ const T* nextPos; // unicode magic numbers static const char utf8bytes[256]; static const unsigned long offsetsFromUTF8[6]; static const unsigned long highSurrogateStart; static const unsigned long highSurrogateEnd; static const unsigned long lowSurrogateStart; static const unsigned long lowSurrogateEnd; static const unsigned long highSurrogateShift; static const unsigned long lowSurrogateBase; }; /* The first character in a UTF8 sequence indicates how many bytes * to read (among other things) */ template const char FTUnicodeStringItr::utf8bytes[256] = { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, 4,4,4,4,4,4,4,4,5,5,5,5,6,6,6,6 }; /* Magic values subtracted from a buffer value during UTF8 conversion. * This table contains as many values as there might be trailing bytes * in a UTF-8 sequence. */ template const unsigned long FTUnicodeStringItr::offsetsFromUTF8[6] = { 0x00000000UL, 0x00003080UL, 0x000E2080UL, 0x03C82080UL, 0xFA082080UL, 0x82082080UL }; // get a UTF8 character; leave the tracking pointer at the start of the // next character // not protected against invalid UTF8 template inline void FTUnicodeStringItr::readUTF8() { unsigned int ch = 0; unsigned int extraBytesToRead = utf8bytes[(unsigned char)(*nextPos)]; // falls through switch (extraBytesToRead) { case 6: ch += *nextPos++; ch <<= 6; /* remember, illegal UTF-8 */ case 5: ch += *nextPos++; ch <<= 6; /* remember, illegal UTF-8 */ case 4: ch += *nextPos++; ch <<= 6; case 3: ch += *nextPos++; ch <<= 6; case 2: ch += *nextPos++; ch <<= 6; case 1: ch += *nextPos++; } ch -= offsetsFromUTF8[extraBytesToRead-1]; curChar = ch; } // Magic numbers for UTF-16 conversions template const unsigned long FTUnicodeStringItr::highSurrogateStart = 0xD800; template const unsigned long FTUnicodeStringItr::highSurrogateEnd = 0xDBFF; template const unsigned long FTUnicodeStringItr::lowSurrogateStart = 0xDC00; template const unsigned long FTUnicodeStringItr::lowSurrogateEnd = 0xDFFF; template const unsigned long FTUnicodeStringItr::highSurrogateShift = 10; template const unsigned long FTUnicodeStringItr::lowSurrogateBase = 0x0010000UL; template inline void FTUnicodeStringItr::readUTF16() { unsigned int ch = *nextPos++; // if we have the first half of the surrogate pair if (ch >= highSurrogateStart && ch <= highSurrogateEnd) { unsigned int ch2 = *curPos; // complete the surrogate pair if (ch2 >= lowSurrogateStart && ch2 <= lowSurrogateEnd) { ch = ((ch - highSurrogateStart) << highSurrogateShift) + (ch2 - lowSurrogateStart) + lowSurrogateBase; ++nextPos; } } curChar = ch; } #endif logstalgia-1.0.7/src/core/resource.h0000644000203100020310000000522212611522305017174 0ustar andrewcandrewc/* Copyright (c) 2009 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef RESOURCEMANAGER_H #define RESOURCEMANAGER_H #include #include #include class ResourceException : public std::exception { protected: std::string resource; public: ResourceException(const std::string& resource) : resource(resource) {} virtual ~ResourceException() throw () {}; virtual const char* what() const throw() { return resource.c_str(); } }; class Resource { int refs; public: std::string resource_name; Resource() { refs =0; }; Resource(const std::string& resource_name) : resource_name(resource_name), refs(0) {}; virtual ~Resource() {}; void setResourceName(const std::string& resource_name) { if(this->resource_name.empty()) this->resource_name = resource_name; }; int refcount() { return refs; }; void addref() { refs++; }; void deref() { refs--; }; }; class ResourceManager { protected: std::map resources; std::string resource_dir; public: void setDir(const std::string& resource_dir); std::string getDir(); ResourceManager(); virtual ~ResourceManager(); void purge(); void release(Resource* resource); }; #endif logstalgia-1.0.7/src/core/stringhash.cpp0000644000203100020310000000467212611522305020062 0ustar andrewcandrewc/* Copyright (c) 2009 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "stringhash.h" int gStringHashSeed = 31; int stringHash(const std::string& str) { int val = 0; int n = str.size(); for (int i = 0; i < n; i++) { val = val + str[i] * (gStringHashSeed^(n-i)); } if(val<0) { val = -val; } return val; } vec2 vec2Hash(const std::string& str) { int hash = stringHash(str); int x = ((hash/7) % 255) - 127; int y = ((hash/3) % 255) - 127; vec2 v = normalise(vec2(x, y)); return v; } vec3 vec3Hash(const std::string& str) { int hash = stringHash(str); int x = ((hash/7) % 255) - 127; int y = ((hash/3) % 255) - 127; int z = hash % 255; vec3 v = normalise(vec3(x, y, z)); return v; } vec3 colourHash(const std::string& str) { int hash = stringHash(str); int r = (hash/7) % 255; if(r<0) r=0; int g = (hash/3) % 255; if(g<0) g=0; int b = hash % 255; vec3 colour = normalise(vec3(r, g, b)); return colour; } logstalgia-1.0.7/src/core/vectors.h0000644000203100020310000000566712611522305017047 0ustar andrewcandrewc/* Copyright (c) 2009 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef VECTORS_H #define VECTORS_H #define GLM_FORCE_RADIANS #include #include #include #include #include using glm::vec2; using glm::vec3; using glm::vec4; using glm::mat3; using glm::mat4; vec2 rotate_vec2(const vec2& v, float s, float c); vec2 normalise(const vec2& v); vec3 normalise(const vec3& v); vec4 normalise(const vec4& v); class lerp2 : public glm::vec2 { public: vec2 p; vec2 l; lerp2() : vec2(), p(), l() { } const lerp2& snap() { p = *this; return *this; } static vec2 lerp(const vec2& a, const vec2& b, float n) { return a + (b - a) * n; } const vec2& lerp(float n) { l = p + (*this - p) * n; return l; } const lerp2& operator= (const vec2& vec) { this->x = vec.x; this->y = vec.y; return *this; } }; class lerp3 : public vec3 { public: vec3 p; vec3 l; lerp3() : vec3(), p(), l() { } const lerp3& snap() { p = *this; return *this; } static vec3 lerp(const vec3& a, const vec3& b, float n) { return a + (b - a) * n; } const vec3& lerp(float n) { l = p + (*this - p) * n; return l; } const lerp3& operator= (const vec3& vec) { this->x = vec.x; this->y = vec.y; this->z = vec.z; return *this; } }; #endif logstalgia-1.0.7/src/core/fxfont.cpp0000644000203100020310000004165112611522305017212 0ustar andrewcandrewc/* Copyright (c) 2009 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Portions of this code are derivived from FTGL (FTTextureFont.cpp) FTGL - OpenGL font library Copyright (c) 2001-2004 Henry Maddocks Copyright (c) 2008 Sam Hocevar Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include "fxfont.h" FXFontManager fontmanager; //FxGlyph FXGlyph::FXGlyph(FXGlyphSet* set, unsigned int chr) { this->set = set; this->chr = chr; FT_Face ftface = set->getFTFace(); FT_UInt index = FT_Get_Char_Index( ftface, chr ); //debugLog("FXGlyph %x %d %d", chr, chr, index); if(FT_Load_Glyph( ftface, index, FT_LOAD_DEFAULT )) throw FXFontException(ftface->family_name); FT_Glyph ftglyph; if(FT_Get_Glyph( ftface->glyph, &ftglyph )) throw FXFontException(ftface->family_name); FT_Glyph_Metrics *metrics = &ftface->glyph->metrics; height = glm::ceil(metrics->height / 64.0); FT_Glyph_To_Bitmap( &ftglyph, FT_RENDER_MODE_NORMAL, 0, 1 ); glyph_bitmap = (FT_BitmapGlyph)ftglyph; dims = vec2( glyph_bitmap->bitmap.width, glyph_bitmap->bitmap.rows) + vec2(2.0f, 2.0f); corner = vec2( glyph_bitmap->left, -glyph_bitmap->top) + vec2(0.5, -0.5); advance = vec2( ftface->glyph->advance.x >> 6, ftface->glyph->advance.y >> 6); vertex_positions[0] = vec2(0.0f, 0.0f); vertex_positions[1] = vec2(dims.x, 0.0f); vertex_positions[2] = dims; vertex_positions[3] = vec2(0.0f, dims.y); //call_list = 0; page = 0; } void FXGlyph::setPage(FXGlyphPage* page, const vec4& texcoords) { this->page = page; this->texcoords = texcoords; vertex_texcoords[0] = vec2(texcoords.x, texcoords.y); vertex_texcoords[1] = vec2(texcoords.z, texcoords.y); vertex_texcoords[2] = vec2(texcoords.z, texcoords.w); vertex_texcoords[3] = vec2(texcoords.x, texcoords.w); } void FXGlyph::drawToVBO(quadbuf& buffer, const vec2& pos, const vec4& colour) const { buffer.add(page->texture->textureid, pos + corner, dims, colour, texcoords); } void FXGlyph::draw(const vec2& pos) const { for(int i=0;i<4;i++) { vec2 pos_offset = vertex_positions[i] + pos + corner; glTexCoord2fv(glm::value_ptr(vertex_texcoords[i])); glVertex2fv(glm::value_ptr(pos_offset)); } } //FXGlyphPage FXGlyphPage::FXGlyphPage(int page_width, int page_height) { this->page_width = page_width; this->page_height = page_height; texture_data = new GLubyte[ page_width * page_height ]; memset(texture_data, 0, page_width * page_height); needs_update = false; texture = 0; max_glyph_height = cursor_x = cursor_y = 1; } FXGlyphPage::~FXGlyphPage() { delete[] texture_data; } bool FXGlyphPage::addGlyph(FXGlyph* glyph) { FT_BitmapGlyph bitmap = glyph->glyph_bitmap; int corner_x = cursor_x; int corner_y = cursor_y; int padding = 3; if(bitmap->bitmap.rows > max_glyph_height) max_glyph_height = bitmap->bitmap.rows; if(corner_x + bitmap->bitmap.width + padding > page_width) { corner_x = 1; corner_y += max_glyph_height + padding; //bitmap is bigger than the full dimension if(corner_x + bitmap->bitmap.width + padding > page_width) return false; } if(corner_y + bitmap->bitmap.rows + padding > page_height) return false; needs_update = true; for(int j=0; j < bitmap->bitmap.rows;j++) { for(int i=0; i < bitmap->bitmap.width; i++) { texture_data[(corner_x+i+(j+corner_y)*page_width)] = bitmap->bitmap.buffer[i + bitmap->bitmap.width*j]; } } //fprintf(stderr, "corner_x = %d, corner_y = %d\n", corner_x, corner_y); vec4 texcoords = vec4( (((float)corner_x)-0.5f) / (float) page_width, (((float)corner_y)-0.5f) / (float) page_height, (((float)corner_x+bitmap->bitmap.width)+1.5f) / (float) page_width, (((float)corner_y+bitmap->bitmap.rows)+1.5f) / (float) page_height ); glyph->setPage(this, texcoords); //glyph->compile(this, texcoords); // move cursor for next character cursor_x = corner_x + bitmap->bitmap.width + padding; cursor_y = corner_y; return true; } void FXGlyphPage::updateTexture() { if(!needs_update) return; if(!texture) { texture = texturemanager.create(page_width, page_height, false, GL_CLAMP_TO_EDGE, GL_ALPHA, texture_data); } else { texture->reload(); } needs_update = false; } //FXGlyphSet FXGlyphSet::FXGlyphSet(FT_Library freetype, const std::string& fontfile, int size, int dpi) { this->freetype = freetype; this->fontfile = fontfile; this->size = size; this->dpi = dpi; this->ftface = 0; this->tab_width = 4.0f; this->max_height = 0; init(); } FXGlyphSet::~FXGlyphSet() { if(ftface!=0) FT_Done_Face(ftface); for(std::vector::iterator it = pages.begin(); it != pages.end(); it++) { delete (*it); } pages.clear(); } void FXGlyphSet::init() { if(FT_New_Face(freetype, fontfile.c_str(), 0, &ftface)) { throw FXFontException(fontfile); } int ft_font_size = 64 * size; FT_Set_Char_Size( ftface, ft_font_size, ft_font_size, dpi, dpi ); double em_size = 1.0 * ftface->units_per_EM; unit_scale = vec2( ftface->size->metrics.x_ppem / em_size, ftface->size->metrics.y_ppem / em_size); precache("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ;:'\",<.>/?-_=+!@#$%^&*()\\ "); } void FXGlyphSet::precache(const std::string& chars) { FTUnicodeStringItr precache_glyphs((const unsigned char*)chars.c_str()); unsigned int chr; //add to bitmap without updating textures until the end pre_caching = true; while (*precache_glyphs) { chr = *precache_glyphs++; getGlyph(chr); } pre_caching = false; for(std::vector::iterator it = pages.begin(); it != pages.end(); it++) { (*it)->updateTexture(); } } FXGlyph* FXGlyphSet::getGlyph(unsigned int chr) { std::map::iterator it; if((it = glyphs.find(chr)) != glyphs.end()) return it->second; //if new FXGlyph* glyph = new FXGlyph(this, chr); // paint glyph to next page it will fit on FXGlyphPage* page = 0; if(!pages.empty()) page = pages.back(); //page is full, create new page if(page == 0 || !page->addGlyph(glyph)) { //allocate page using maximum allowed texture size GLint max_texture_size; glGetIntegerv(GL_MAX_TEXTURE_SIZE, &max_texture_size); max_texture_size = std::min( 512, max_texture_size ); page = new FXGlyphPage(max_texture_size, max_texture_size); pages.push_back(page); if(!page->addGlyph(glyph)) { throw FXFontException(glyph->set->getFTFace()->family_name); } } max_height = glm::max( glyph->getHeight(), max_height ); //update the texture unless this is the precaching process if(!pre_caching) page->updateTexture(); glyphs[chr] = glyph; return glyph; } float FXGlyphSet::getMaxWidth() const { return ftface->size->metrics.max_advance / 64.0f; } float FXGlyphSet::getMaxHeight() const { return max_height; } float FXGlyphSet::getAscender() const { return getFTFace()->ascender * unit_scale.y; } float FXGlyphSet::getDescender() const { return getFTFace()->descender * unit_scale.y; } float FXGlyphSet::getWidth(const std::string& text) { FTUnicodeStringItr unicode_text((const unsigned char*)text.c_str()); float width = 0.0; unsigned int chr; while (*unicode_text) { chr = *unicode_text++; FXGlyph* glyph = getGlyph(chr); width += glyph->getAdvance().x; } return width; } void FXGlyphSet::drawToVBO(vec2& cursor, const std::string& text, const vec4& colour) { FTUnicodeStringItr unicode_text((const unsigned char*)text.c_str()); unsigned int chr; while (*unicode_text) { chr = *unicode_text++; FXGlyph* glyph = getGlyph(chr); glyph->drawToVBO(fontmanager.font_vbo, cursor, colour); cursor += glyph->getAdvance(); } } void FXGlyphSet::draw(const std::string& text) { FTUnicodeStringItr unicode_text((const unsigned char*)text.c_str()); GLuint textureid = -1; unsigned int chr; vec2 pos; std::vector glyphs; glyphs.reserve(text.size()); // iterate over glyphs before drawing to avoid // encountering a new glyph while inside the GL draw call while (*unicode_text) { chr = *unicode_text++; if(chr == '\t') { FXGlyph* glyph = getGlyph('M'); pos += glyph->getAdvance() * tab_width; continue; } FXGlyph* glyph = getGlyph(chr); glyphs.push_back(glyph); } for(auto glyph : glyphs) { if(glyph->page->texture->textureid != textureid) { if(textureid != -1) glEnd(); textureid = glyph->page->texture->textureid; glBindTexture(GL_TEXTURE_2D, textureid); glBegin(GL_QUADS); } glyph->draw(pos); pos += glyph->getAdvance(); } if(textureid != -1) glEnd(); } void FXGlyphSet::drawPages() { glPushMatrix(); for(std::vector::iterator it = pages.begin(); it != pages.end(); it++) { FXGlyphPage* page = *it; page->texture->bind(); glBegin(GL_QUADS); glTexCoord2f(0.0f, 0.0f); glVertex2f(0.0f, 0.0f); glTexCoord2f(1.0f, 0.0f); glVertex2f(page->texture->w, 0.0f); glTexCoord2f(1.0f, 1.0f); glVertex2f(page->texture->w, page->texture->h); glTexCoord2f(0.0f, 1.0f); glVertex2f(0.0f, page->texture->h); glEnd(); glTranslatef(page->texture->w, 0.0f, 0.0f); } glPopMatrix(); } //FXFont FXFont::FXFont() { glyphset = 0; } FXFont::FXFont(FXGlyphSet* glyphset) { this->glyphset = glyphset; init(); } void FXFont::init() { shadow = false; shadow_strength = 0.7; shadow_offset = vec2(1.0, 1.0); round = false; align_right = false; align_top = true; colour = vec4(1.0f, 1.0f, 1.0f, 1.0f); shadow_colour = vec4(0.0f, 0.0f, 0.0f, shadow_strength); } void FXFont::roundCoordinates(bool round) { this->round = round; } void FXFont::alignRight(bool align_right) { this->align_right = align_right; } void FXFont::alignTop(bool align_top) { this->align_top = align_top; } void FXFont::shadowStrength(float s) { shadow_strength = s; shadow_colour.w = colour.w * shadow_strength; } void FXFont::setColour(const vec4& colour) { this->colour = colour; shadow_colour.w = colour.w * shadow_strength; } void FXFont::setAlpha(float alpha) { colour.w = alpha; shadow_colour.w = shadow_strength * alpha; } void FXFont::shadowOffset(float x, float y) { shadow_offset = vec2(x,y); } void FXFont::dropShadow(bool shadow) { this->shadow = shadow; } const std::string& FXFont::getFontFile() const { return glyphset->getFontFile(); } float FXFont::getMaxWidth() const { return glyphset->getMaxWidth(); } float FXFont::getMaxHeight() const { return glyphset->getMaxHeight(); } int FXFont::getFontSize() const { return glyphset->getSize(); } float FXFont::getWidth(const std::string& text) const { return glyphset->getWidth(text); } float FXFont::getAscender() const { return glyphset->getAscender(); } float FXFont::getDescender() const { return glyphset->getDescender(); } void FXFont::render(float x, float y, const std::string& text, const vec4& colour) const{ if(fontmanager.use_vbo) { vec2 cursor_start(x,y); glyphset->drawToVBO(cursor_start, text, colour); return; } glColor4fv(glm::value_ptr(colour)); glPushMatrix(); glTranslatef(x,y,0.0f); glyphset->draw(text); glPopMatrix(); } void FXFont::print(float x, float y, const char *str, ...) const{ char buf[4096]; va_list vl; va_start (vl, str); vsnprintf (buf, 4096, str, vl); va_end (vl); std::string text = std::string(buf); draw(x, y, text); } void FXFont::draw(float x, float y, const std::string& text) const { if(align_right) { x -= getWidth(text); } if(align_top) { y += glm::ceil(getAscender() + getDescender()); } if(round) { x = roundf(x); y = roundf(y); } //buffered fonts need to do shadow in a shader pass if(shadow && !fontmanager.use_vbo) { render(x + shadow_offset.x, y + shadow_offset.y, text, shadow_colour); } render(x, y, text, colour); } void FXFont::drawGlyphes() { if(glyphset) glyphset->drawPages(); } // FXFontManager FXFontManager::FXFontManager() { library = 0; } void FXFontManager::init() { if(FT_Init_FreeType( &library )) throw FXFontException("Failed to init FreeType"); use_vbo = false; } void FXFontManager::unload() { font_vbo.unload(); } void FXFontManager::reload() { } void FXFontManager::startBuffer() { font_vbo.reset(); use_vbo = true; } void FXFontManager::commitBuffer() { font_vbo.update(); use_vbo = false; } void FXFontManager::drawBuffer() { font_vbo.draw(); } void FXFontManager::destroy() { if(library != 0) FT_Done_FreeType(library); } void FXFontManager::setDir(std::string font_dir) { this->font_dir = font_dir; } void FXFontManager::purge() { for(std::map::iterator it = fonts.begin(); it!=fonts.end();it++) { fontSizeMap* sizemap = it->second; for(fontSizeMap::iterator ft_it = sizemap->begin(); ft_it != sizemap->end(); ft_it++) { delete ft_it->second; } delete sizemap; } fonts.clear(); } FXFont FXFontManager::grab(std::string font_file, int size, int dpi) { if(font_dir.size()>0 && font_file[0] != '/') { font_file = font_dir + font_file; } //sprintf(buf, "%s:%i", font_file.c_str(), size); //std::string font_key = std::string(buf); fontSizeMap* sizemap = fonts[font_file]; if(!sizemap) { sizemap = fonts[font_file] = new fontSizeMap; } fontSizeMap::iterator ft_it = sizemap->find(size); FXGlyphSet* glyphset; if(ft_it == sizemap->end()) { glyphset = new FXGlyphSet(library, font_file.c_str(), size, dpi); sizemap->insert(std::pair(size,glyphset)); } else { glyphset = ft_it->second; } return FXFont(glyphset); } logstalgia-1.0.7/src/core/regex.h0000644000203100020310000000512212611522305016456 0ustar andrewcandrewc/* Copyright (c) 2009 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef REGEX_H #define REGEX_H #define REGEX_MAX_MATCHES 100 #include "pcre.h" #include #include #include class RegexCompilationException : public std::exception { protected: std::string regex; public: RegexCompilationException(std::string& regex) : regex(regex) {} virtual ~RegexCompilationException() throw () {}; virtual const char* what() const throw() { return regex.c_str(); } }; class Regex { const char *error; int erroffset; pcre *re; bool valid; int replaceOffset(std::string& str, const std::string& replacement_str, int offset=0); int matchOffset(const std::string& str, std::vector* results = 0, int offset=0); public: Regex(std::string regex, bool test = false); ~Regex(); bool match(const std::string& str, std::vector* results = 0); bool matchAll(const std::string& str, std::vector* results = 0); bool replace(std::string& str, const std::string& replacement_str); bool replaceAll(std::string& str, const std::string& replacement_str); bool isValid(); }; #endif logstalgia-1.0.7/src/core/ppm.cpp0000644000203100020310000001041212611522305016471 0ustar andrewcandrewc/* Copyright (C) 2009 Johannes Schindelin (johannes.schindelin@gmx.de) 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 . */ #include "ppm.h" extern "C" { static int dumper_thread(void *arg) { FrameExporter *e = static_cast(arg); e->dumpThr(); return 0; } }; // FrameExporter FrameExporter::FrameExporter() { //this now assumes the display is setup //before the frame exporter is created //(which seems reasonable) rowstride = display.width * 3; pixels1 = new char[display.height * rowstride]; pixels2 = new char[display.height * rowstride]; pixels_out = new char[display.height * rowstride]; pixels_shared_ptr = 0; dumper_thread_state = FRAME_EXPORTER_WAIT; cond = SDL_CreateCond(); mutex = SDL_CreateMutex(); #if SDL_VERSION_ATLEAST(2,0,0) thread = SDL_CreateThread( dumper_thread, "frame_exporter", this ); #else thread = SDL_CreateThread( dumper_thread, this ); #endif } FrameExporter::~FrameExporter() { stop(); SDL_DestroyCond(cond); SDL_DestroyMutex(mutex); pixels_shared_ptr = 0; delete[] pixels1; delete[] pixels2; delete[] pixels_out; } void FrameExporter::stop() { if(!thread) return; if(dumper_thread_state == FRAME_EXPORTER_STOPPED || dumper_thread_state == FRAME_EXPORTER_EXIT) return; SDL_mutexP(mutex); dumper_thread_state = FRAME_EXPORTER_EXIT; SDL_CondSignal(cond); SDL_mutexV(mutex); SDL_WaitThread(thread, 0); thread = 0; } void FrameExporter::dump() { display.mode2D(); glEnable(GL_TEXTURE_2D); glDisable(GL_BLEND); char* next_pixel_ptr = (pixels_shared_ptr == pixels1) ? pixels2 : pixels1; // copy pixels - now the right way up glPixelStorei(GL_PACK_ALIGNMENT, 1); glReadPixels(0, 0, display.width, display.height, GL_RGB, GL_UNSIGNED_BYTE, next_pixel_ptr); // wait for lock before changing the pointer to point to our new buffer SDL_mutexP(mutex); //flip buffer we are pointing at pixels_shared_ptr = next_pixel_ptr; dumper_thread_state = FRAME_EXPORTER_DUMP; SDL_CondSignal(cond); SDL_mutexV(mutex); } void FrameExporter::dumpThr() { SDL_mutexP(mutex); while(dumper_thread_state != FRAME_EXPORTER_EXIT) { dumper_thread_state = FRAME_EXPORTER_WAIT; while (dumper_thread_state == FRAME_EXPORTER_WAIT) { SDL_CondWait(cond, mutex); } if (dumper_thread_state == FRAME_EXPORTER_EXIT) break; if (pixels_shared_ptr != 0) { //invert image for(int y=0;yfail()) { delete output; throw PPMExporterException(outputfile); } } //write header sprintf(ppmheader, "P6\n# Generated by %s\n%d %d\n255\n", gSDLAppTitle.c_str(), display.width, display.height ); } PPMExporter::~PPMExporter() { stop(); if(filename.size()>0) ((std::fstream*)output)->close(); } void PPMExporter::dumpImpl() { *output << ppmheader; output->write(pixels_out, rowstride * display.height); } logstalgia-1.0.7/src/core/display.cpp0000644000203100020310000004111712611522305017350 0ustar andrewcandrewc /* Copyright (c) 2008 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "display.h" #include "sdlapp.h" #include #if SDL_VERSION_ATLEAST(2,0,0) #include "SDL_syswm.h" #endif SDLAppDisplay display; SDLAppDisplay::SDLAppDisplay() { clear_colour = vec4(0.0f,0.0f,0.0f,1.0f); zbuffer_depth = 16; enable_alpha = false; vsync = false; resizable = false; frameless = false; multi_sample = 0; width = 0; height = 0; desktop_width = 0; desktop_height = 0; windowed_width = 0; windowed_height = 0; #if SDL_VERSION_ATLEAST(2,0,0) sdl_window = 0; gl_context = 0; framed_width = 0; framed_height = 0; framed_x = 0; framed_y = 0; #else surface = 0; #endif } SDLAppDisplay::~SDLAppDisplay() { } void SDLAppDisplay::setClearColour(vec3 colour) { setClearColour(vec4(colour, enable_alpha ? 0.0f : 1.0f)); } void SDLAppDisplay::setClearColour(vec4 colour) { clear_colour = colour; } Uint32 SDLAppDisplay::SDLWindowFlags(bool fullscreen) { #if SDL_VERSION_ATLEAST(2,0,0) Uint32 flags = SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN; if (frameless) flags |= SDL_WINDOW_BORDERLESS; if (resizable && !frameless) flags |= SDL_WINDOW_RESIZABLE; if (fullscreen) flags |= SDL_WINDOW_FULLSCREEN; #else Uint32 flags = SDL_OPENGL | SDL_HWSURFACE | SDL_ANYFORMAT | SDL_DOUBLEBUF; if (frameless) flags |= SDL_NOFRAME; if (resizable && !fullscreen) flags |= SDL_RESIZABLE; if (fullscreen) flags |= SDL_FULLSCREEN; #endif return flags; } void SDLAppDisplay::enableVsync(bool vsync) { this->vsync = vsync; } void SDLAppDisplay::setZBufferDepth(int zbuffer_depth) { this->zbuffer_depth = zbuffer_depth; } void SDLAppDisplay::enableResize(bool resizable) { this->resizable = resizable; } void SDLAppDisplay::enableFrameless(bool frameless) { this->frameless = frameless; } void SDLAppDisplay::enableAlpha(bool enable) { enable_alpha = enable; } void SDLAppDisplay::multiSample(int samples) { multi_sample = samples; } void SDLAppDisplay::setupExtensions() { GLenum err = glewInit(); if (GLEW_OK != err) { /* Problem: glewInit failed, something is seriously wrong. */ char glewerr[1024]; snprintf(glewerr, 1024, "GLEW Error: %s", glewGetErrorString(err)); throw SDLInitException(std::string(glewerr)); } } bool SDLAppDisplay::multiSamplingEnabled() { int value; SDL_GL_GetAttribute( SDL_GL_MULTISAMPLEBUFFERS, &value ); return value==1; } #if SDL_VERSION_ATLEAST(2,0,0) && defined(_WIN32) WNDPROC window_proc = 0; LRESULT CALLBACK window_filter_proc(HWND wnd, UINT msg, WPARAM wparam, LPARAM lparam) { if (msg == WM_SYSCOMMAND && (wparam & 0xfff0) == SC_KEYMENU) { return 0; } return CallWindowProc(window_proc, wnd, msg, wparam, lparam); } #endif void SDLAppDisplay::setVideoMode(int width, int height, bool fullscreen) { #if SDL_VERSION_ATLEAST(2,0,0) SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, zbuffer_depth); if(multi_sample > 0) { SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS, 1); SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, (GLuint) multi_sample); } if(enable_alpha) { SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8); } Uint32 flags = SDLWindowFlags(fullscreen); if(gl_context != 0) SDL_GL_DeleteContext(gl_context); int display_index = -1; int position_x, position_y; if(sdl_window != 0) { display_index = SDL_GetWindowDisplayIndex(sdl_window); SDL_GetWindowPosition(sdl_window, &position_x, &position_y); SDL_DestroyWindow(sdl_window); } if(display_index != -1) { sdl_window = SDL_CreateWindow(gSDLAppTitle.c_str(), SDL_WINDOWPOS_UNDEFINED_DISPLAY(display_index), SDL_WINDOWPOS_UNDEFINED_DISPLAY(display_index), width, height, flags); SDL_SetWindowPosition(sdl_window, position_x, position_y); } else { sdl_window = SDL_CreateWindow(gSDLAppTitle.c_str(), SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, width, height, flags); } if (!sdl_window) { // retry without multi-sampling enabled if(multi_sample > 0) { multi_sample = 0; SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS, 0); SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, 0); if(display_index != -1) { sdl_window = SDL_CreateWindow(gSDLAppTitle.c_str(), SDL_WINDOWPOS_UNDEFINED_DISPLAY(display_index), SDL_WINDOWPOS_UNDEFINED_DISPLAY(display_index), width, height, flags); SDL_SetWindowPosition(sdl_window, position_x, position_y); } else { sdl_window = SDL_CreateWindow(gSDLAppTitle.c_str(), SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, width, height, flags); } } if(!sdl_window) { std::string sdlerr(SDL_GetError()); throw SDLInitException(sdlerr); } } gl_context = SDL_GL_CreateContext(sdl_window); if(!gl_context) { std::string sdlerr(SDL_GetError()); throw SDLInitException(sdlerr); } if(vsync) SDL_GL_SetSwapInterval(1); else SDL_GL_SetSwapInterval(0); #else int bpp = 32; int flags = SDLWindowFlags(fullscreen); if(vsync) SDL_GL_SetAttribute(SDL_GL_SWAP_CONTROL, 1); else SDL_GL_SetAttribute(SDL_GL_SWAP_CONTROL, 0); if(multi_sample > 0) { SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS, 1); SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, (GLuint) multi_sample); } if(enable_alpha) { SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8); } SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, zbuffer_depth); surface = SDL_SetVideoMode(width, height, bpp, flags); if (!surface) { if (multi_sample > 0) { #ifndef _WIN32 // Retry without multi-sampling before failing std::cerr << "Failed to set video mode: " << SDL_GetError() << std::endl << "Trying again without multi-sampling" << std::endl; #endif multi_sample = 0; SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS, 0); SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, 0); surface = SDL_SetVideoMode(width, height, bpp, flags); } if (!surface) { std::string sdlerr(SDL_GetError()); throw SDLInitException(sdlerr); } } #endif setupExtensions(); #if SDL_VERSION_ATLEAST(2,0,0) && defined(_WIN32) // suppress 'ding' noise when doing alt+key combinations // solution from: http://forums.libsdl.org/viewtopic.php?t=6075 SDL_SysWMinfo sys_window_info; SDL_VERSION(&sys_window_info.version); if(SDL_GetWindowWMInfo(sdl_window, &sys_window_info)) { HWND wnd = sys_window_info.info.win.window; window_proc = (WNDPROC) GetWindowLongPtr(wnd, GWLP_WNDPROC); SetWindowLongPtr(wnd, GWLP_WNDPROC, (LONG_PTR) &window_filter_proc); } #endif } void SDLAppDisplay::getFullscreenResolution(int& width, int& height) { int fullscreen_width = desktop_width; int fullscreen_height = desktop_height; #if SDL_VERSION_ATLEAST(2,0,0) // TODO: SDL2 api will have a nice way to do this ... #else float aspect_ratio = fullscreen_width / (float) fullscreen_height; if(aspect_ratio > 2.5) { SDL_Rect** modes = SDL_ListModes(0, SDLWindowFlags(true)); if(modes != (SDL_Rect**)0 && modes != (SDL_Rect**)-1) { for (int i=0; modes[i]; i++) { if(modes[i]->h == fullscreen_height && (modes[i]->w/(float)modes[i]->h) < 2.5) { fullscreen_width = modes[i]->w; break; } } } } #endif width = fullscreen_width; height = fullscreen_height; } void SDLAppDisplay::toggleFullscreen() { int width = this->width; int height = this->height; if(!fullscreen) { //save windowed width and height windowed_width = width; windowed_height = height; getFullscreenResolution(width, height); } else { //switch back to window dimensions, if known if(windowed_width != 0) { width = windowed_width; height = windowed_height; } } fullscreen = !fullscreen; int resized_width, resized_height; #if SDL_VERSION_ATLEAST(2,0,0) SDL_SetWindowFullscreen(sdl_window, fullscreen ? SDL_WINDOW_FULLSCREEN_DESKTOP : 0); SDL_GetWindowSize(sdl_window, &resized_width, &resized_height); #else setVideoMode(width, height, fullscreen); const SDL_VideoInfo* display_info = SDL_GetVideoInfo(); resized_width = display_info->current_w; resized_height = display_info->current_h; #endif //set viewport to match what we ended up on glViewport(0, 0, resized_width, resized_height); this->width = resized_width; this->height = resized_height; } void SDLAppDisplay::toggleFrameless() { #if SDL_VERSION_ATLEAST(2,0,0) if(fullscreen) return; frameless = !frameless; if(frameless) { int position_x, position_y; SDL_GetWindowPosition(sdl_window, &position_x, &position_y); framed_width = width; framed_height = height; framed_x = position_x; framed_y = position_y; #ifdef _WIN32 SDL_SysWMinfo sys_window_info; SDL_VERSION(&sys_window_info.version); if(SDL_GetWindowWMInfo(sdl_window, &sys_window_info)) { //make the new window equal the size of the old window including frame HWND wnd = sys_window_info.info.win.window; RECT rect; GetWindowRect(wnd, &rect); position_x = rect.left; position_y = rect.top; width = rect.right - rect.left; height = rect.bottom - rect.top; } #endif //work around window position changing when when frame is toggled //related bug: https://bugzilla.libsdl.org/show_bug.cgi?id=2791 SDL_SetWindowBordered(sdl_window, SDL_FALSE); SDL_SetWindowSize(sdl_window, width, height); SDL_SetWindowPosition(sdl_window, position_x, position_y); //window needs to be recreated to remove SDL_WINDOW_RESIZABLE flag //otherwise there is still a weird border setVideoMode(width, height, fullscreen); } else { width = framed_width; height = framed_height; SDL_SetWindowBordered(sdl_window, SDL_TRUE); SDL_SetWindowSize(sdl_window, width, height); SDL_SetWindowPosition(sdl_window, framed_x, framed_y); setVideoMode(width, height, fullscreen); } #endif } void SDLAppDisplay::resize(int width, int height) { int resized_width, resized_height; #if SDL_VERSION_ATLEAST(2,0,0) SDL_GetWindowSize(sdl_window, &resized_width, &resized_height); #else setVideoMode(width, height, fullscreen); const SDL_VideoInfo* display_info = SDL_GetVideoInfo(); resized_width = display_info->current_w; resized_height = display_info->current_h; #endif //set viewport to match what we ended up on glViewport(0, 0, resized_width, resized_height); this->width = resized_width; this->height = resized_height; } void SDLAppDisplay::init(std::string window_title, int width, int height, bool fullscreen) { if(SDL_Init(SDL_INIT_TIMER | SDL_INIT_VIDEO) != 0) { throw SDLInitException(SDL_GetError()); } #if SDL_VERSION_ATLEAST(2,0,0) // TODO: which display? is 0 the designated primary display always? SDL_Rect display_rect; SDL_GetDisplayBounds(0, &display_rect); desktop_width = display_rect.w; desktop_height = display_rect.h; #else const SDL_VideoInfo* display_info = SDL_GetVideoInfo(); //save the desktop resolution desktop_width = display_info->current_w; desktop_height = display_info->current_h; #endif //initialize width and height to desktop resolution if un-specified if(!width || !height) { if(fullscreen) { getFullscreenResolution(width, height); } else { if(!width) width = desktop_width; if(!height) height = desktop_height; } } atexit(SDL_Quit); #if SDL_VERSION_ATLEAST(2,0,0) #else SDL_EnableUNICODE(1); SDL_WM_SetCaption(window_title.c_str(),0); #endif setVideoMode(width, height, fullscreen); //get actual opengl viewport GLint viewport[4]; glGetIntegerv( GL_VIEWPORT, viewport ); this->width = viewport[2]; this->height = viewport[3]; this->fullscreen = fullscreen; glViewport(0, 0, this->width, this->height); } void SDLAppDisplay::quit() { #if SDL_VERSION_ATLEAST(2,0,0) if(gl_context != 0) SDL_GL_DeleteContext(gl_context); if(sdl_window != 0) SDL_DestroyWindow(sdl_window); #endif texturemanager.purge(); shadermanager.purge(); fontmanager.purge(); fontmanager.destroy(); } void SDLAppDisplay::update() { #if SDL_VERSION_ATLEAST(2,0,0) SDL_GL_SwapWindow(sdl_window); #else SDL_GL_SwapBuffers(); #endif } void SDLAppDisplay::clear() { glClearColor(clear_colour.x, clear_colour.y, clear_colour.z, clear_colour.w); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); } void SDLAppDisplay::mode3D(float fov, float znear, float zfar) { glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(fov, (GLfloat)width/(GLfloat)height, znear, zfar); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); } void SDLAppDisplay::mode2D() { glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(0, width, height, 0, -1.0, 1.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); } void SDLAppDisplay::push2D() { glMatrixMode(GL_PROJECTION); glPushMatrix(); glLoadIdentity(); glOrtho(0, display.width, display.height, 0, -1.0, 1.0); glMatrixMode(GL_MODELVIEW); glPushMatrix(); glLoadIdentity(); } void SDLAppDisplay::pop2D() { glMatrixMode(GL_PROJECTION); glPopMatrix(); glMatrixMode(GL_MODELVIEW); glPopMatrix(); } vec4 SDLAppDisplay::currentColour() { vec4 colour; glGetFloatv(GL_CURRENT_COLOR, glm::value_ptr(colour)); return colour; } vec3 SDLAppDisplay::project(vec3 pos) { GLint viewport[4]; GLdouble modelview[16]; GLdouble projection[16]; GLdouble winX, winY, winZ; glGetDoublev( GL_MODELVIEW_MATRIX, modelview ); glGetDoublev( GL_PROJECTION_MATRIX, projection ); glGetIntegerv( GL_VIEWPORT, viewport ); gluProject( pos.x, pos.y, pos.z, modelview, projection, viewport, &winX, &winY, &winZ); winY = (float)viewport[3] - winY; return vec3((float) winX, (float) winY, (float) winZ); } vec3 SDLAppDisplay::unproject(vec2 pos) { GLint viewport[4]; GLdouble modelview[16]; GLdouble projection[16]; GLfloat winX, winY, winZ; GLdouble posX, posY, posZ; glGetDoublev( GL_MODELVIEW_MATRIX, modelview ); glGetDoublev( GL_PROJECTION_MATRIX, projection ); glGetIntegerv( GL_VIEWPORT, viewport ); winX = pos.x; winY = (float)viewport[3] - pos.y; glReadPixels( int(winX), int(winY), 1, 1, GL_DEPTH_COMPONENT, GL_FLOAT, &winZ ); gluUnProject( winX, winY, winZ, modelview, projection, viewport, &posX, &posY, &posZ); return vec3((float) posX, (float) posY, (float) posZ); } logstalgia-1.0.7/src/core/mousecursor.h0000644000203100020310000000543212611522305017736 0ustar andrewcandrewc/* Copyright (c) 2010 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef SDLAPP_MOUSECURSOR_H #define SDLAPP_MOUSECURSOR_H #include "display.h" class MouseCursor { vec2 mousepos; vec2 rel; bool hidden; bool system_cursor; float idle; float timeout; int scrollwheel; SDL_Cursor* sdl_default_cursor; SDL_Cursor* sdl_hidden_cursor; bool left_click; bool right_click; bool middle_click; TextureResource* cursortex; public: MouseCursor(); ~MouseCursor(); const vec2& getPos() const; const vec2& getRelativePos() const; void leftClick(bool click); void rightClick(bool click); void middleClick(bool click); bool leftClick() const; bool rightClick() const; bool middleClick() const; bool leftButtonPressed() const; bool rightButtonPressed() const; bool bothPressed() const; bool buttonPressed() const; int scrollWheel() const; bool isHidden() const; bool isSystemCursor()const; bool isVisible() const; bool hasFocus() const; void scroll(bool dir); void resetButtonState(); void updateRelativePos(const vec2& rel); void updatePos(const vec2& pos); void showCursor(bool show); void useSystemCursor(bool system_cursor); void setCursorTexture(TextureResource* texture); void logic(float dt); void draw() const; }; #endif logstalgia-1.0.7/src/core/pi.h0000644000203100020310000000315612611522305015761 0ustar andrewcandrewc/* Copyright (c) 2009 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef PI_H #define PI_H #define PI 3.14159265 #define RADIANS_TO_DEGREES 57.29577951 #define DEGREES_TO_RADIANS 0.017453292 #endif logstalgia-1.0.7/src/core/plane.h0000644000203100020310000000334412611522305016447 0ustar andrewcandrewc/* Copyright (c) 2009 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef PLANE_H #define PLANE_H #include "vectors.h" class Plane { public: vec3 normal; vec3 point; float d; Plane(); Plane(const vec3 & v1, const vec3 & v2, const vec3 & v3); float distance(const vec3 & p) const; }; #endif logstalgia-1.0.7/src/core/conffile.h0000644000203100020310000001330112611522305017127 0ustar andrewcandrewc/* Copyright (C) 2009 Andrew Caudwell (acaudwell@gmail.com) 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 . */ #ifndef CONF_FILE_H #define CONF_FILE_H #include #include #include #include #include #include #include "vectors.h" class ConfFileException : public std::exception { protected: std::string errmsg; public: ConfFileException(const std::string& errmsg, const std::string& conffile, int lineno = 0) : errmsg(errmsg), conffile(conffile), lineno(lineno) {} std::string conffile; int lineno; virtual ~ConfFileException() throw () {}; virtual const char* what() const throw() { return errmsg.c_str(); } }; class ConfEntry { std::string name; std::string value; int lineno; public: ConfEntry(); ConfEntry(const std::string& name); ConfEntry(const std::string& name, const std::string& value, int lineno = 0); ConfEntry(const std::string& name, int value); ConfEntry(const std::string& name, float value); ConfEntry(const std::string& name, bool value); ConfEntry(const std::string& name, vec2 value); ConfEntry(const std::string& name, vec3 value); ConfEntry(const std::string& name, vec4 value); void setName(const std::string& name); void setString(const std::string& value); void setFloat(float value); void setInt(int value); void setBool(bool value); void setVec2(vec2 value); void setVec3(vec3 value); void setVec4(vec4 value); bool hasValue(); int getLineNumber(); std::string getName(); std::string getString(); int getInt(); float getFloat(); bool getBool(); vec2 getVec2(); vec3 getVec3(); vec4 getVec4(); bool isFloat(); bool isInt(); bool isBool(); bool isVec2(); bool isVec3(); bool isVec4(); }; typedef std::list ConfEntryList; class ConfFile; class ConfSection { std::map entrymap; std::string name; int lineno; ConfFile* conf; public: ConfSection(); ConfSection(const std::string& name, int lineno = 0); ~ConfSection(); void clear(); ConfFile* getConfFile(); ConfEntry* getEntry(const std::string& key); ConfEntryList* getEntries(const std::string& key); void setConfFile(ConfFile* conf); void sectionException(ConfEntry* entry, std::string reason); std::string getName(); int getLineNumber(); bool hasValue(const std::string& key); std::string getString(const std::string& key); int getInt(const std::string& key); float getFloat(const std::string& key); bool getBool(const std::string& key); vec3 getVec3(const std::string& key); vec4 getVec4(const std::string& key); void print(std::ostream& out); void setEntry(ConfEntry* entry); void addEntry(ConfEntry* entry); void setEntry(const std::string& name, const std::string& value, int lineno=0); void addEntry(const std::string& name, const std::string& value, int lineno=0); }; typedef std::list ConfSectionList; class ConfFile { std::string conffile; std::map sectionmap; public: ConfFile(); ~ConfFile(); void clear(); void setFilename(const std::string& filename); std::string getFilename(); void load(const std::string& conffile); void load(); void save(const std::string& conffile); void save(); bool hasSection(const std::string& section); ConfSection* getSection(const std::string& section); ConfSectionList* getSections(const std::string& section); ConfEntry* getEntry(const std::string& section, const std::string& key); ConfEntryList* getEntries(const std::string& section, const std::string& key); void addSection(ConfSection* section); ConfSection* addSection(const std::string& section); void setSection(ConfSection* section); int countSection(const std::string& section); void setEntry(const std::string& section, const std::string& key, const std::string& value); bool hasEntry(const std::string& section, const std::string& key); bool hasValue(const std::string& section, const std::string& key); std::string getString(const std::string& section, const std::string& key); int getInt(const std::string& section, const std::string& key); float getFloat(const std::string& section, const std::string& key); bool getBool(const std::string& section, const std::string& key); vec3 getVec3(const std::string& section, const std::string& key); vec4 getVec4(const std::string& section, const std::string& key); static void trim(std::string& value); void unknownOptionException(ConfEntry* entry); void missingValueException(ConfEntry* entry); void invalidValueException(ConfEntry* entry); void missingEntryException(ConfSection* section, std::string entryname); void sectionException(ConfSection* section, std::string reason); void entryException(ConfEntry* entry, std::string reason); }; #endif logstalgia-1.0.7/src/core/png_writer.h0000644000203100020310000000550712611522305017533 0ustar andrewcandrewc/* Copyright (c) 2013 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef PNG_WRITER_H #define PNG_WRITER_H #include "SDL_thread.h" #include #include class PNGWriter { protected: std::ostream* out; size_t components; void init(); public: PNGWriter(int components = 3); bool open(const std::string& filename); void close(); void setOutputStream(std::ostream* out); void screenshot(const std::string& filename); void capture(std::vector& buffer); void writePNG(std::vector& buffer); }; enum png_exporter_state { PNG_EXPORTER_WAIT, PNG_EXPORTER_WRITE, PNG_EXPORTER_EXIT, PNG_EXPORTER_STOPPED }; class PNGExporter { protected: PNGWriter writer; std::vector* buffer_shared_ptr; std::vector buffer1; std::vector buffer2; SDL_cond* cond; SDL_mutex* mutex; SDL_Thread* thread; int thread_state; std::string filename; static int startThread(void *exporter); public: PNGExporter(const std::string& filename); ~PNGExporter(); void run(); void stop(); void capture(); }; class PNGExporterException : public std::exception { protected: std::string filename; public: PNGExporterException(const std::string& filename) : filename(filename) {}; virtual ~PNGExporterException() throw () {}; virtual const char* what() const throw() { return filename.c_str(); }; }; #endif logstalgia-1.0.7/src/core/timer.cpp0000644000203100020310000000310312611522305017014 0ustar andrewcandrewc#include "timer.h" // GLTimer GLTimer::GLTimer() { query_id = 0; query_value = 0; query_start = 0; query_stop = 0; cpu_time = 0; } GLTimer::GLTimer(const std::string& name) : name(name) { query_id = 0; query_value = 0; query_start = 0; query_stop = 0; cpu_time = 0; } GLTimer::~GLTimer() { unload(); } void GLTimer::unload() { query_value = 0; if(query_id) { glDeleteQueries(1, &query_id); query_id = 0; } query_start = query_stop = 0; } void GLTimer::start() { if(query_start > 0) return; query_start = SDL_GetTicks(); if(!query_id) glGenQueries( 1, &query_id ); glBeginQuery(GL_TIME_ELAPSED, query_id); query_stop = 0; } void GLTimer::stop() { if(!query_start || query_stop > 0) return; glEndQuery(GL_TIME_ELAPSED); query_stop = SDL_GetTicks(); } const std::string& GLTimer::getName() const { return name; } GLuint64 GLTimer::getValue() const { return query_value; } Uint32 GLTimer::getGLMillis() const { return query_value / 1000000; } Uint32 GLTimer::getCPUMillis() const { return cpu_time; } bool GLTimer::check() { if(!query_start) return false; GLuint64 elapsed; GLint available = 0; glGetQueryObjectiv(query_id, GL_QUERY_RESULT_AVAILABLE, &available); if(!available) return false; glGetQueryObjectui64v(query_id, GL_QUERY_RESULT, &elapsed); query_value = elapsed; cpu_time = query_stop-query_start; query_start = query_stop = 0; return true; } logstalgia-1.0.7/src/core/sdlapp.h0000644000203100020310000001047412611522305016635 0ustar andrewcandrewc/* Copyright (c) 2009 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef SDLAPP_H #define SDLAPP_H #ifdef _WIN32 #ifdef _WIN32_WINNT #undef _WIN32_WINNT #endif #define _WIN32_WINNT 0x0501 #include "windows.h" #endif #include "gl.h" #include #include #include extern std::string gSDLAppConfDir; extern std::string gSDLAppResourceDir; extern std::string gSDLAppPathSeparator; extern std::string gSDLAppTitle; extern std::string gSDLAppExec; void SDLAppInfo(std::string msg); void SDLAppQuit(std::string error); void SDLAppInit(std::string apptitle, std::string execname); bool SDLAppDirExists(std::string dir); std::string SDLAppAddSlash(std::string path); void SDLAppParseArgs(int argc, char *argv[], int* xres, int* yres, bool* fullscreen, std::vector* otherargs = 0); class SDLAppException : public std::exception { protected: std::string message; bool showhelp; public: SDLAppException(const char* str, ...) : showhelp(false) { va_list vl; char msg[65536]; va_start(vl, str); vsnprintf(msg, 65536, str, vl); va_end(vl); message = std::string(msg); } SDLAppException(std::string message) : showhelp(false), message(message) {} ~SDLAppException() throw () {}; bool showHelp() const { return showhelp; } void setShowHelp(bool showhelp) { this->showhelp = showhelp; }; virtual const char* what() const throw() { return message.c_str(); } }; class SDLApp { int frame_count; int fps_updater; int return_code; void updateFramerate(); protected: int min_delta_msec; bool appFinished; void stop(int return_code); virtual bool handleEvent(SDL_Event& event); public: float fps; SDLApp(); virtual ~SDLApp() {}; #ifdef USE_X11 static void initX11ClipboardEventFilter(); static int X11ClipboardEventFilter(const SDL_Event *event); #endif #ifdef _WIN32 static HWND console_window; static bool existing_console; static void initConsole(); static void showConsole(bool show); static void resizeConsole(int height); #endif int run(); static bool getClipboardText(std::string& text); static void setClipboardText(const std::string& text); virtual void resize(int width, int height) {}; virtual void update(float t, float dt) {}; virtual void init() {}; virtual void logic(float t, float dt) {}; virtual void draw(float t, float dt) {}; virtual void quit() { appFinished = true; }; virtual void mouseMove(SDL_MouseMotionEvent *e) {}; virtual void mouseClick(SDL_MouseButtonEvent *e) {}; virtual void keyPress(SDL_KeyboardEvent *e) {}; #if SDL_VERSION_ATLEAST(2,0,0) virtual void textInput(SDL_TextInputEvent* e) {}; virtual void textEdit(SDL_TextEditingEvent* e) {}; virtual void mouseWheel(SDL_MouseWheelEvent *e) {}; #endif int returnCode(); bool isFinished(); }; #endif logstalgia-1.0.7/src/core/logger.h0000644000203100020310000000537712611522305016637 0ustar andrewcandrewc/* Copyright (c) 2009 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef LOGGER_H #define LOGGER_H #include #include #include enum logger_level { LOG_LEVEL_OFF, LOG_LEVEL_ERROR, LOG_LEVEL_CONSOLE, LOG_LEVEL_INFO, LOG_LEVEL_SCRIPT, LOG_LEVEL_DEBUG, LOG_LEVEL_WARN, LOG_LEVEL_PEDANTIC }; class LoggerMessage { public: LoggerMessage(int level, const std::string& message); int level; std::string message; }; class Logger { protected: std::deque history; int hist_capacity; FILE* stream; int level; static Logger* default_logger; int message_count; public: static Logger* getDefault(); const std::deque& getHistory() const; void setLevel(int level) { this->level = level; }; int getLevel() const { return level; } int getMessageCount(); void setHistoryCapacity(int hist_capacity); Logger(int level, FILE* stream, int history_capacity = 0); void init(int level, FILE* stream, int history_capacity); void message(int level, const std::string& message); }; void warnLog(const char *args, ...); void debugLog(const char *args, ...); void infoLog(const char *args, ...); void errorLog(const char *args, ...); void consoleLog(const char *args, ...); void scriptLog(const char *args, ...); void pedanticLog(const char *args, ...); #endif logstalgia-1.0.7/src/core/quadtree.h0000644000203100020310000001030412611522305017154 0ustar andrewcandrewc/* Copyright (c) 2009 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef QUADTREE_H #define QUADTREE_H #include #include #include "gl.h" #include "bounds.h" #include "frustum.h" class QuadItem { public: Bounds2D quadItemBounds; int node_count; virtual ~QuadItem() {}; virtual void updateQuadItemBounds() {}; virtual void drawQuadItem() {}; }; template class VisitFunctor{ public: virtual void operator()(Data *)=0; }; class QuadTree; class QuadNode { GLuint listid; Bounds2D bounds; std::vector children; std::list items; QuadTree* tree; int getChildIndex(const vec2 & pos) const; void addToChild(QuadItem* item); int depth; QuadNode* parent; public: bool allowMoreItems(); int usedChildren(); QuadNode(QuadTree* tree, QuadNode* parent, Bounds2D itembounds, int parent_depth); ~QuadNode(); void addItem(QuadItem* item); //if not subdivided, subdivide, add to correct subdivided node. int getItemsAt(std::set& itemset, vec2 pos); void getLeavesInFrustum(std::set& nodeset, Frustum& frustum); int getItemsInFrustum(std::set& itemset, Frustum& frustum); int getItemsInBounds(std::set& itemset, Bounds2D& bounds) const; void visitItemsInFrustum(const Frustum & frustum, VisitFunctor & visit); void visitItemsInBounds(const Bounds2D & bounds, VisitFunctor & visit); void visitItemsAt(const vec2 & pos, VisitFunctor & visit); void visitLeavesInFrustum(const Frustum & frustum, VisitFunctor & visit); bool empty(); void generateLists(); int draw(Frustum& frustum); void outline(); void outlineItems(); }; class QuadTree { Bounds2D bounds; QuadNode* root; public: int unique_item_count; int item_count; int node_count; int max_node_depth; int max_node_items; int getItemsAt(std::set& itemset, vec2 pos); void getLeavesInFrustum(std::set& nodeset, Frustum& frustum); int getItemsInFrustum(std::set& itemset, Frustum& frustum); int getItemsInBounds(std::set& itemset, Bounds2D& bounds) const; void visitItemsAt(const vec2 & pos, VisitFunctor & visit); void visitLeavesInFrustum(const Frustum & frustum, VisitFunctor & visit); void visitItemsInFrustum(const Frustum & frustum, VisitFunctor & visit); void visitItemsInBounds(const Bounds2D & bounds, VisitFunctor & visit); void addItem(QuadItem* item); void generateLists(); int drawNodesInFrustum(Frustum& frustum); QuadTree(Bounds2D bounds, int max_node_depth, int max_node_items); ~QuadTree(); void outline(); void outlineItems(); }; #endif logstalgia-1.0.7/src/core/texture.h0000644000203100020310000000626612611522305017056 0ustar andrewcandrewc/* Copyright (c) 2009 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef TEXTURE_H #define TEXTURE_H #include "SDL_image.h" #include "resource.h" #include "gl.h" #include class TextureException : public ResourceException { public: TextureException(std::string& texture_file) : ResourceException(texture_file) {} }; class TextureResource : public Resource { bool mipmaps; GLint wrap; GLint min_filter; GLint mag_filter; std::string filename; GLenum colourFormat(SDL_Surface* surface); public: int w, h; GLenum target; GLenum format; GLuint textureid; GLubyte* data; TextureResource(); TextureResource(int width, int height, bool mipmaps, GLint wrap, GLenum format, GLubyte* data = 0); TextureResource(const std::string& filename, bool mipmaps, GLint wrap, bool external); void setWrapStyle(GLint wrap); void setFiltering(GLint min_filter, GLint mag_filter); void setDefaultFiltering(); void bind(); void createTexture(); void reload(); void load(bool reload = false); void unload(); ~TextureResource(); }; class TextureManager : public ResourceManager { int resource_seq; void addResource(TextureResource* r); public: bool trilinear; TextureManager(); TextureResource* grabFile(const std::string& filename, bool mipmaps = true, GLint wrap = GL_CLAMP_TO_EDGE); TextureResource* grab(const std::string& filename, bool mipmaps = true, GLint wrap = GL_CLAMP_TO_EDGE, bool external_file = false); TextureResource* create(int width, int height, bool mipmaps, GLint wrap, GLenum format, GLubyte* data = 0); TextureResource* create(GLenum target = GL_TEXTURE_2D); void unload(); void reload(); }; extern TextureManager texturemanager; #endif logstalgia-1.0.7/src/core/timer.h0000644000203100020310000000104712611522305016466 0ustar andrewcandrewc#ifndef CORE_TIMER_H #define CORE_TIMER_H #include #include "gl.h" class GLTimer { Uint32 query_start; Uint32 query_stop; Uint32 cpu_time; GLuint64 query_value; GLuint query_id; std::string name; public: GLTimer(); GLTimer(const std::string& name); ~GLTimer(); void start(); void stop(); bool check(); const std::string& getName() const; GLuint64 getValue() const; Uint32 getGLMillis() const; Uint32 getCPUMillis() const; void unload(); }; #endif logstalgia-1.0.7/src/core/png_writer.cpp0000644000203100020310000001432112611522305020060 0ustar andrewcandrewc/* Copyright (c) 2013 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "png_writer.h" #include "display.h" #include #define PNG_SKIP_SETJMP_CHECK #include PNGWriter::PNGWriter(int components) : components(components) { out = 0; } bool PNGWriter::open(const std::string& filename) { out = new std::ofstream(filename.c_str(), std::ios::out | std::ios::binary); if(out->fail()) { delete out; out = 0; return false; } return true; } void PNGWriter::close() { ((std::fstream*)out)->close(); } void PNGWriter::setOutputStream(std::ostream* out) { this->out = out; } void PNGWriter::screenshot(const std::string& filename) { if(!open(filename)) return; std::vector buffer; buffer.resize(display.width * display.height * components); capture(buffer); writePNG(buffer); close(); } void PNGWriter::capture(std::vector& buffer) { GLenum pixel_format = components == 4 ? GL_RGBA : GL_RGB; glPixelStorei(GL_PACK_ALIGNMENT, 1); glReadPixels(0, 0, display.width, display.height, pixel_format, GL_UNSIGNED_BYTE, &(buffer[0])); } void png_writer_write_data(png_structp png_ptr, png_bytep data, png_size_t length) { std::ostream* out = (std::ostream*) png_get_io_ptr(png_ptr); if (!out->write((char*)data, length)) png_error(png_ptr, "png_writer_write_data error"); } void png_writer_flush_data(png_structp png_ptr) { std::ostream *out = (std::ostream*) png_get_io_ptr(png_ptr); if (!out->flush()) png_error(png_ptr, "png_writer_flush_data error"); } void PNGWriter::writePNG(std::vector& buffer) { png_structp png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, 0, 0, 0); if(!png_ptr) throw PNGExporterException("png_create_write_struct failed"); png_set_write_fn(png_ptr, out, png_writer_write_data, png_writer_flush_data); png_infop info_ptr = png_create_info_struct(png_ptr); if(!info_ptr) throw PNGExporterException("png_create_info_struct failed"); if(setjmp(png_jmpbuf(png_ptr))) { throw PNGExporterException("setjmp failed"); } int colour_type = (components == 4) ? PNG_COLOR_TYPE_RGB_ALPHA : PNG_COLOR_TYPE_RGB; png_set_IHDR(png_ptr, info_ptr, display.width, display.height, 8, colour_type, PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_BASE); std::vector rows(display.height); for (int i = 0; i < display.height; i++) { rows[i] = (png_bytep) &(buffer[(display.height-i-1) * components * display.width]); } png_write_info(png_ptr, info_ptr); png_write_image(png_ptr, &(rows[0])); png_write_end(png_ptr, 0); png_destroy_write_struct(&png_ptr, &info_ptr); } // PNGExporter PNGExporter::PNGExporter(const std::string& filename) { buffer1.resize(display.width * display.height * 3); buffer2.resize(display.width * display.height * 3); buffer_shared_ptr = 0; thread_state = PNG_EXPORTER_WAIT; cond = SDL_CreateCond(); mutex = SDL_CreateMutex(); if(filename == "-") { writer.setOutputStream(&std::cout); } else { this->filename = filename; if(!writer.open(filename)) { throw PNGExporterException(filename); } } #if SDL_VERSION_ATLEAST(2,0,0) thread = SDL_CreateThread( PNGExporter::startThread, "png_exporter", this ); #else thread = SDL_CreateThread( PNGExporter::startThread, this ); #endif } PNGExporter::~PNGExporter() { stop(); SDL_DestroyCond(cond); SDL_DestroyMutex(mutex); buffer_shared_ptr = 0; if(!filename.empty()) { writer.close(); } } int PNGExporter::startThread(void *exporter) { (static_cast(exporter))->run(); return 0; } void PNGExporter::run() { SDL_mutexP(mutex); while(thread_state != PNG_EXPORTER_EXIT) { thread_state = PNG_EXPORTER_WAIT; while (thread_state == PNG_EXPORTER_WAIT) { SDL_CondWait(cond, mutex); } if (thread_state != PNG_EXPORTER_WRITE) break; if (buffer_shared_ptr != 0) { writer.writePNG(*buffer_shared_ptr); } } thread_state = PNG_EXPORTER_STOPPED; SDL_mutexV(mutex); } void PNGExporter::stop() { if(!thread) return; if(thread_state == PNG_EXPORTER_STOPPED || thread_state == PNG_EXPORTER_EXIT) return; SDL_mutexP(mutex); thread_state = PNG_EXPORTER_EXIT; SDL_CondSignal(cond); SDL_mutexV(mutex); SDL_WaitThread(thread, 0); thread = 0; } void PNGExporter::capture() { std::vector* next_pixel_ptr = (buffer_shared_ptr == &buffer1) ? &buffer2 : &buffer1; writer.capture(*next_pixel_ptr); SDL_mutexP(mutex); buffer_shared_ptr = next_pixel_ptr; thread_state = PNG_EXPORTER_WRITE; SDL_CondSignal(cond); SDL_mutexV(mutex); } logstalgia-1.0.7/src/core/resource.cpp0000644000203100020310000000457712611522305017543 0ustar andrewcandrewc/* Copyright (c) 2009 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "resource.h" ResourceManager::ResourceManager() { } std::string ResourceManager::getDir() { return resource_dir; } void ResourceManager::setDir(const std::string& resource_dir) { this->resource_dir = resource_dir; } void ResourceManager::purge() { //free all resources - should be called BEFORE SDL_QUIT ... for(std::map::iterator it= resources.begin(); it!=resources.end();it++) { delete it->second; } resources.clear(); } ResourceManager::~ResourceManager() { } void ResourceManager::release(Resource* resource) { Resource* r = resources[resource->resource_name]; if(r==0) return; //debugLog("decrementing ref count for %s\n", name.c_str()); r->deref(); if(r->refcount()<=0) { //debugLog("no refs to %s, deleting\n", name.c_str()); resources.erase(r->resource_name); //sufficient? delete r; } } logstalgia-1.0.7/src/core/tga.cpp0000644000203100020310000002006612611522305016456 0ustar andrewcandrewc/* Copyright (c) 2012 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "tga.h" #include "display.h" #include TGAWriter::TGAWriter(int components) : components(components) { rle = true; out = 0; rle_count = 0; raw_count = 0; } void TGAWriter::writeRLE(int pixel_count, const char* pixel) { rle_count += pixel_count; while(pixel_count > 0) { int write_count = std::min(128, pixel_count); unsigned char counter_byte = (write_count-1) | 0x80; out->write((char*)&counter_byte, 1); out->write(pixel, components); pixel_count -= write_count; } } void TGAWriter::writeRaw(std::vector& buffer, int start, int pixel_count) { raw_count += pixel_count; int written = 0; while(pixel_count > 0) { int write_count = std::min(128, pixel_count); char counter_byte = write_count-1; out->write((char*)&counter_byte, 1); for(int i=0; i < write_count; i++) { out->write(&(buffer[start+(i+written)*components]), components); } pixel_count -= write_count; written += write_count; } } bool TGAWriter::open(const std::string& filename) { out = new std::ofstream(filename.c_str(), std::ios::out | std::ios::binary); if(out->fail()) { delete out; out = 0; return false; } return true; } void TGAWriter::close() { ((std::fstream*)out)->close(); } void TGAWriter::setOutputStream(std::ostream* out) { this->out = out; } void TGAWriter::screenshot(const std::string& filename) { if(!open(filename)) return; std::vector buffer; buffer.resize(display.width * display.height * components); capture(buffer); writeTGA(buffer); close(); } void TGAWriter::writeHeader() { char image_type = rle ? 10 : 2; const char tga_header[12] = { 0, 0, image_type, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; short width = display.width; short height = display.height; char imagedescriptor = components==4 ? 8 : 0; char bpp = components * 8; out->write(tga_header, 12); out->write((char*)&width, sizeof(short)); out->write((char*)&height, sizeof(short)); out->write(&bpp, 1); out->write(&imagedescriptor, 1); } void TGAWriter::capture(std::vector& buffer) { GLenum pixel_format = components == 4 ? GL_BGRA : GL_BGR; glReadPixels(0, 0, display.width, display.height, pixel_format, GL_UNSIGNED_BYTE, &(buffer[0])); } void TGAWriter::writeTGA(std::vector& buffer) { writeHeader(); writeScanlines(buffer, display.width, display.height); } void TGAWriter::writeScanlines(std::vector& buffer, int width, int height) { if(!rle) { out->write(&(buffer[0]), buffer.size()); } else { for(int y=0; y 0) { int skipped = (x-(match_count)) - (last_written+1); if(skipped > 0) { writeRaw(buffer, (last_written + 1 + y*width)*components, skipped); last_written = x-1; } } } else if(match_count > 0) { writeRLE(match_count+1, last_pixel); last_written = x-1; match_count = 0; } last_pixel = pixel; } if(match_count > 0) { writeRLE(match_count+1, last_pixel); } else { int skipped = width - (last_written+1); if(skipped > 0) { writeRaw(buffer, (last_written + 1 + y*width)*components, skipped); } } } } } // TGAExporter TGAExporter::TGAExporter(const std::string& filename) { buffer1.resize(display.width * display.height * 3); buffer2.resize(display.width * display.height * 3); buffer_shared_ptr = 0; thread_state = TGA_EXPORTER_WAIT; cond = SDL_CreateCond(); mutex = SDL_CreateMutex(); if(filename == "-") { writer.setOutputStream(&std::cout); } else { this->filename = filename; if(!writer.open(filename)) { throw TGAExporterException(filename); } } #if SDL_VERSION_ATLEAST(2,0,0) thread = SDL_CreateThread( TGAExporter::startThread, "tga_exporter", this ); #else thread = SDL_CreateThread( TGAExporter::startThread, this ); #endif } TGAExporter::~TGAExporter() { stop(); SDL_DestroyCond(cond); SDL_DestroyMutex(mutex); buffer_shared_ptr = 0; if(!filename.empty()) { writer.close(); } } int TGAExporter::startThread(void *exporter) { (static_cast(exporter))->run(); return 0; } void TGAExporter::run() { SDL_mutexP(mutex); while(thread_state != TGA_EXPORTER_EXIT) { thread_state = TGA_EXPORTER_WAIT; while (thread_state == TGA_EXPORTER_WAIT) { SDL_CondWait(cond, mutex); } if (thread_state != TGA_EXPORTER_WRITE) break; if (buffer_shared_ptr != 0) { writer.writeTGA(*buffer_shared_ptr); } } thread_state = TGA_EXPORTER_STOPPED; SDL_mutexV(mutex); } void TGAExporter::stop() { if(!thread) return; if(thread_state == TGA_EXPORTER_STOPPED || thread_state == TGA_EXPORTER_EXIT) return; SDL_mutexP(mutex); thread_state = TGA_EXPORTER_EXIT; SDL_CondSignal(cond); SDL_mutexV(mutex); SDL_WaitThread(thread, 0); thread = 0; } void TGAExporter::capture() { std::vector* next_pixel_ptr = (buffer_shared_ptr == &buffer1) ? &buffer2 : &buffer1; writer.capture(*next_pixel_ptr); SDL_mutexP(mutex); buffer_shared_ptr = next_pixel_ptr; thread_state = TGA_EXPORTER_WRITE; SDL_CondSignal(cond); SDL_mutexV(mutex); } logstalgia-1.0.7/src/core/shader.hh0000644000203100020310000000516412611522305016770 0ustar andrewcandrewc/* Copyright (c) 2009 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "vectors.h" #include "resource.h" #include #include #include #include #include #include #include "shader_common.h" class Shader; class ShaderPass : public AbstractShaderPass { public: ShaderPass(Shader* parent, int shader_object_type, const std::string& shader_object_desc); ~ShaderPass(); void attachTo(unsigned int program); void unload(); void compile(); void checkError(); }; class Shader : public AbstractShader { protected: void checkProgramError(); public: Shader(); Shader(const std::string& prefix); ~Shader(); void applyUniform(ShaderUniform* u); int getUniformLocation(const std::string& uniform_name); void loadPrefix(); void load(); void unload(); void bind(); void unbind(); AbstractShaderPass* grabShaderPass(unsigned int shader_object_type); }; class ShaderManager : public ResourceManager { public: ShaderManager(); Shader* grab(const std::string& shader_prefix); void manage(Shader* shader); void unload(); void reload(bool force = false); }; extern ShaderManager shadermanager; logstalgia-1.0.7/src/core/vbo.cpp0000644000203100020310000001273012611522305016470 0ustar andrewcandrewc/* Copyright (c) 2011 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "vbo.h" //quadbuf quadbuf::quadbuf(int vertex_capacity) : vertex_capacity(vertex_capacity) { vertex_count = 0; data = vertex_capacity > 0 ? new quadbuf_vertex[vertex_capacity] : 0; //fprintf(stderr, "size of quadbuf_vertex = %d\n", sizeof(quadbuf_vertex)); } quadbuf::~quadbuf() { if(data!=0) delete[] data; } void quadbuf::unload() { buf.unload(); } void quadbuf::resize(int new_size) { quadbuf_vertex* _data = data; data = new quadbuf_vertex[new_size]; for(int i=0;i vertex_capacity) { resize(vertex_count*2); } data[i] = v1; data[i+1] = v2; data[i+2] = v3; data[i+3] = v4; if(textureid>0 && (textures.empty() || textures.back().textureid != textureid)) { textures.push_back(quadbuf_tex(i, textureid)); } } void quadbuf::add(GLuint textureid, const quadbuf_vertex& v1, const quadbuf_vertex& v2, const quadbuf_vertex& v3, const quadbuf_vertex& v4) { int i = vertex_count; vertex_count += 4; if(vertex_count > vertex_capacity) { resize(vertex_count*2); } data[i] = v1; data[i+1] = v2; data[i+2] = v3; data[i+3] = v4; if(textureid>0 && (textures.empty() || textures.back().textureid != textureid)) { textures.push_back(quadbuf_tex(i, textureid)); } } void quadbuf::update() { if(vertex_count==0) return; //recreate buffer if less than the vertex_count buf.buffer( vertex_count, sizeof(quadbuf_vertex), vertex_capacity, &(data[0].pos.x), GL_DYNAMIC_DRAW ); } void quadbuf::draw() { if(vertex_count==0) return; buf.bind(); glEnableClientState(GL_VERTEX_ARRAY); glEnableClientState(GL_COLOR_ARRAY); glEnableClientState(GL_TEXTURE_COORD_ARRAY); glVertexPointer(2, GL_FLOAT, sizeof(quadbuf_vertex), 0); glColorPointer(4, GL_FLOAT, sizeof(quadbuf_vertex), (GLvoid*)8); // offset pos (2x4 bytes) glTexCoordPointer(2, GL_FLOAT, sizeof(quadbuf_vertex), (GLvoid*)24); // offset pos + colour (2x4 + 4x4 bytes) int last_index = vertex_count-1; if(textures.empty()) { glDrawArrays(GL_QUADS, 0, vertex_count); } else { for(std::vector::iterator it = textures.begin(); it != textures.end();) { quadbuf_tex* tex = &(*it); int end_index; it++; if(it == textures.end()) { end_index = last_index; } else { end_index = (*it).start_index; } glBindTexture(GL_TEXTURE_2D, tex->textureid); glDrawArrays(GL_QUADS, tex->start_index, end_index - tex->start_index + 1); if(end_index==last_index) break; } } glDisableClientState(GL_VERTEX_ARRAY); glDisableClientState(GL_COLOR_ARRAY); glDisableClientState(GL_TEXTURE_COORD_ARRAY); buf.unbind(); } logstalgia-1.0.7/src/core/tga.h0000644000203100020310000000623612611522305016126 0ustar andrewcandrewc/* Copyright (c) 2012 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef TGA_WRITER_H #define TGA_WRITER_H #include "SDL_thread.h" #include #include #include #include class TGAWriter { protected: bool rle; size_t components; size_t rle_count; size_t raw_count; std::ostream* out; void writeHeader(); inline void writeRLE(int pixel_count, const char* pixel); inline void writeRaw(std::vector& buffer, int start, int pixel_count); void writeScanlines(std::vector& buffer, int width, int height); void init(); public: TGAWriter(int components = 3); bool open(const std::string& filename); void close(); void setOutputStream(std::ostream* out); void screenshot(const std::string& filename); void capture(std::vector& buffer); void writeTGA(std::vector& buffer); }; enum tga_exporter_state { TGA_EXPORTER_WAIT, TGA_EXPORTER_WRITE, TGA_EXPORTER_EXIT, TGA_EXPORTER_STOPPED }; class TGAExporter { protected: TGAWriter writer; std::vector* buffer_shared_ptr; std::vector buffer1; std::vector buffer2; SDL_cond* cond; SDL_mutex* mutex; SDL_Thread* thread; int thread_state; std::string filename; static int startThread(void *exporter); public: TGAExporter(const std::string& filename); ~TGAExporter(); void run(); void stop(); void capture(); }; class TGAExporterException : public std::exception { protected: std::string filename; public: TGAExporterException(const std::string& filename) : filename(filename) {}; virtual ~TGAExporterException() throw () {}; virtual const char* what() const throw() { return filename.c_str(); }; }; #endif logstalgia-1.0.7/src/core/conffile.cpp0000644000203100020310000004706012611522305017473 0ustar andrewcandrewc/* Copyright (C) 2009 Andrew Caudwell (acaudwell@gmail.com) 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 . */ #include "conffile.h" #include "logger.h" #include "regex.h" //section of config file Regex ConfFile_section("^\\s*\\[([^\\]]+)\\]\\s*$"); Regex ConfFile_int_value("^\\s*-?(\\d+)\\s*$"); Regex ConfFile_float_value("^\\s*-?(\\d*\\.?\\d+)\\s*$"); // parse key value pair, seperated by an equals sign, removing white space on key and front of the value Regex ConfFile_key_value("^\\s*([^=\\s]+)\\s*=\\s*([^\\s].*)?$"); // vec2, vec3, or vec4 with liberal allowance for whitespace Regex ConfFile_vec2_value("^\\s*vec2\\(\\s*(-?[0-9.]+)\\s*,\\s*(-?[0-9.]+)\\s*\\)\\s*$"); Regex ConfFile_vec3_value("^\\s*vec3\\(\\s*(-?[0-9.]+)\\s*,\\s*(-?[0-9.]+)\\s*,\\s*(-?[0-9.]+)\\s*\\)\\s*$"); Regex ConfFile_vec4_value("^\\s*vec4\\(\\s*(-?[0-9.]+)\\s*,\\s*(-?[0-9.]+)\\s*,\\s*(-?[0-9.]+)\\s*,\\s*(-?[0-9.]+)\\s*\\)\\s*$"); //ConfEntry ConfEntry::ConfEntry(const std::string& name) { this->name = name; } ConfEntry::ConfEntry(const std::string& name, const std::string& value, int lineno) { this->name = name; this->value = value; this->lineno = lineno; } ConfEntry::ConfEntry(const std::string& name, bool value) { this->name = name; setBool(value); } ConfEntry::ConfEntry(const std::string& name, int value) { this->name = name; setInt(value); } ConfEntry::ConfEntry(const std::string& name, float value) { this->name = name; setFloat(value); } ConfEntry::ConfEntry(const std::string& name, vec2 value) { this->name = name; setVec2(value); } ConfEntry::ConfEntry(const std::string& name, vec3 value) { this->name = name; setVec3(value); } ConfEntry::ConfEntry(const std::string& name, vec4 value) { this->name = name; setVec4(value); } void ConfEntry::setName(const std::string& name) { this->name = name; } void ConfEntry::setString(const std::string& value) { this->value = value; } void ConfEntry::setFloat(float value) { char floattostr[256]; snprintf(floattostr, 256, "%.5f", value); this->value = std::string(floattostr); } void ConfEntry::setInt(int value) { char inttostr[256]; snprintf(inttostr, 256, "%d", value); this->value = std::string(inttostr); } void ConfEntry::setBool(bool value) { this->value = std::string(value ? "yes" : "no"); } void ConfEntry::setVec2(vec2 value) { char vectostr[256]; snprintf(vectostr, 256, "vec2(%.5f, %.5f)", value.x, value.y); this->value = std::string(vectostr); } void ConfEntry::setVec3(vec3 value) { char vectostr[256]; snprintf(vectostr, 256, "vec3(%.5f, %.5f, %.5f)", value.x, value.y, value.z); this->value = std::string(vectostr); } void ConfEntry::setVec4(vec4 value) { char vectostr[256]; snprintf(vectostr, 256, "vec4(%.5f, %.5f, %.5f, %.5f)", value.x, value.y, value.z, value.w); this->value = std::string(vectostr); } std::string ConfEntry::getName() { return name; } std::string ConfEntry::getString() { return value; } int ConfEntry::getLineNumber() { return lineno; } int ConfEntry::getInt() { return atoi(value.c_str()); } bool ConfEntry::isFloat() { if(ConfFile_float_value.match(value)) return true; return false; } bool ConfEntry::isInt() { if(ConfFile_float_value.match(value)) return true; return false; } float ConfEntry::getFloat() { return atof(value.c_str()); } bool ConfEntry::hasValue() { return getString().size() > 0; } bool ConfEntry::isBool() { if( value == "1" || value == "true" || value == "True" || value == "TRUE" || value == "yes" || value == "Yes" || value == "YES" || value == "0" || value == "false" || value == "False" || value == "FALSE" || value == "no" || value == "No" || value == "NO") return true; return false; } bool ConfEntry::getBool() { if(value == "1" || value == "true" || value == "True" || value == "TRUE" || value == "yes" || value == "Yes" || value == "YES") return true; return false; } bool ConfEntry::isVec2() { if(ConfFile_vec2_value.match(value)) return true; return false; } vec2 ConfEntry::getVec2() { std::vector matches; if(ConfFile_vec2_value.match(value, &matches)) { return vec2(atof(matches[0].c_str()), atof(matches[1].c_str())); } return vec2(0.0, 0.0); } bool ConfEntry::isVec3() { if(ConfFile_vec3_value.match(value)) return true; return false; } vec3 ConfEntry::getVec3() { std::vector matches; if(ConfFile_vec3_value.match(value, &matches)) { return vec3(atof(matches[0].c_str()), atof(matches[1].c_str()), atof(matches[2].c_str())); } return vec3(0.0, 0.0, 0.0); } bool ConfEntry::isVec4() { if(ConfFile_vec4_value.match(value)) return true; return false; } vec4 ConfEntry::getVec4() { std::vector matches; if(ConfFile_vec4_value.match(value, &matches)) { return vec4(atof(matches[0].c_str()), atof(matches[1].c_str()), atof(matches[2].c_str()), atof(matches[3].c_str()) ); } return vec4(0.0, 0.0, 0.0, 0.0); } //ConfSection ConfSection::ConfSection() { lineno = 0; conf = 0; } ConfSection::ConfSection(const std::string& name, int lineno) { this->name = name; this->lineno = lineno; this->conf = 0; } ConfSection::~ConfSection() { clear(); } std::string ConfSection::getName() { return name; } ConfFile* ConfSection::getConfFile() { return conf; } void ConfSection::setConfFile(ConfFile* conf) { this->conf = conf; } int ConfSection::getLineNumber() { return lineno; } ConfEntryList* ConfSection::getEntries(const std::string& key) { std::map::iterator entry_finder = entrymap.find(key); if(entry_finder == entrymap.end()) return 0; return entry_finder->second; } ConfEntry* ConfSection::getEntry(const std::string& key) { ConfEntryList* entryList = getEntries(key); if(entryList==0 || entryList->size()==0) return 0; return entryList->front(); } void ConfSection::addEntry(ConfEntry* entry) { ConfEntryList* entrylist = entrymap[entry->getName()]; if(entrylist==0) { entrymap[entry->getName()] = entrylist = new ConfEntryList; } entrylist->push_back(entry); } void ConfSection::addEntry(const std::string& name, const std::string& value, int lineno) { ConfEntry* entry = new ConfEntry(name, value, lineno); addEntry(entry); } //replace first entry with that name void ConfSection::setEntry(ConfEntry* entry) { ConfEntryList* entrylist = entrymap[entry->getName()]; if(entrylist==0) { entrymap[entry->getName()] = entrylist = new ConfEntryList; } //remove any entries with this name while(entrylist->size()>0) { ConfEntry* front = entrylist->front(); entrylist->pop_front(); delete front; } //add new entry entrylist->push_front(entry); } void ConfSection::setEntry(const std::string& name, const std::string& value, int lineno) { ConfEntry* entry = new ConfEntry(name, value, lineno); setEntry(entry); } void ConfSection::clear() { //delete entries for(std::map::iterator it = entrymap.begin(); it!= entrymap.end(); it++) { ConfEntryList* entrylist = it->second; for(std::list::iterator eit = entrylist->begin(); eit != entrylist->end(); eit++) { ConfEntry* e = *eit; delete e; } delete entrylist; } entrymap.clear(); } bool ConfSection::hasValue(const std::string& key) { std::string value = getString(key); if(value.size()>0) return true; return false; } std::string ConfSection::getString(const std::string& key) { ConfEntry* entry = getEntry(key); if(entry==0) return std::string(""); return entry->getString(); } int ConfSection::getInt(const std::string& key) { ConfEntry* entry = getEntry(key); if(entry) return entry->getInt(); return 0; } float ConfSection::getFloat(const std::string& key) { ConfEntry* entry = getEntry(key); if(entry) return entry->getFloat(); return 0.0f; } bool ConfSection::getBool(const std::string& key) { ConfEntry* entry = getEntry(key); if(entry) return entry->getBool(); return false; } vec3 ConfSection::getVec3(const std::string& key) { ConfEntry* entry = getEntry(key); if(entry) return entry->getVec3(); return vec3(0.0, 0.0, 0.0); } vec4 ConfSection::getVec4(const std::string& key) { ConfEntry* entry = getEntry(key); if(entry) return entry->getVec4(); return vec4(0.0, 0.0, 0.0, 0.0); } void ConfSection::print(std::ostream& out) { out << "[" << getName() << "]" << std::endl; for(std::map::iterator it = entrymap.begin(); it!= entrymap.end(); it++) { ConfEntryList* entrylist = it->second; for(std::list::iterator eit = entrylist->begin(); eit != entrylist->end(); eit++) { ConfEntry* e = *eit; out << e->getName() << "=" << e->getString() << std::endl; } } out << std::endl; } //ConfFile ConfFile::ConfFile() { } ConfFile::~ConfFile() { clear(); } void ConfFile::clear() { //delete sections for(std::map::iterator it = sectionmap.begin(); it!= sectionmap.end(); it++) { ConfSectionList* sectionlist = it->second; for(std::list::iterator sit = sectionlist->begin(); sit != sectionlist->end(); sit++) { ConfSection* s = *sit; delete s; } delete sectionlist; } sectionmap.clear(); } void ConfFile::setFilename(const std::string& filename) { this->conffile = filename; } std::string ConfFile::getFilename() { return conffile; } void ConfFile::save(const std::string& conffile) { this->conffile = conffile; save(); } void ConfFile::save() { if(conffile.size()==0) { throw ConfFileException("filename not set", conffile.c_str(), 0); } //save conf file std::ofstream out; out.open(conffile.c_str()); if(!out.is_open()) { std::string write_error = std::string("failed to write config to ") + conffile; throw ConfFileException(write_error, conffile.c_str(), 0); } for(std::map::iterator it = sectionmap.begin(); it!= sectionmap.end(); it++) { ConfSectionList* sectionlist = it->second; for(ConfSectionList::iterator sit = sectionlist->begin(); sit != sectionlist->end(); sit++) { ConfSection* s = *sit; s->print(out); } } out.close(); } void ConfFile::load(const std::string& conffile) { this->conffile = conffile; load(); } static const std::string conffile_whitespaces(" \t\f\v\n\r"); void ConfFile::trim(std::string& value) { if(value.size() == 0) return; size_t string_end = value.find_last_not_of(conffile_whitespaces); if(string_end == std::string::npos) value.assign(""); else if(string_end != value.size()-1) value.assign(value.substr(0,string_end+1)); } void ConfFile::load() { debugLog("ConfFile::load(%s)", conffile.c_str()); clear(); char buff[1024]; int lineno = 0; ConfSection* sec = 0; std::ifstream in(conffile.c_str()); if(!in.is_open()) { snprintf(buff, 1024, "failed to open config file %s", conffile.c_str()); std::string conf_error = std::string(buff); throw ConfFileException(conf_error, conffile, 0); } std::string line; while(std::getline(in, line)) { lineno++; std::vector matches; // blank line or commented out lines if(line.size() == 0 || (line.size() > 0 && line[0] == '#')) { continue; // sections } else if(ConfFile_section.match(line, &matches)) { if(sec != 0) addSection(sec); sec = new ConfSection(matches[0], lineno); // key value pairs } else if(ConfFile_key_value.match(line, &matches)) { std::string key = matches[0]; std::string value = (matches.size()>1) ? matches[1] : ""; //trim whitespace ConfFile::trim(value); if(sec==0) sec = new ConfSection("", lineno); sec->addEntry(key, value, lineno); debugLog("%s: [%s] %s => %s", conffile.c_str(), sec->getName().c_str(), key.c_str(), value.c_str()); } else { snprintf(buff, 1024, "%s, line %d: could not parse line", conffile.c_str(), lineno); std::string conf_error = std::string(buff); throw ConfFileException(conf_error, conffile, lineno); } } if(sec != 0) addSection(sec); in.close(); } bool ConfFile::hasEntry(const std::string& section, const std::string& key) { ConfEntry* entry = getEntry(section, key); if(entry != 0) return true; return false; } bool ConfFile::hasValue(const std::string& section, const std::string& key) { std::string value = getString(section, key); if(value.size()>0) return true; return false; } int ConfFile::countSection(const std::string& section) { ConfSectionList* sectionlist = getSections(section); if(sectionlist==0) return 0; int count = 0; for(ConfSectionList::iterator sit = sectionlist->begin(); sit != sectionlist->end(); sit++) { count++; } return count; } bool ConfFile::hasSection(const std::string& section) { ConfSection* sec = getSection(section); if(sec==0) return false; return true; } ConfSection* ConfFile::addSection(const std::string& section) { ConfSection* sec = new ConfSection(section); addSection(sec); return sec; } void ConfFile::addSection(ConfSection* section) { ConfSectionList* sectionlist = getSections(section->getName()); if(sectionlist==0) { sectionmap[section->getName()] = sectionlist = new ConfSectionList; } section->setConfFile(this); sectionlist->push_back(section); } void ConfFile::setSection(ConfSection* section) { ConfSectionList* sectionlist = getSections(section->getName()); if(sectionlist==0) { sectionmap[section->getName()] = sectionlist = new ConfSectionList; } if(sectionlist->size() != 0) { ConfSection* front = sectionlist->front(); sectionlist->pop_front(); delete front; } sectionlist->push_back(section); } //returns the list of all sections with a particular name ConfSectionList* ConfFile::getSections(const std::string& section) { std::map::iterator section_finder = sectionmap.find(section); if(section_finder == sectionmap.end()) return 0; return section_finder->second; } //returns the first section with a particular name ConfSection* ConfFile::getSection(const std::string& section) { ConfSectionList* sectionlist = getSections(section); if(sectionlist==0 || sectionlist->size()==0) return 0; return sectionlist->front(); } //returns the first section with a particular name void ConfFile::setEntry(const std::string& section, const std::string& key, const std::string& value) { ConfSection* sec = getSection(section); if(sec==0) { sec = addSection(section); } sec->setEntry(key, value); } //returns a list of all entries in a section with a particular name ConfEntryList* ConfFile::getEntries(const std::string& section, const std::string& key) { ConfSection* sec = getSection(section); if(sec==0) return 0; ConfEntryList* entryList = sec->getEntries(key); return entryList; } //get first entry in a section with a particular name ConfEntry* ConfFile::getEntry(const std::string& section, const std::string& key) { ConfSection* sec = getSection(section); if(sec==0) return 0; ConfEntry* entry = sec->getEntry(key); return entry; } std::string ConfFile::getString(const std::string& section, const std::string& key) { ConfEntry* entry = getEntry(section, key); if(entry==0) return std::string(""); return entry->getString(); } int ConfFile::getInt(const std::string& section, const std::string& key) { ConfEntry* entry = getEntry(section, key); if(entry) return entry->getInt(); return 0; } float ConfFile::getFloat(const std::string& section, const std::string& key) { ConfEntry* entry = getEntry(section, key); if(entry) return entry->getFloat(); return 0.0f; } bool ConfFile::getBool(const std::string& section, const std::string& key) { ConfEntry* entry = getEntry(section, key); if(entry) return entry->getBool(); return false; } vec3 ConfFile::getVec3(const std::string& section, const std::string& key) { ConfEntry* entry = getEntry(section, key); if(entry) return entry->getVec3(); return vec3(0.0, 0.0, 0.0); } vec4 ConfFile::getVec4(const std::string& section, const std::string& key) { ConfEntry* entry = getEntry(section, key); if(entry) return entry->getVec4(); return vec4(0.0, 0.0, 0.0, 0.0); } void ConfFile::unknownOptionException(ConfEntry* entry) { std::string reason = "unknown option '"; reason += entry->getName(); reason += std::string("'"); entryException(entry, reason); } void ConfFile::missingValueException(ConfEntry* entry) { std::string reason = std::string("no value specified for '"); reason += entry->getName(); reason += std::string("'"); entryException(entry, reason); } void ConfFile::invalidValueException(ConfEntry* entry) { std::string reason = std::string("invalid '"); reason += entry->getName(); reason += std::string("' value"); entryException(entry, reason); } void ConfFile::missingEntryException(ConfSection* section, std::string entryname) { std::string reason = std::string("section '"); reason += section->getName(); reason += std::string("' missing required entry '"); reason += entryname; reason += std::string("'"); sectionException(section, reason); } void ConfFile::sectionException(ConfSection* section, std::string reason) { std::string errmsg; int lineno = 0; if(conffile.size()) { errmsg = conffile; if(section != 0 && section->getLineNumber() != 0) { lineno = section->getLineNumber(); char linebuff[256]; snprintf(linebuff, 256, ", line %d", lineno); errmsg += std::string(linebuff); } errmsg += std::string(": "); } errmsg += reason; throw ConfFileException(errmsg, conffile, lineno); } void ConfFile::entryException(ConfEntry* entry, std::string reason) { std::string errmsg; int lineno = 0; if(conffile.size()) { errmsg = conffile; if(entry != 0 && entry->getLineNumber() != 0) { lineno = entry->getLineNumber(); char linebuff[256]; snprintf(linebuff, 256, ", line %d", lineno); errmsg += std::string(linebuff); } errmsg += std::string(": "); } errmsg += reason; throw ConfFileException(errmsg, conffile, lineno); } logstalgia-1.0.7/src/core/shader.h0000644000203100020310000000306112611522305016612 0ustar andrewcandrewc/* Copyright (c) 2009 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef GLSL_SHADER_H #define GLSL_SHADER_H #include "shader.hh" #endif logstalgia-1.0.7/src/core/fxfont.h0000644000203100020310000001555612611522305016664 0ustar andrewcandrewc/* Copyright (c) 2009 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Portions of this code are derivived from FTGL (FTTextureFont.cpp) FTGL - OpenGL font library Copyright (c) 2001-2004 Henry Maddocks Copyright (c) 2008 Sam Hocevar Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef FX_FONT_H #define FX_FONT_H #include "display.h" #include "vectors.h" #include "logger.h" #include "resource.h" #include "texture.h" #include "vbo.h" #include #include #include class FXFontException : public ResourceException { public: FXFontException(const std::string & font_file) : ResourceException(font_file) {} }; class FXGlyph; class FXGlyphSet; class FXGlyphPage { GLubyte* texture_data; bool needs_update; int page_width; int page_height; public: TextureResource* texture; FXGlyphPage(int page_width, int page_height); ~FXGlyphPage(); bool addGlyph(FXGlyph* glyph); void updateTexture(); int cursor_x, cursor_y; int max_glyph_height; }; class FXGlyph { unsigned int chr; vec2 dims; vec2 corner; vec2 advance; int height; public: vec2 vertex_positions[4]; vec2 vertex_texcoords[4]; FXGlyphPage* page; vec4 texcoords; FXGlyphSet* set; FT_BitmapGlyph glyph_bitmap; FXGlyph(FXGlyphSet* set, unsigned int chr); const vec2& getAdvance() const { return advance; }; const vec2& getCorner() const { return corner; }; const vec2& getDimensions() const { return dims; }; int getHeight() const { return height; }; void setPage(FXGlyphPage* page, const vec4& texcoords); void drawToVBO(quadbuf& buffer, const vec2& offset, const vec4& colour) const; void draw(const vec2& pos) const; }; class FXGlyphSet { FT_Library freetype; FT_Face ftface; std::string fontfile; int max_height; int size; int dpi; float tab_width; vec2 unit_scale; bool pre_caching; std::vector pages; std::map glyphs; void init(); FXGlyph* getGlyph(unsigned int chr); public: FXGlyphSet(FT_Library freetype, const std::string& fontfile, int size, int dpi); ~FXGlyphSet(); void precache(const std::string& chars); FT_Face getFTFace() const { return ftface; } const std::string& getFontFile() const { return fontfile; } float getWidth(const std::string& text); float getAscender() const; float getDescender() const; float getMaxWidth() const; float getMaxHeight() const; int getSize() const { return size; }; void drawToVBO(vec2& cursor, const std::string& text, const vec4& colour); void draw(const std::string& text); void drawPages(); }; class FXFont { FXGlyphSet* glyphset; std::string fontfile; bool shadow; bool round; float shadow_strength; vec2 shadow_offset; vec4 shadow_colour; vec4 colour; bool align_right, align_top; void render(float x, float y, const std::string& text, const vec4& colour) const; void init(); public: FXFont(); FXFont(FXGlyphSet* glyphset); bool initialized() const { return (glyphset!=0); } void print(float x, float y, const char *str, ...) const; void draw(float x, float y, const std::string& text) const; float getWidth(const std::string& text) const; float getAscender() const; float getDescender() const; void alignTop(bool top); void alignRight(bool right); void roundCoordinates(bool round); const std::string& getFontFile() const; float getMaxWidth() const; float getMaxHeight() const; int getFontSize() const; bool dropShadow() const { return shadow; }; void dropShadow(bool shadow); void shadowStrength(float s); void shadowOffset(float x, float y); void setColour(const vec4& colour); void setAlpha(float alpha); void drawGlyphes(); }; typedef std::map fontSizeMap; class FXFontManager { std::string font_dir; std::map fonts; FT_Library library; public: quadbuf font_vbo; FXFontManager(); bool use_vbo; void setDir(std::string font_dir); void init(); void unload(); void reload(); void destroy(); void purge(); void startBuffer(); void commitBuffer(); void drawBuffer(); FXFont grab(std::string font_file, int size, int dpi = 72); }; extern FXFontManager fontmanager; #endif logstalgia-1.0.7/src/core/timezone.cpp0000644000203100020310000000154012611522305017531 0ustar andrewcandrewc#include "timezone.h" #include #include std::string local_tz; bool tz_initialized = false; void init_tz() { if(tz_initialized) return; //check if TZ is set, store current value char* current_tz_env = getenv("TZ"); if(current_tz_env != 0) { local_tz = std::string("TZ="); local_tz += std::string(current_tz_env); } tz_initialized = true; } void set_utc_tz() { //change TZ to UTC putenv((char*)"TZ=UTC"); tzset(); } void unset_utc_tz() { if(!local_tz.empty()) { putenv((char*)local_tz.c_str()); } else { #ifndef _WIN32 unsetenv("TZ"); #else putenv((char*)"TZ="); #endif } tzset(); } time_t mktime_utc(struct tm* timeinfo) { init_tz(); set_utc_tz(); time_t time_utc = mktime(timeinfo); unset_utc_tz(); return time_utc; } logstalgia-1.0.7/src/core/logger.cpp0000644000203100020310000001037612611522305017165 0ustar andrewcandrewc/* Copyright (c) 2009 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "logger.h" #include #include #include #include std::map log_levels = boost::assign::map_list_of (LOG_LEVEL_ERROR, " ERROR" ) (LOG_LEVEL_CONSOLE, "CONSOLE" ) (LOG_LEVEL_INFO, " INFO" ) (LOG_LEVEL_SCRIPT, " SCRIPT" ) (LOG_LEVEL_DEBUG, " DEBUG" ) (LOG_LEVEL_WARN, " WARN" ) (LOG_LEVEL_PEDANTIC, " PEDANT" ); #define PARSE_AND_LOG(LOG_LEVEL) \ Logger* logger = Logger::getDefault(); \ \ if(!logger || logger->getLevel() < LOG_LEVEL) return; \ \ char msgbuff[65536]; \ char* buffer = msgbuff; \ \ va_list vl; \ \ va_start(vl, str); \ int string_size = vsnprintf(buffer, sizeof(msgbuff), str, vl) + 1; \ \ if(string_size > sizeof(msgbuff)) { \ buffer = new char[string_size]; \ string_size = vsnprintf(buffer, string_size, str, vl); \ } \ \ va_end(vl); \ \ \ logger->message( LOG_LEVEL, buffer ); \ \ if(buffer != msgbuff) delete[] buffer; // LoggerMessage LoggerMessage::LoggerMessage(int level, const std::string& message) : level(level), message(message) { } // Logger Logger* Logger::getDefault() { return default_logger; } Logger::Logger(int level, FILE* stream, int hist_capacity) { init(level, stream, hist_capacity); } void Logger::init(int level, FILE* stream, int hist_capacity) { this->level = level; this->stream = stream; this->hist_capacity = hist_capacity; this->message_count = 0; } int Logger::getMessageCount() { return message_count; } void Logger::message(int level, const std::string& message) { if(!level || this->level < level) return; if(stream != 0) { fprintf(stream, "%s: %s\n", log_levels[level].c_str(), message.c_str()); } if(!hist_capacity) return; while(history.size() >= hist_capacity) { history.pop_front(); } history.push_back(LoggerMessage(level, message)); message_count++; } const std::deque& Logger::getHistory() const { return history; } void Logger::setHistoryCapacity(int hist_capacity) { this->hist_capacity = hist_capacity; } void warnLog(const char *str, ...) { PARSE_AND_LOG(LOG_LEVEL_WARN); } void debugLog(const char *str, ...) { PARSE_AND_LOG(LOG_LEVEL_DEBUG); } void infoLog(const char *str, ...) { PARSE_AND_LOG(LOG_LEVEL_INFO); } void errorLog(const char *str, ...) { PARSE_AND_LOG(LOG_LEVEL_ERROR) } void consoleLog(const char *str, ...) { PARSE_AND_LOG(LOG_LEVEL_CONSOLE); } void scriptLog(const char *str, ...) { PARSE_AND_LOG(LOG_LEVEL_SCRIPT); } void pedanticLog(const char *str, ...) { PARSE_AND_LOG(LOG_LEVEL_PEDANTIC); } Logger* Logger::default_logger = new Logger(LOG_LEVEL_ERROR, stderr, 0); logstalgia-1.0.7/src/core/regex.cpp0000644000203100020310000001245612611522305017021 0ustar andrewcandrewc/* Copyright (c) 2009 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "regex.h" Regex::Regex(std::string regex, bool test) { re = pcre_compile( regex.c_str(), 0, &error, &erroffset, 0 ); if(!re) { valid = false; if(!test) { throw RegexCompilationException(regex); } } else { valid = true; } } Regex::~Regex() { if(re != 0) pcre_free(re); } bool Regex::isValid() { return valid; } bool Regex::replace(std::string& str, const std::string& replacement_str) { int offset = replaceOffset(str, replacement_str, 0); return (offset != -1); } bool Regex::replaceAll(std::string& str, const std::string& replacement_str) { int offset = -1; while((offset = replaceOffset(str, replacement_str, offset+1)) != -1 && offset < str.size()); return (offset != -1); } int Regex::replaceOffset(std::string& str, const std::string& replacement_str, int offset) { int ovector[REGEX_MAX_MATCHES]; int rc = pcre_exec( re, 0, str.c_str(), str.size(), offset, 0, ovector, REGEX_MAX_MATCHES ); //failed match if(rc<1) { return -1; } // replace matched section of string std::string new_str = str; new_str.replace(ovector[0], ovector[1]-ovector[0], replacement_str); size_t end_offset = ovector[0] + replacement_str.size(); for (int i = 1; i < rc; i++) { int match_start = ovector[2*i]; int match_end = ovector[2*i+1]; std::string matched_str; if(match_start != -1) { matched_str = std::string(str, match_start, match_end-match_start); } // check if 'str' contains $i, if it does, replace with match string size_t string_size = new_str.size(); for(size_t j=0; j* results) { if(results != 0) results->clear(); int offset = matchOffset(str, results, 0); return offset != -1; } bool Regex::matchAll(const std::string& str, std::vector* results) { int offset = 0; int match_count = 0; if(results != 0) results->clear(); int str_size = str.size(); while((offset = matchOffset(str, results, offset)) != -1) { match_count++; if(offset >= str_size) break; } return match_count>0; } int Regex::matchOffset(const std::string& str, std::vector* results, int offset) { int ovector[REGEX_MAX_MATCHES]; if(offset >= str.size()) return -1; // To allow ^ to match the start of the remaining string // we offset the string before passing it to pcre_exec int rc = pcre_exec( re, 0, str.c_str() + offset, str.size()-offset, 0, 0, ovector, REGEX_MAX_MATCHES ); //failed match if(rc<1) { return -1; } if(results!=0) { for (int i = 1; i < rc; i++) { int match_start = ovector[2*i]; int match_end = ovector[2*i+1]; // insert a empty string for non-matching optional regex if(match_start == -1) { results->push_back(std::string("")); } else { std::string match(str, match_start+offset, match_end-match_start); results->push_back(match); } } } return ovector[1]+offset; } logstalgia-1.0.7/src/core/seeklog.cpp0000644000203100020310000001227012611522305017332 0ustar andrewcandrewc/* Copyright (c) 2009 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "seeklog.h" long long gSeekLogMaxBufferSize = 104857600; //StreamLog StreamLog::StreamLog() { this->stream = &std::cin; fcntl_fail = false; #ifdef _WIN32 stdin_handle = GetStdHandle(STD_INPUT_HANDLE); #else int ret = fcntl(STDIN_FILENO, F_GETFL, 0); if (fcntl (STDIN_FILENO, F_SETFL, ret | O_NONBLOCK) < 0) { debugLog("fcntl(stdin) failed"); fcntl_fail = true; } #endif } StreamLog::~StreamLog() { } bool StreamLog::getNextLine(std::string& line) { //try and fix the stream if(isFinished()) stream->clear(); #ifdef _WIN32 DWORD available_bytes; if (!PeekNamedPipe(stdin_handle, 0, 0, 0, &available_bytes, 0)) return false; if(available_bytes==0) return false; #endif std::getline(*stream, line); //remove carriage returns if (line.size() > 0 && line[line.size()-1] == '\r') { line.resize(line.size() - 1); } if(isFinished()) { return false; } return true; } bool StreamLog::isFinished() { if(fcntl_fail || stream->fail() || stream->eof()) { return true; } return false; } // SeekLog SeekLog::SeekLog(std::string logfile) { this->logfile = logfile; this->stream = 0; if(!readFully()) { throw SeekLogException(logfile); } } bool SeekLog::readFully() { if(stream!=0) delete stream; std::ifstream* file = new std::ifstream(logfile.c_str(), std::ios::in | std::ios::binary | std::ios::ate); file_size = file->tellg(); if(!file->is_open()) return false; file->seekg (0, std::ios::beg); //dont load into memory if larger than if(file_size > gSeekLogMaxBufferSize) { stream = file; return true; } //buffer entire file into memory char* filebuffer = new char[file_size+1]; if(!file->read(filebuffer, file_size)) { file->close(); delete file; delete [] filebuffer; return false; } filebuffer[file_size] = '\0'; file->close(); delete file; stream = new std::istringstream(std::string(filebuffer)); delete[] filebuffer; return true; } SeekLog::~SeekLog() { if(stream!=0) delete stream; } float SeekLog::getPercent() { return current_percent; } void SeekLog::setPointer(std::streampos pointer) { stream->seekg(pointer); } std::streampos SeekLog::getPointer() { return stream->tellg(); } void SeekLog::seekTo(float percent) { if(isFinished()) stream->clear(); std::streampos mem_offset = (std::streampos) (percent * file_size); setPointer(mem_offset); //throw away end of line if(mem_offset != (std::streampos)0) { std::string eol; getNextLine(eol); } } bool SeekLog::getNextLine(std::string& line) { //try and fix the stream if(isFinished()) stream->clear(); std::getline(*stream, line); //remove carriage returns if (line.size() > 0 && line[line.size()-1] == '\r') { line.resize(line.size() - 1); } if(stream->fail()) { return false; } current_percent = (float) stream->tellg() / file_size; //debugLog("current_percent = %.2f\n", current_percent); return true; } // temporarily move the file pointer to get a line somewhere else in the file bool SeekLog::getNextLineAt(std::string& line, float percent) { stream->clear(); std::streampos currpointer = getPointer(); seekTo(percent); bool success = getNextLine(line); stream->clear(); //set the pointer back setPointer(currpointer); return success; } bool SeekLog::isFinished() { bool finished = false; if(stream->fail() || stream->eof()) { //debugLog("stream is finished"); finished=true; } return finished; } logstalgia-1.0.7/src/core/settings.h0000644000203100020310000000370712611522305017213 0ustar andrewcandrewc/* Copyright (C) 2009 Andrew Caudwell (acaudwell@gmail.com) 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 . */ #ifndef SDLAPP_SETTINGS_H #define SDLAPP_SETTINGS_H #include "conffile.h" #include #include #include class SDLAppSettings { protected: std::string default_section_name; std::map arg_types; std::map arg_aliases; std::map conf_sections; virtual void commandLineOption(const std::string& name, const std::string& value) {} bool parseRectangle(const std::string& value, int& x, int& y); bool parseViewport(const std::string& value, int& x, int& y, bool& no_resize); bool parseDateTime(const std::string& datetime, time_t& timestamp); public: int display_width; int display_height; bool multisample; bool fullscreen; bool transparent; bool resizable; bool vsync; std::string output_ppm_filename; int output_framerate; SDLAppSettings(); void parseArgs(int argc, char *argv[], ConfFile& conffile, std::vector* files = 0); void parseArgs(const std::vector& args, ConfFile& conffile, std::vector* files = 0); void exportDisplaySettings(ConfFile& conf); void importDisplaySettings(ConfFile& conf); void setDisplayDefaults(); }; #endif logstalgia-1.0.7/src/core/vectors.cpp0000644000203100020310000000071412611522305017366 0ustar andrewcandrewc#include "vectors.h" vec2 rotate_vec2(const vec2& v, float s, float c) { return vec2( v.x * c - v.y * s, v.x * s + v.y * c ); } vec2 normalise(const vec2& v) { float l = glm::length(v); if(l > 0.0) return v / l; return v; } vec3 normalise(const vec3& v) { float l = glm::length(v); if(l > 0.0) return v / l; return v; } vec4 normalise(const vec4& v) { float l = glm::length(v); if(l > 0.0) return v / l; return v; } logstalgia-1.0.7/src/core/frustum.h0000644000203100020310000000507412611522305017057 0ustar andrewcandrewc/* Copyright (c) 2009 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef FRUSTUM_H #define FRUSTUM_H #include "gl.h" #include "plane.h" #include "pi.h" #include "bounds.h" class Frustum { float near_distance, far_distance; float view_ratio; float fov; float near_half_width; float near_half_height; float far_half_width; float far_half_height; vec3 near_top_left, near_top_right; vec3 near_bottom_left, near_bottom_right; vec3 far_top_left, far_top_right; vec3 far_bottom_left, far_bottom_right; Plane planes[6]; public: Frustum(); Frustum(const vec3& source, const vec3& target, const vec3& up, float fov, float near_distance, float far_distance); void update(const vec3& source, const vec3& target, const vec3& up, float fov, float near_distance, float far_distance); void updatePerspective(float fov, float near_distance, float far_distance); void updateView(const vec3& source, const vec3& target, const vec3& up); bool contains(const vec3& p) const; bool intersects(const Bounds3D& bounds) const; bool intersects(const Bounds2D& bounds, float z = 0.0) const; }; #endif logstalgia-1.0.7/src/core/timezone.h0000644000203100020310000000032112611522305017172 0ustar andrewcandrewc#ifndef CORE_TIMEZONE_H #define CORE_TIMEZONE_H #include extern "C" { void init_tz(); void set_utc_tz(); void unset_utc_tz(); time_t mktime_utc(struct tm* timeinfo); }; #endif logstalgia-1.0.7/src/core/shader.cpp0000644000203100020310000000005112611522305017141 0ustar andrewcandrewc#include "shader.h" #include "shader.cc"logstalgia-1.0.7/src/core/quadtree.cpp0000644000203100020310000002762412611522305017524 0ustar andrewcandrewc/* Copyright (c) 2009 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "quadtree.h" // QUAD NODE // allow more items in node if // - has no children and one of any of: // * maximum depth reached // * item count is less than desired capacity bool QuadNode::allowMoreItems() { return (children.empty() && (depth >= tree->max_node_depth || items.size() < tree->max_node_items ) ); } void QuadNode::addItem(QuadItem* item) { if(allowMoreItems()) { tree->item_count++; item->node_count++; items.push_back(item); return; } if(!children.empty()) { addToChild(item); return; } vec2 average = bounds.centre(); vec2 middle = average - bounds.min; vec2 relmax = bounds.max-bounds.min; Bounds2D newbounds; children.reserve(4); //top left newbounds = Bounds2D( bounds.min + vec2(0.0, 0.0), bounds.min + middle ); children.push_back(new QuadNode(tree, this, newbounds, depth)); //top right newbounds = Bounds2D( bounds.min + vec2(middle.x, 0.0), bounds.min + vec2(relmax.x,middle.y) ); children.push_back(new QuadNode(tree, this, newbounds, depth)); //bottom left newbounds = Bounds2D( bounds.min + vec2(0.0, middle.y), bounds.min + vec2(middle.x,relmax.y) ); children.push_back(new QuadNode(tree, this, newbounds, depth)); //bottom right newbounds = Bounds2D( bounds.min + middle, bounds.max ); children.push_back(new QuadNode(tree, this, newbounds, depth)); for(std::list::iterator it = items.begin(); it != items.end(); it++) { QuadItem* oi = *it; tree->item_count--; oi->node_count--; addToChild(oi); } items.clear(); addToChild(item); } void QuadNode::addToChild(QuadItem* item) { if(children.empty()) return; for(int i=0;i<4;i++) { if(children[i]->bounds.overlaps(item->quadItemBounds)) { children[i]->addItem(item); } } } void QuadNode::getLeavesInFrustum(std::set& nodeset, Frustum& frustum) { if(!items.empty()) { nodeset.insert(this); return; } if(children.empty()) return; //for each 4 corners for(int i=0;i<4;i++) { if(!children[i]->empty() && frustum.intersects(children[i]->bounds)) { children[i]->getLeavesInFrustum(nodeset, frustum); } } return; } int QuadNode::getItemsInFrustum(std::set& itemset, Frustum& frustum) { if(!items.empty()) { int items_added = 0; for(std::list::iterator it = items.begin(); it != items.end(); it++) { QuadItem* oi = (*it); if(oi!=0) { itemset.insert(oi); items_added++; } } return items_added; } if(children.empty()) return 0; int count = 0; //for each 4 corners for(int i=0;i<4;i++) { if(!children[i]->empty() && frustum.intersects(children[i]->bounds)) { count += children[i]->getItemsInFrustum(itemset, frustum); } } return count; } int QuadNode::getItemsInBounds(std::set& itemset, Bounds2D& bounds) const{ if(!items.empty()) { int items_added = 0; for(std::list::const_iterator it = items.begin(); it != items.end(); it++) { QuadItem* oi = (*it); itemset.insert(oi); items_added++; } return items_added; } if(children.empty()) return 0; int count = 0; //for each 4 corners for(int i=0;i<4;i++) { if(!children[i]->empty() && bounds.overlaps(children[i]->bounds)) { count += children[i]->getItemsInBounds(itemset, bounds); } } return count; } int QuadNode::getItemsAt(std::set& itemset, vec2 pos) { if(!items.empty()) { int items_added = 0; for(std::list::iterator it = items.begin(); it != items.end(); it++) { QuadItem* oi = (*it); if(oi!=0) { itemset.insert(oi); items_added++; } } return items_added; } if(children.empty()) return 0; int index = getChildIndex(pos); if(index == -1) return 0; return children[index]->getItemsAt(itemset, pos); } void QuadNode::visitLeavesInFrustum(const Frustum& frustum, VisitFunctor & visit){ if(!items.empty()) { visit(this); }else if(!children.empty()){ //visit each corner for(int i=0;i<4;i++) if(!children[i]->empty() && frustum.intersects(children[i]->bounds)) children[i]->visitLeavesInFrustum(frustum, visit); } } void QuadNode::visitItemsInFrustum(const Frustum & frustum, VisitFunctor & visit){ if(!items.empty()) { for(std::list::const_iterator it = items.begin(); it != items.end(); it++) visit(*it); }else if(!children.empty()){ //visit each corner for(int i=0;i<4;i++) if(!children[i]->empty() && frustum.intersects(children[i]->bounds)) children[i]->visitItemsInFrustum(frustum, visit); } } void QuadNode::visitItemsInBounds(const Bounds2D & bounds, VisitFunctor & visit){ if(!items.empty()) { for(std::list::const_iterator it = items.begin(); it != items.end(); it++) visit(*it); }else if(!children.empty()){ //visit each corner for(int i=0;i<4;i++) if(!children[i]->empty() && bounds.overlaps(children[i]->bounds)) children[i]->visitItemsInBounds(bounds, visit); } } void QuadNode::visitItemsAt(const vec2 & pos, VisitFunctor & visit){ if(!items.empty()){ for(std::list::const_iterator it = items.begin(); it != items.end(); it++) if(*it) visit(*it); }else if(!children.empty()){ int index = getChildIndex(pos); if(index != -1) children[index]->visitItemsAt(pos, visit); } } bool QuadNode::empty() { return (items.empty() && children.empty()); } int QuadNode::getChildIndex(const vec2 & pos) const{ if(children.empty()) return -1; for(int i=0;i<4;i++) { if(children[i]->bounds.contains(pos)) { return i; } } return -1; } QuadNode::QuadNode(QuadTree* tree, QuadNode* parent, Bounds2D bounds, int parent_depth) { this->parent = parent; this->tree = tree; this->bounds = bounds; this->depth = parent_depth + 1; listid = 0; tree->node_count++; } QuadNode::~QuadNode() { if(listid) glDeleteLists(listid, 1); if(!children.empty()) { for(int i=0;i<4;i++) { delete children[i]; } } tree->item_count -= items.size(); items.clear(); tree->node_count--; } int QuadNode::usedChildren() { int populated = 0; if(!children.empty()) { for(int i=0;i<4;i++) { if(!children[i]->empty()) populated++; } } return populated; } int QuadNode::draw(Frustum& frustum) { if(listid && !items.empty()) { glPushMatrix(); glCallList(listid); glPopMatrix(); return 1; } int drawn = 0; if(!children.empty()) { for(int i=0;i<4;i++) { QuadNode* c = children[i]; if(!c->empty() && frustum.intersects(c->bounds)) { drawn += c->draw(frustum); } } } return drawn; } void QuadNode::generateLists() { if(!items.empty()) { if(!listid) listid = glGenLists(1); glNewList(listid, GL_COMPILE); for(std::list::iterator it = items.begin(); it != items.end(); it++) { QuadItem* oi = (*it); oi->drawQuadItem(); } glEndList(); return; } if(!children.empty()) { for(int i=0;i<4;i++) { QuadNode* c = children[i]; if(!c->empty()) { c->generateLists(); } } } } void QuadNode::outline() { //bounds.draw(); if(!items.empty()) { bounds.draw(); /*glBegin(GL_LINES); glVertex2fv(bounds.min); glVertex2fv(bounds.max); glEnd();*/ } if(children.empty()) return; for(int i=0;i<4;i++) { QuadNode* c = children[i]; if(c!=0) { c->outline(); } } } void QuadNode::outlineItems() { if(items.empty() && children.empty()) return; for(std::list::iterator it = items.begin(); it != items.end(); it++) { QuadItem* oi = (*it); oi->quadItemBounds.draw(); } if(children.empty()) return; for(int i=0;i<4;i++) { QuadNode* c = children[i]; if(c!=0) { c->outlineItems(); } } } //Quad TREE QuadTree::QuadTree(Bounds2D bounds, int max_node_depth, int max_node_items) { item_count = 0; node_count = 0; unique_item_count = 0; this->max_node_depth = max_node_depth; this->max_node_items = max_node_items; root = new QuadNode(this, 0, bounds, 0); } QuadTree::~QuadTree() { delete root; } int QuadTree::getItemsAt(std::set& itemset, vec2 pos) { int return_count = root->getItemsAt(itemset, pos); return return_count; } int QuadTree::getItemsInFrustum(std::set& itemset, Frustum& frustum) { return root->getItemsInFrustum(itemset, frustum); } int QuadTree::getItemsInBounds(std::set& itemset, Bounds2D& bounds) const{ return root->getItemsInBounds(itemset, bounds); } void QuadTree::getLeavesInFrustum(std::set& nodeset, Frustum& frustum) { return root->getLeavesInFrustum(nodeset, frustum); } void QuadTree::visitItemsAt(const vec2 & pos, VisitFunctor & visit){ return root->visitItemsAt(pos, visit); } void QuadTree::visitItemsInFrustum(const Frustum & frustum, VisitFunctor & visit){ root->visitItemsInFrustum(frustum, visit); } void QuadTree::visitItemsInBounds(const Bounds2D & bounds, VisitFunctor & visit){ root->visitItemsInBounds(bounds, visit); } void QuadTree::visitLeavesInFrustum(const Frustum& frustum, VisitFunctor & visit){ root->visitLeavesInFrustum(frustum, visit); } void QuadTree::addItem(QuadItem* item) { item->node_count = 0; root->addItem(item); unique_item_count++; } int QuadTree::drawNodesInFrustum(Frustum& frustum) { return root->draw(frustum); } void QuadTree::generateLists() { root->generateLists(); } void QuadTree::outline() { root->outline(); } void QuadTree::outlineItems() { root->outlineItems(); } logstalgia-1.0.7/src/core/plane.cpp0000644000203100020310000000353012611522305016777 0ustar andrewcandrewc/* Copyright (c) 2009 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "plane.h" Plane::Plane() { d = 0.0f; } Plane::Plane(const vec3 & v1, const vec3 & v2, const vec3 & v3) { vec3 edge1 = v1 - v2; vec3 edge2 = v3 - v2; normal = glm::normalize(glm::cross(edge2, edge1)); point = v2; d = -(glm::dot(normal, point)); } float Plane::distance(const vec3 & p) const { return d + glm::dot(normal, p); } logstalgia-1.0.7/src/core/vbo.h0000644000203100020310000000747012611522305016142 0ustar andrewcandrewc/* Copyright (c) 2011 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef CORE_VBO_H #define CORE_VBO_H #include #include #include "gl.h" #include "vectors.h" #include "logger.h" class VBO { public: GLuint id; GLenum buffer_type; int capacity; VBO(GLenum buffer_type = GL_ARRAY_BUFFER) : buffer_type(buffer_type) { capacity = 0; id = 0; } ~VBO() { unload(); } void init() { if(!id) glGenBuffers(1, &id); } void unload() { capacity = 0; if(id != 0) { glDeleteBuffers(1, &id); id = 0; } } void bind() { if(!id) init(); glBindBuffer(buffer_type, id); } void buffer(int item_count, int item_size, int item_capacity, GLvoid* data, GLenum usage) { bind(); if(capacity < item_count) { capacity = item_capacity; glBufferData(buffer_type, capacity * item_size, data, usage); } else { glBufferSubData(buffer_type, 0, item_count * item_size, data); } unbind(); } void unbind() { glBindBuffer(buffer_type, 0); } }; //note this should be 32 bytes (8x4 bytes) class quadbuf_vertex { public: quadbuf_vertex() {}; quadbuf_vertex(const vec2& pos, const vec4& colour, const vec2& texcoord) : pos(pos), colour(colour), texcoord(texcoord) {}; vec2 pos; vec4 colour; vec2 texcoord; }; //maintain ranges corresponding to each texture class quadbuf_tex { public: quadbuf_tex() {}; quadbuf_tex(int start_index, GLuint textureid) : start_index(start_index), textureid(textureid) {}; int start_index; GLuint textureid; }; class quadbuf { quadbuf_vertex* data; int vertex_capacity; std::vector textures; VBO buf; int vertex_count; void resize(int new_size); public: quadbuf(int data_size = 0); ~quadbuf(); void unload(); void reset(); size_t vertices(); size_t capacity(); size_t texture_changes(); void add(GLuint textureid, const vec2& pos, const vec2& dims, const vec4& colour); void add(GLuint textureid, const vec2& pos, const vec2& dims, const vec4& colour, const vec4& texcoord); void add(GLuint textureid, const quadbuf_vertex& v1, const quadbuf_vertex& v2, const quadbuf_vertex& v3, const quadbuf_vertex& v4); void update(); void draw(); }; #endif logstalgia-1.0.7/src/core/stringhash.h0000644000203100020310000000343512611522305017523 0ustar andrewcandrewc/* Copyright (c) 2009 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef STRINGHASH_H #define STRINGHASH_H #include #include "vectors.h" //basic string hash algorithm int stringHash(const std::string& str); vec2 vec2Hash(const std::string& str); vec3 vec3Hash(const std::string& str); vec3 colourHash(const std::string& str); extern int gStringHashSeed; #endif logstalgia-1.0.7/src/core/gl.h0000644000203100020310000000077412611522305015756 0ustar andrewcandrewc#ifndef CORE_GL_H #define CORE_GL_H #include #define NO_SDL_GLEXT #include "SDL.h" #include "SDL_opengl.h" #endif #define PRINT_GL_ERRORS #ifdef PRINT_GL_ERRORS #define glCheckError() { \ int gl_error = glGetError(); \ if(gl_error != GL_NO_ERROR) warnLog("GL error %s at %s:%d", gluErrorString(gl_error), __FILE__, __LINE__); \ } #else #define glCheckError() #endif #include #include FT_FREETYPE_H #include FT_GLYPH_H #include "ftgl/FTUnicode.h" #include "vectors.h" logstalgia-1.0.7/src/core/utf8/0000755000203100020310000000000012611522305016061 5ustar andrewcandrewclogstalgia-1.0.7/src/core/utf8/checked.h0000644000203100020310000002670212611522305017627 0ustar andrewcandrewc// Copyright 2006 Nemanja Trifunovic /* Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following: The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef UTF8_FOR_CPP_CHECKED_H_2675DCD0_9480_4c0c_B92A_CC14C027B731 #define UTF8_FOR_CPP_CHECKED_H_2675DCD0_9480_4c0c_B92A_CC14C027B731 #include "core.h" #include namespace utf8 { // Exceptions that may be thrown from the library functions. class invalid_code_point : public std::exception { uint32_t cp; public: invalid_code_point(uint32_t cp) : cp(cp) {} virtual const char* what() const throw() { return "Invalid code point"; } uint32_t code_point() const {return cp;} }; class invalid_utf8 : public std::exception { uint8_t u8; public: invalid_utf8 (uint8_t u) : u8(u) {} virtual const char* what() const throw() { return "Invalid UTF-8"; } uint8_t utf8_octet() const {return u8;} }; class invalid_utf16 : public std::exception { uint16_t u16; public: invalid_utf16 (uint16_t u) : u16(u) {} virtual const char* what() const throw() { return "Invalid UTF-16"; } uint16_t utf16_word() const {return u16;} }; class not_enough_room : public std::exception { public: virtual const char* what() const throw() { return "Not enough space"; } }; /// The library API - functions intended to be called by the users template octet_iterator append(uint32_t cp, octet_iterator result) { if (!internal::is_code_point_valid(cp)) throw invalid_code_point(cp); if (cp < 0x80) // one octet *(result++) = static_cast(cp); else if (cp < 0x800) { // two octets *(result++) = static_cast((cp >> 6) | 0xc0); *(result++) = static_cast((cp & 0x3f) | 0x80); } else if (cp < 0x10000) { // three octets *(result++) = static_cast((cp >> 12) | 0xe0); *(result++) = static_cast(((cp >> 6) & 0x3f) | 0x80); *(result++) = static_cast((cp & 0x3f) | 0x80); } else if (cp <= internal::CODE_POINT_MAX) { // four octets *(result++) = static_cast((cp >> 18) | 0xf0); *(result++) = static_cast(((cp >> 12) & 0x3f) | 0x80); *(result++) = static_cast(((cp >> 6) & 0x3f) | 0x80); *(result++) = static_cast((cp & 0x3f) | 0x80); } else throw invalid_code_point(cp); return result; } template output_iterator replace_invalid(octet_iterator start, octet_iterator end, output_iterator out, uint32_t replacement) { while (start != end) { octet_iterator sequence_start = start; internal::utf_error err_code = internal::validate_next(start, end); switch (err_code) { case internal::UTF8_OK : for (octet_iterator it = sequence_start; it != start; ++it) *out++ = *it; break; case internal::NOT_ENOUGH_ROOM: throw not_enough_room(); case internal::INVALID_LEAD: append (replacement, out); ++start; break; case internal::INCOMPLETE_SEQUENCE: case internal::OVERLONG_SEQUENCE: case internal::INVALID_CODE_POINT: append (replacement, out); ++start; // just one replacement mark for the sequence while (internal::is_trail(*start) && start != end) ++start; break; } } return out; } template inline output_iterator replace_invalid(octet_iterator start, octet_iterator end, output_iterator out) { static const uint32_t replacement_marker = internal::mask16(0xfffd); return replace_invalid(start, end, out, replacement_marker); } template uint32_t next(octet_iterator& it, octet_iterator end) { uint32_t cp = 0; internal::utf_error err_code = internal::validate_next(it, end, &cp); switch (err_code) { case internal::UTF8_OK : break; case internal::NOT_ENOUGH_ROOM : throw not_enough_room(); case internal::INVALID_LEAD : case internal::INCOMPLETE_SEQUENCE : case internal::OVERLONG_SEQUENCE : throw invalid_utf8(*it); case internal::INVALID_CODE_POINT : throw invalid_code_point(cp); } return cp; } template uint32_t peek_next(octet_iterator it, octet_iterator end) { return next(it, end); } template uint32_t prior(octet_iterator& it, octet_iterator start) { octet_iterator end = it; while (internal::is_trail(*(--it))) if (it < start) throw invalid_utf8(*it); // error - no lead byte in the sequence octet_iterator temp = it; return next(temp, end); } /// Deprecated in versions that include "prior" template uint32_t previous(octet_iterator& it, octet_iterator pass_start) { octet_iterator end = it; while (internal::is_trail(*(--it))) if (it == pass_start) throw invalid_utf8(*it); // error - no lead byte in the sequence octet_iterator temp = it; return next(temp, end); } template void advance (octet_iterator& it, distance_type n, octet_iterator end) { for (distance_type i = 0; i < n; ++i) next(it, end); } template typename std::iterator_traits::difference_type distance (octet_iterator first, octet_iterator last) { typename std::iterator_traits::difference_type dist; for (dist = 0; first < last; ++dist) next(first, last); return dist; } template octet_iterator utf16to8 (u16bit_iterator start, u16bit_iterator end, octet_iterator result) { while (start != end) { uint32_t cp = internal::mask16(*start++); // Take care of surrogate pairs first if (internal::is_surrogate(cp)) { if (start != end) { uint32_t trail_surrogate = internal::mask16(*start++); if (trail_surrogate >= internal::TRAIL_SURROGATE_MIN && trail_surrogate <= internal::TRAIL_SURROGATE_MAX) cp = (cp << 10) + trail_surrogate + internal::SURROGATE_OFFSET; else throw invalid_utf16(static_cast(trail_surrogate)); } else throw invalid_utf16(static_cast(*start)); } result = append(cp, result); } return result; } template u16bit_iterator utf8to16 (octet_iterator start, octet_iterator end, u16bit_iterator result) { while (start != end) { uint32_t cp = next(start, end); if (cp > 0xffff) { //make a surrogate pair *result++ = static_cast((cp >> 10) + internal::LEAD_OFFSET); *result++ = static_cast((cp & 0x3ff) + internal::TRAIL_SURROGATE_MIN); } else *result++ = static_cast(cp); } return result; } template octet_iterator utf32to8 (u32bit_iterator start, u32bit_iterator end, octet_iterator result) { while (start != end) result = append(*(start++), result); return result; } template u32bit_iterator utf8to32 (octet_iterator start, octet_iterator end, u32bit_iterator result) { while (start < end) (*result++) = next(start, end); return result; } // The iterator class template class iterator : public std::iterator { octet_iterator it; octet_iterator range_start; octet_iterator range_end; public: iterator () {}; explicit iterator (const octet_iterator& octet_it, const octet_iterator& range_start, const octet_iterator& range_end) : it(octet_it), range_start(range_start), range_end(range_end) { if (it < range_start || it > range_end) throw std::out_of_range("Invalid utf-8 iterator position"); } // the default "big three" are OK octet_iterator base () const { return it; } uint32_t operator * () const { octet_iterator temp = it; return next(temp, range_end); } bool operator == (const iterator& rhs) const { if (range_start != rhs.range_start || range_end != rhs.range_end) throw std::logic_error("Comparing utf-8 iterators defined with different ranges"); return (it == rhs.it); } bool operator != (const iterator& rhs) const { return !(operator == (rhs)); } iterator& operator ++ () { next(it, range_end); return *this; } iterator operator ++ (int) { iterator temp = *this; next(it, range_end); return temp; } iterator& operator -- () { prior(it, range_start); return *this; } iterator operator -- (int) { iterator temp = *this; prior(it, range_start); return temp; } }; // class iterator } // namespace utf8 #endif //header guard logstalgia-1.0.7/src/core/utf8/unchecked.h0000644000203100020310000002067412611522305020174 0ustar andrewcandrewc// Copyright 2006 Nemanja Trifunovic /* Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following: The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef UTF8_FOR_CPP_UNCHECKED_H_2675DCD0_9480_4c0c_B92A_CC14C027B731 #define UTF8_FOR_CPP_UNCHECKED_H_2675DCD0_9480_4c0c_B92A_CC14C027B731 #include "core.h" namespace utf8 { namespace unchecked { template octet_iterator append(uint32_t cp, octet_iterator result) { if (cp < 0x80) // one octet *(result++) = static_cast(cp); else if (cp < 0x800) { // two octets *(result++) = static_cast((cp >> 6) | 0xc0); *(result++) = static_cast((cp & 0x3f) | 0x80); } else if (cp < 0x10000) { // three octets *(result++) = static_cast((cp >> 12) | 0xe0); *(result++) = static_cast(((cp >> 6) & 0x3f) | 0x80); *(result++) = static_cast((cp & 0x3f) | 0x80); } else { // four octets *(result++) = static_cast((cp >> 18) | 0xf0); *(result++) = static_cast(((cp >> 12) & 0x3f)| 0x80); *(result++) = static_cast(((cp >> 6) & 0x3f) | 0x80); *(result++) = static_cast((cp & 0x3f) | 0x80); } return result; } template uint32_t next(octet_iterator& it) { uint32_t cp = internal::mask8(*it); typename std::iterator_traits::difference_type length = utf8::internal::sequence_length(it); switch (length) { case 1: break; case 2: it++; cp = ((cp << 6) & 0x7ff) + ((*it) & 0x3f); break; case 3: ++it; cp = ((cp << 12) & 0xffff) + ((internal::mask8(*it) << 6) & 0xfff); ++it; cp += (*it) & 0x3f; break; case 4: ++it; cp = ((cp << 18) & 0x1fffff) + ((internal::mask8(*it) << 12) & 0x3ffff); ++it; cp += (internal::mask8(*it) << 6) & 0xfff; ++it; cp += (*it) & 0x3f; break; } ++it; return cp; } template uint32_t peek_next(octet_iterator it) { return next(it); } template uint32_t prior(octet_iterator& it) { while (internal::is_trail(*(--it))) ; octet_iterator temp = it; return next(temp); } // Deprecated in versions that include prior, but only for the sake of consistency (see utf8::previous) template inline uint32_t previous(octet_iterator& it) { return prior(it); } template void advance (octet_iterator& it, distance_type n) { for (distance_type i = 0; i < n; ++i) next(it); } template typename std::iterator_traits::difference_type distance (octet_iterator first, octet_iterator last) { typename std::iterator_traits::difference_type dist; for (dist = 0; first < last; ++dist) next(first); return dist; } template octet_iterator utf16to8 (u16bit_iterator start, u16bit_iterator end, octet_iterator result) { while (start != end) { uint32_t cp = internal::mask16(*start++); // Take care of surrogate pairs first if (internal::is_surrogate(cp)) { uint32_t trail_surrogate = internal::mask16(*start++); cp = (cp << 10) + trail_surrogate + internal::SURROGATE_OFFSET; } result = append(cp, result); } return result; } template u16bit_iterator utf8to16 (octet_iterator start, octet_iterator end, u16bit_iterator result) { while (start != end) { uint32_t cp = next(start); if (cp > 0xffff) { //make a surrogate pair *result++ = static_cast((cp >> 10) + internal::LEAD_OFFSET); *result++ = static_cast((cp & 0x3ff) + internal::TRAIL_SURROGATE_MIN); } else *result++ = static_cast(cp); } return result; } template octet_iterator utf32to8 (u32bit_iterator start, u32bit_iterator end, octet_iterator result) { while (start != end) result = append(*(start++), result); return result; } template u32bit_iterator utf8to32 (octet_iterator start, octet_iterator end, u32bit_iterator result) { while (start < end) (*result++) = next(start); return result; } // The iterator class template class iterator : public std::iterator { octet_iterator it; public: iterator () {}; explicit iterator (const octet_iterator& octet_it): it(octet_it) {} // the default "big three" are OK octet_iterator base () const { return it; } uint32_t operator * () const { octet_iterator temp = it; return next(temp); } bool operator == (const iterator& rhs) const { return (it == rhs.it); } bool operator != (const iterator& rhs) const { return !(operator == (rhs)); } iterator& operator ++ () { std::advance(it, internal::sequence_length(it)); return *this; } iterator operator ++ (int) { iterator temp = *this; std::advance(it, internal::sequence_length(it)); return temp; } iterator& operator -- () { prior(it); return *this; } iterator operator -- (int) { iterator temp = *this; prior(it); return temp; } }; // class iterator } // namespace utf8::unchecked } // namespace utf8 #endif // header guard logstalgia-1.0.7/src/core/utf8/core.h0000644000203100020310000002544212611522305017171 0ustar andrewcandrewc// Copyright 2006 Nemanja Trifunovic /* Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following: The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef UTF8_FOR_CPP_CORE_H_2675DCD0_9480_4c0c_B92A_CC14C027B731 #define UTF8_FOR_CPP_CORE_H_2675DCD0_9480_4c0c_B92A_CC14C027B731 #include namespace utf8 { // The typedefs for 8-bit, 16-bit and 32-bit unsigned integers // You may need to change them to match your system. // These typedefs have the same names as ones from cstdint, or boost/cstdint typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef unsigned int uint32_t; // Helper code - not intended to be directly called by the library users. May be changed at any time namespace internal { // Unicode constants // Leading (high) surrogates: 0xd800 - 0xdbff // Trailing (low) surrogates: 0xdc00 - 0xdfff const uint16_t LEAD_SURROGATE_MIN = 0xd800u; const uint16_t LEAD_SURROGATE_MAX = 0xdbffu; const uint16_t TRAIL_SURROGATE_MIN = 0xdc00u; const uint16_t TRAIL_SURROGATE_MAX = 0xdfffu; const uint16_t LEAD_OFFSET = LEAD_SURROGATE_MIN - (0x10000 >> 10); const uint32_t SURROGATE_OFFSET = 0x10000u - (LEAD_SURROGATE_MIN << 10) - TRAIL_SURROGATE_MIN; // Maximum valid value for a Unicode code point const uint32_t CODE_POINT_MAX = 0x0010ffffu; template inline uint8_t mask8(octet_type oc) { return static_cast(0xff & oc); } template inline uint16_t mask16(u16_type oc) { return static_cast(0xffff & oc); } template inline bool is_trail(octet_type oc) { return ((mask8(oc) >> 6) == 0x2); } template inline bool is_surrogate(u16 cp) { return (cp >= LEAD_SURROGATE_MIN && cp <= TRAIL_SURROGATE_MAX); } template inline bool is_code_point_valid(u32 cp) { return (cp <= CODE_POINT_MAX && !is_surrogate(cp) && cp != 0xfffe && cp != 0xffff); } template inline typename std::iterator_traits::difference_type sequence_length(octet_iterator lead_it) { uint8_t lead = mask8(*lead_it); if (lead < 0x80) return 1; else if ((lead >> 5) == 0x6) return 2; else if ((lead >> 4) == 0xe) return 3; else if ((lead >> 3) == 0x1e) return 4; else return 0; } inline bool is_overlong_sequence(uint32_t cp, int length) { if (cp < 0x80) { if (length != 1) return true; } else if (cp < 0x800) { if (length != 2) return true; } else if (cp < 0x10000) { if (length != 3) return true; } return false; } enum utf_error {UTF8_OK, NOT_ENOUGH_ROOM, INVALID_LEAD, INCOMPLETE_SEQUENCE, OVERLONG_SEQUENCE, INVALID_CODE_POINT}; /// get_sequence_x functions decode utf-8 sequences of the length x template utf_error get_sequence_1(octet_iterator& it, octet_iterator end, uint32_t* code_point) { if (it != end) { if (code_point) *code_point = mask8(*it); return UTF8_OK; } return NOT_ENOUGH_ROOM; } template utf_error get_sequence_2(octet_iterator& it, octet_iterator end, uint32_t* code_point) { utf_error ret_code = NOT_ENOUGH_ROOM; if (it != end) { uint32_t cp = mask8(*it); if (++it != end) { if (is_trail(*it)) { cp = ((cp << 6) & 0x7ff) + ((*it) & 0x3f); if (code_point) *code_point = cp; ret_code = UTF8_OK; } else ret_code = INCOMPLETE_SEQUENCE; } else ret_code = NOT_ENOUGH_ROOM; } return ret_code; } template utf_error get_sequence_3(octet_iterator& it, octet_iterator end, uint32_t* code_point) { utf_error ret_code = NOT_ENOUGH_ROOM; if (it != end) { uint32_t cp = mask8(*it); if (++it != end) { if (is_trail(*it)) { cp = ((cp << 12) & 0xffff) + ((mask8(*it) << 6) & 0xfff); if (++it != end) { if (is_trail(*it)) { cp += (*it) & 0x3f; if (code_point) *code_point = cp; ret_code = UTF8_OK; } else ret_code = INCOMPLETE_SEQUENCE; } else ret_code = NOT_ENOUGH_ROOM; } else ret_code = INCOMPLETE_SEQUENCE; } else ret_code = NOT_ENOUGH_ROOM; } return ret_code; } template utf_error get_sequence_4(octet_iterator& it, octet_iterator end, uint32_t* code_point) { utf_error ret_code = NOT_ENOUGH_ROOM; if (it != end) { uint32_t cp = mask8(*it); if (++it != end) { if (is_trail(*it)) { cp = ((cp << 18) & 0x1fffff) + ((mask8(*it) << 12) & 0x3ffff); if (++it != end) { if (is_trail(*it)) { cp += (mask8(*it) << 6) & 0xfff; if (++it != end) { if (is_trail(*it)) { cp += (*it) & 0x3f; if (code_point) *code_point = cp; ret_code = UTF8_OK; } else ret_code = INCOMPLETE_SEQUENCE; } else ret_code = NOT_ENOUGH_ROOM; } else ret_code = INCOMPLETE_SEQUENCE; } else ret_code = NOT_ENOUGH_ROOM; } else ret_code = INCOMPLETE_SEQUENCE; } else ret_code = NOT_ENOUGH_ROOM; } return ret_code; } template utf_error validate_next(octet_iterator& it, octet_iterator end, uint32_t* code_point) { // Save the original value of it so we can go back in case of failure // Of course, it does not make much sense with i.e. stream iterators octet_iterator original_it = it; uint32_t cp = 0; // Determine the sequence length based on the lead octet typedef typename std::iterator_traits::difference_type octet_difference_type; octet_difference_type length = sequence_length(it); if (length == 0) return INVALID_LEAD; // Now that we have a valid sequence length, get trail octets and calculate the code point utf_error err = UTF8_OK; switch (length) { case 1: err = get_sequence_1(it, end, &cp); break; case 2: err = get_sequence_2(it, end, &cp); break; case 3: err = get_sequence_3(it, end, &cp); break; case 4: err = get_sequence_4(it, end, &cp); break; } if (err == UTF8_OK) { // Decoding succeeded. Now, security checks... if (is_code_point_valid(cp)) { if (!is_overlong_sequence(cp, length)){ // Passed! Return here. if (code_point) *code_point = cp; ++it; return UTF8_OK; } else err = OVERLONG_SEQUENCE; } else err = INVALID_CODE_POINT; } // Failure branch - restore the original value of the iterator it = original_it; return err; } template inline utf_error validate_next(octet_iterator& it, octet_iterator end) { return validate_next(it, end, 0); } } // namespace internal /// The library API - functions intended to be called by the users // Byte order mark const uint8_t bom[] = {0xef, 0xbb, 0xbf}; template octet_iterator find_invalid(octet_iterator start, octet_iterator end) { octet_iterator result = start; while (result != end) { internal::utf_error err_code = internal::validate_next(result, end); if (err_code != internal::UTF8_OK) return result; } return result; } template inline bool is_valid(octet_iterator start, octet_iterator end) { return (find_invalid(start, end) == end); } template inline bool is_bom (octet_iterator it) { return ( (internal::mask8(*it++)) == bom[0] && (internal::mask8(*it++)) == bom[1] && (internal::mask8(*it)) == bom[2] ); } } // namespace utf8 #endif // header guard logstalgia-1.0.7/src/core/utf8/utf8.h0000644000203100020310000000274712611522305017132 0ustar andrewcandrewc// Copyright 2006 Nemanja Trifunovic /* Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following: The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef UTF8_FOR_CPP_2675DCD0_9480_4c0c_B92A_CC14C027B731 #define UTF8_FOR_CPP_2675DCD0_9480_4c0c_B92A_CC14C027B731 #include "checked.h" #include "unchecked.h" #endif // header guard logstalgia-1.0.7/src/core/frustum.cpp0000644000203100020310000001250312611522305017405 0ustar andrewcandrewc/* Copyright (c) 2009 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "frustum.h" // Lighthouse 3D Frustum tutorial: // http://www.lighthouse3d.com/opengl/viewfrustum/index.php?gasource Frustum::Frustum() { } Frustum::Frustum(const vec3& source, const vec3& target, const vec3& up, float fov, float near_distance, float far_distance) { update(source, target, up, fov, near_distance, far_distance); } void Frustum::update(const vec3& source, const vec3& target, const vec3& up, float fov, float near_distance, float far_distance) { updatePerspective(fov, near_distance, far_distance); updateView(source, target, up); } void Frustum::updatePerspective(float fov, float near_distance, float far_distance) { this->near_distance = near_distance; this->far_distance = far_distance; view_ratio = (float) display.width / (float) display.height; float toa = (float) tan(fov * 0.5 * DEGREES_TO_RADIANS); near_half_height = near_distance * toa; near_half_width = near_half_height * view_ratio; far_half_height = far_distance * toa; far_half_width = far_half_height * view_ratio; } void Frustum::updateView(const vec3& source, const vec3& target, const vec3& up) { vec3 view_ray = normalise(target - source); vec3 horiz_normal = normalise(glm::cross(view_ray,up)); vec3 vert_normal = glm::cross(horiz_normal, view_ray); //calculate the positions of the 8 points that make up //the viewing frustum and then use them to create the 6 planes vec3 near_centre = source + view_ray * near_distance; vec3 far_centre = source + view_ray * far_distance; vec3 near_horiz_offset = horiz_normal * near_half_width; vec3 near_vert_offset = vert_normal * near_half_height; near_top_left = near_centre + near_vert_offset - near_horiz_offset; near_top_right = near_centre + near_vert_offset + near_horiz_offset; near_bottom_left = near_centre - near_vert_offset - near_horiz_offset; near_bottom_right = near_centre - near_vert_offset + near_horiz_offset; vec3 far_horiz_offset = horiz_normal * far_half_width; vec3 far_vert_offset = vert_normal * far_half_height; far_top_left = far_centre + far_vert_offset - far_horiz_offset; far_top_right = far_centre + far_vert_offset + far_horiz_offset; far_bottom_left = far_centre - far_vert_offset - far_horiz_offset; far_bottom_right = far_centre - far_vert_offset + far_horiz_offset; //top planes[0] = Plane(near_top_right, near_top_left, far_top_left); //bottom planes[1] = Plane(near_bottom_left, near_bottom_right, far_bottom_right); //left planes[2] = Plane(near_top_left, near_bottom_left, far_bottom_left); //right planes[3] = Plane(near_bottom_right, near_top_right, far_bottom_right); //near planes[4] = Plane(near_top_left, near_top_right, near_bottom_right); //far planes[5] = Plane(far_top_right, far_top_left, far_bottom_left); } bool Frustum::contains(const vec3& p) const { for(int i=0; i < 6; i++) { float dist = planes[i].distance(p); if(dist < 0) return false; } return true; } bool Frustum::intersects(const Bounds3D& bounds) const { vec3 corner; for(int i=0; i<6; i++) { corner.x = planes[i].normal.x > 0.0 ? bounds.max.x : bounds.min.x; corner.y = planes[i].normal.y > 0.0 ? bounds.max.y : bounds.min.y; corner.z = planes[i].normal.z > 0.0 ? bounds.max.z : bounds.min.z; if (planes[i].distance(corner) < 0.0) return false; } return true; } bool Frustum::intersects(const Bounds2D& bounds, float z) const { vec3 corner; for(int i=0; i<6; i++) { corner.x = planes[i].normal.x > 0.0 ? bounds.max.x : bounds.min.x; corner.y = planes[i].normal.y > 0.0 ? bounds.max.y : bounds.min.y; corner.z = z; if (planes[i].distance(corner) < 0.0) return false; } return true; } logstalgia-1.0.7/src/core/texture.cpp0000644000203100020310000001732112611522305017403 0ustar andrewcandrewc/* Copyright (c) 2009 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "texture.h" #include "display.h" TextureManager texturemanager; // texture manager TextureManager::TextureManager() : ResourceManager() { resource_seq = 0; trilinear = true; } TextureResource* TextureManager::grabFile(const std::string& filename, bool mipmaps, GLint wrap) { return grab(filename, mipmaps, wrap, true); } TextureResource* TextureManager::grab(const std::string& filename, bool mipmaps, GLint wrap, bool external) { TextureResource* r = 0; //look up this resource if((r = (TextureResource*) resources[filename]) != 0) { r->addref(); return r; } r = new TextureResource(filename, mipmaps, wrap, external); r->load(); addResource(r); return r; } void TextureManager::addResource(TextureResource* r) { if(r->resource_name.empty()) { char res_name[256]; snprintf(res_name, 256, "__texture_resource_%d", ++resource_seq); std::string resource_name(res_name); r->setResourceName(resource_name); } resources[r->resource_name] = r; r->addref(); } TextureResource* TextureManager::create(GLenum target) { TextureResource* r = new TextureResource(); r->target = target; r->load(); addResource(r); return (TextureResource*)r; } TextureResource* TextureManager::create(int width, int height, bool mipmaps, GLint wrap, GLenum format, GLubyte* data) { TextureResource* r = new TextureResource(width, height, mipmaps, wrap, format, data); r->load(); addResource(r); return (TextureResource*)r; } void TextureManager::unload() { for(std::map::iterator it= resources.begin(); it!=resources.end();it++) { ((TextureResource*)it->second)->unload(); } } void TextureManager::reload() { for(std::map::iterator it= resources.begin(); it!=resources.end();it++) { ((TextureResource*)it->second)->load(); } } // TextureResource TextureResource::TextureResource() { textureid = 0; w = 0; h = 0; format = 0; data = 0; wrap = GL_CLAMP_TO_EDGE; target = GL_TEXTURE_2D; mipmaps = false; setDefaultFiltering(); } TextureResource::TextureResource(const std::string& filename, bool mipmaps, GLint wrap, bool external) : Resource(filename) { this->mipmaps = mipmaps; this->wrap = wrap; data = 0; format = 0; textureid = 0; target = GL_TEXTURE_2D; //if doesnt have an absolute path, look in resource dir if(!external && !(filename.size() > 2 && filename[1] == ':') && !(filename.size() > 1 && filename[0] == '/')) { this->filename = texturemanager.getDir() + filename; } else { this->filename = filename; } setDefaultFiltering(); } TextureResource::TextureResource(int width, int height, bool mipmaps, GLint wrap, GLenum format, GLubyte* data) { this->w = width; this->h = height; this->data = data; this->format = format; this->mipmaps = mipmaps; this->wrap = wrap; this->target = GL_TEXTURE_2D; textureid = 0; setDefaultFiltering(); } TextureResource::~TextureResource() { unload(); } void TextureResource::setDefaultFiltering() { if(mipmaps) { if(texturemanager.trilinear) { min_filter = GL_LINEAR_MIPMAP_LINEAR; } else { min_filter = GL_LINEAR_MIPMAP_NEAREST; } mag_filter = GL_LINEAR; } else { min_filter = GL_LINEAR; mag_filter = GL_LINEAR; } } void TextureResource::setFiltering(GLint min_filter, GLint mag_filter) { this->min_filter = min_filter; this->mag_filter = mag_filter; glTexParameteri(target, GL_TEXTURE_MIN_FILTER, min_filter); glTexParameteri(target, GL_TEXTURE_MAG_FILTER, mag_filter); } void TextureResource::setWrapStyle(GLint wrap) { this->wrap = wrap; glTexParameteri(target, GL_TEXTURE_WRAP_S, wrap); glTexParameteri(target, GL_TEXTURE_WRAP_T, wrap); } void TextureResource::unload() { if(textureid!=0) glDeleteTextures(1, &textureid); textureid=0; } void TextureResource::createTexture() { if(!textureid) glGenTextures(1, &textureid); glBindTexture(target, textureid); if(w != 0 && format != 0) { GLint internalFormat = 0; switch(format) { case GL_ALPHA: internalFormat = GL_ALPHA; break; case GL_LUMINANCE: internalFormat = GL_LUMINANCE; break; default: internalFormat = GL_RGBA; break; } if(mipmaps) { gluBuild2DMipmaps(target, internalFormat, w, h, format, GL_UNSIGNED_BYTE, data); } else { glTexImage2D(target, 0, internalFormat, w, h, 0, format, GL_UNSIGNED_BYTE, data); } } setFiltering(min_filter, mag_filter); setWrapStyle(wrap); } void TextureResource::reload() { load(true); } void TextureResource::load(bool reload) { if(textureid != 0) { if(!reload) return; debugLog("texture %d is being reloaded", textureid); } SDL_Surface *surface = 0; if(!filename.empty()) { debugLog("creating texture from %s", filename.c_str()); surface = IMG_Load(filename.c_str()); if(surface==0) throw TextureException(filename); w = surface->w; h = surface->h; //figure out image colour order format = colourFormat(surface); data = (GLubyte*) surface->pixels; if(format==0) throw TextureException(filename); } createTexture(); if(surface != 0) { SDL_FreeSurface(surface); data = 0; } } GLenum TextureResource::colourFormat(SDL_Surface* surface) { int colours = surface->format->BytesPerPixel; int format = 0; if (colours == 4) { if (surface->format->Rmask == 0x000000ff) { format = GL_RGBA; } else { format = GL_BGRA; } } else if (colours == 3) { if (surface->format->Rmask == 0x000000ff) format = GL_RGB; else format = GL_BGR; } return format; } void TextureResource::bind() { if(!textureid) load(); glBindTexture(target, textureid); } logstalgia-1.0.7/src/core/shader.cc0000644000203100020310000002633512611522305016761 0ustar andrewcandrewc/* Copyright (c) 2009 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include #include #ifndef USE_MGL_NAMESPACE #include "gl.h" #endif #include "logger.h" ShaderManager shadermanager; //ShaderManager ShaderManager::ShaderManager() { } Shader* ShaderManager::grab(const std::string& shader_prefix) { Resource* s = resources[shader_prefix]; if(s==0) { s = new Shader(shader_prefix); resources[shader_prefix] = s; } s->addref(); return (Shader*) s; } void ShaderManager::manage(Shader* shader) { if(shader->resource_name.empty()) { throw ShaderException("Cannot manage shader with no resource name"); } if(resources[shader->resource_name] != 0) { throw ShaderException(str(boost::format("A shader resource already exists under the name '%s'") % shader->resource_name)); } resources[shader->resource_name] = shader; shader->addref(); } void ShaderManager::unload() { for(std::map::iterator it= resources.begin(); it!=resources.end();it++) { ((Shader*)it->second)->unload(); } } void ShaderManager::reload(bool force) { for(std::map::iterator it= resources.begin(); it!=resources.end();it++) { ((Shader*)it->second)->reload(force); } } // ShaderPass ShaderPass::ShaderPass(Shader* parent, int shader_object_type, const std::string& shader_object_desc) : AbstractShaderPass(parent, shader_object_type, shader_object_desc) { } ShaderPass::~ShaderPass() { unload(); } void ShaderPass::unload() { if(shader_object!=0) glDeleteShader(shader_object); shader_object = 0; } void ShaderPass::attachTo(unsigned int program) { glAttachShader(program, shader_object); } void ShaderPass::checkError() { if(!shader_object) return; int compile_success; glGetShaderiv(shader_object, GL_COMPILE_STATUS, &compile_success); int info_log_length; glGetShaderiv(shader_object, GL_INFO_LOG_LENGTH, &info_log_length); const char* resource_desc = !parent->resource_name.empty() ? parent->resource_name.c_str() : "???"; if(info_log_length > 1) { char info_log[info_log_length]; glGetShaderInfoLog(shader_object, info_log_length, &info_log_length, info_log); std::string context; if(!errorContext(info_log, context)) context = shader_object_source; if(!compile_success) { throw ShaderException(str(boost::format("%s shader '%s' failed to compile:\n%s\n%s") % shader_object_desc % resource_desc % ((const char*)info_log) % context), shader_object_source); } if(Logger::getDefault()->getLevel() == LOG_LEVEL_WARN) { warnLog("%s shader '%s':\n%s\n%s", shader_object_desc.c_str(), resource_desc, info_log, context.c_str()); } return; } if(!compile_success) { throw ShaderException(str(boost::format("%s shader '%s' failed to compile") % shader_object_desc % resource_desc), shader_object_source); } } void ShaderPass::compile() { if(!shader_object) shader_object = glCreateShader(shader_object_type); if(source.empty()) return; shader_object_source.clear(); toString(shader_object_source); // apply subsitutions parent->applySubstitutions(shader_object_source); for(ShaderUniform* u: uniforms) { u->setModified(false); } //fprintf(stderr, "src:\n%s", shader_object_source.c_str()); const char* source_ptr = shader_object_source.c_str(); int source_len = shader_object_source.size(); glShaderSource(shader_object, 1, (const GLchar**) &source_ptr, &source_len); glCompileShader(shader_object); checkError(); } // Shader Shader::Shader(const std::string& prefix) : AbstractShader(prefix) { loadPrefix(); } Shader::Shader() : AbstractShader() { } Shader::~Shader() { clear(); } void Shader::unload() { if(program != 0) glDeleteProgram(program); program = 0; for(std::map::iterator it= uniforms.begin(); it!=uniforms.end();it++) { it->second->unload(); } } void Shader::load() { //fprintf(stderr, "load\n"); if(program !=0) unload(); if(vertex_shader != 0) vertex_shader->compile(); if(geometry_shader != 0) geometry_shader->compile(); if(fragment_shader != 0) fragment_shader->compile(); program = glCreateProgram(); if(vertex_shader!=0) vertex_shader->attachTo(program); if(geometry_shader!=0) geometry_shader->attachTo(program); if(fragment_shader!=0) fragment_shader->attachTo(program); glLinkProgram(program); checkProgramError(); if(vertex_shader != 0) vertex_shader->unload(); if(geometry_shader != 0) geometry_shader->unload(); if(fragment_shader != 0) fragment_shader->unload(); } void Shader::loadPrefix() { if(vertex_shader != 0) delete vertex_shader; vertex_shader = 0; if(fragment_shader != 0) delete fragment_shader; fragment_shader = 0; std::string shader_dir = shadermanager.getDir(); std::string vertex_file = shader_dir + prefix + std::string(".vert"); std::string fragment_file = shader_dir + prefix + std::string(".frag"); vertex_shader = new ShaderPass(this, GL_VERTEX_SHADER, "vertex"); vertex_shader->includeFile(vertex_file); fragment_shader = new ShaderPass(this, GL_FRAGMENT_SHADER, "fragment"); fragment_shader->includeFile(fragment_file); load(); } void Shader::checkProgramError() { int link_success; glGetProgramiv(program, GL_LINK_STATUS, &link_success); int info_log_length; glGetProgramiv(program, GL_INFO_LOG_LENGTH, &info_log_length); const char* resource_desc = !resource_name.empty() ? resource_name.c_str() : "???"; if(info_log_length > 1) { char info_log[info_log_length]; glGetProgramInfoLog(program, info_log_length, &info_log_length, info_log); if(!link_success) { errorLog("shader '%s' linking error:\n%s", resource_desc, info_log); } else if(Logger::getDefault()->getLevel() == LOG_LEVEL_WARN) { warnLog("shader '%s' warning:\n%s", resource_desc, info_log); } } if(!link_success) { throw ShaderException(str(boost::format("shader '%s' failed to link") % resource_desc)); } } void Shader::bind() { glUseProgram(program); } void Shader::unbind() { glUseProgram(0); } int Shader::getUniformLocation(const std::string& uniform_name) { return glGetUniformLocation( program, uniform_name.c_str() ); } void Shader::applyUniform(ShaderUniform* u) { int location = u->getLocation(); if(location == -1) { if(Logger::getDefault()->getLevel() == LOG_LEVEL_PEDANTIC) { pedanticLog("shader '%s': invalid uniform '%s'", (!resource_name.empty() ? resource_name.c_str() : "???"), u->getName().c_str()); } return; } switch(u->getType()) { case SHADER_UNIFORM_INT: glUniform1i(location, ((IntShaderUniform*)u)->getValue()); break; case SHADER_UNIFORM_FLOAT: glUniform1f(location, ((FloatShaderUniform*)u)->getValue()); break; case SHADER_UNIFORM_BOOL: glUniform1i(location, ((BoolShaderUniform*)u)->getValue()); break; case SHADER_UNIFORM_SAMPLER_1D: glUniform1i(location, ((Sampler1DShaderUniform*)u)->getValue()); break; case SHADER_UNIFORM_SAMPLER_2D: glUniform1i(location, ((Sampler2DShaderUniform*)u)->getValue()); break; case SHADER_UNIFORM_VEC2: glUniform2fv(location, 1, glm::value_ptr(((Vec2ShaderUniform*)u)->getValue())); break; case SHADER_UNIFORM_VEC3: glUniform3fv(location, 1, glm::value_ptr(((Vec3ShaderUniform*)u)->getValue())); break; case SHADER_UNIFORM_VEC4: glUniform4fv(location, 1, glm::value_ptr(((Vec4ShaderUniform*)u)->getValue())); break; case SHADER_UNIFORM_MAT3: glUniformMatrix3fv(location, 1, 0, glm::value_ptr(((Mat3ShaderUniform*)u)->getValue())); break; case SHADER_UNIFORM_MAT4: glUniformMatrix4fv(location, 1, 0, glm::value_ptr(((Mat4ShaderUniform*)u)->getValue())); break; case SHADER_UNIFORM_VEC2_ARRAY: glUniform2fv(location, ((Vec2ArrayShaderUniform*)u)->getLength(), glm::value_ptr(((Vec2ArrayShaderUniform*)u)->getValue()[0])); break; case SHADER_UNIFORM_VEC3_ARRAY: glUniform3fv(location, ((Vec3ArrayShaderUniform*)u)->getLength(), glm::value_ptr(((Vec3ArrayShaderUniform*)u)->getValue()[0])); break; case SHADER_UNIFORM_VEC4_ARRAY: glUniform4fv(location, ((Vec4ArrayShaderUniform*)u)->getLength(), glm::value_ptr(((Vec4ArrayShaderUniform*)u)->getValue()[0])); break; default: throw ShaderException(str(boost::format("unsupported uniform type %d") % u->getType())); break; } } AbstractShaderPass* Shader::grabShaderPass(unsigned int shader_object_type) { AbstractShaderPass* shader_pass = 0; switch(shader_object_type) { case GL_VERTEX_SHADER: if(!vertex_shader) vertex_shader = new ShaderPass(this, GL_VERTEX_SHADER, "vertex"); shader_pass = vertex_shader; break; case GL_GEOMETRY_SHADER_ARB: if(!geometry_shader) geometry_shader = new ShaderPass(this, GL_GEOMETRY_SHADER_ARB, "geometry"); shader_pass = geometry_shader; break; case GL_FRAGMENT_SHADER: if(!fragment_shader) fragment_shader = new ShaderPass(this, GL_FRAGMENT_SHADER, "fragment"); shader_pass = fragment_shader; break; } return shader_pass; } logstalgia-1.0.7/src/core/mousecursor.cpp0000644000203100020310000001257012611522305020272 0ustar andrewcandrewc/* Copyright (c) 2010 Andrew Caudwell (acaudwell@gmail.com) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "mousecursor.h" MouseCursor::MouseCursor() { system_cursor = true; cursortex = 0; hidden = false; timeout = 3.0f; idle = timeout; scrollwheel = 0; left_click = false; right_click = false; middle_click = false; sdl_default_cursor = SDL_GetCursor(); Uint8 data[4*32]; Uint8 mask[4*32]; memset(data, 0, sizeof(data)); memset(mask, 0, sizeof(mask)); sdl_hidden_cursor = SDL_CreateCursor(data, mask, 32, 32, 0, 0); } MouseCursor::~MouseCursor() { SDL_SetCursor(sdl_default_cursor); SDL_FreeCursor(sdl_hidden_cursor); } void MouseCursor::useSystemCursor(bool system_cursor) { this->system_cursor = system_cursor; if(!hidden) { if(system_cursor) SDL_SetCursor(sdl_default_cursor); else SDL_SetCursor(sdl_hidden_cursor); } else { SDL_SetCursor(sdl_hidden_cursor); } } void MouseCursor::showCursor(bool show) { if(this->hidden == !show) return; this->hidden = !show; if(show) idle = 0.0; if(system_cursor) { if(show) SDL_SetCursor(sdl_default_cursor); else SDL_SetCursor(sdl_hidden_cursor); } } const vec2& MouseCursor::getPos() const { return mousepos; } const vec2& MouseCursor::getRelativePos() const { return rel; } void MouseCursor::updateRelativePos(const vec2& rel) { this->rel = rel; } void MouseCursor::leftClick(bool click) { left_click = click; } void MouseCursor::rightClick(bool click) { right_click = click; } void MouseCursor::middleClick(bool click) { middle_click = click; } bool MouseCursor::leftClick() const { return left_click; } bool MouseCursor::rightClick() const { return right_click; } bool MouseCursor::middleClick() const { return middle_click; } bool MouseCursor::leftButtonPressed() const { Uint8 ms = SDL_GetMouseState(0,0); return ms & SDL_BUTTON(SDL_BUTTON_LEFT); } bool MouseCursor::rightButtonPressed() const { Uint8 ms = SDL_GetMouseState(0,0); return ms & SDL_BUTTON(SDL_BUTTON_RIGHT); } bool MouseCursor::bothPressed() const { Uint8 ms = SDL_GetMouseState(0,0); return (ms & SDL_BUTTON(SDL_BUTTON_RIGHT) && ms & SDL_BUTTON(SDL_BUTTON_LEFT)); } bool MouseCursor::buttonPressed() const { Uint8 ms = SDL_GetMouseState(0,0); return (ms & SDL_BUTTON(SDL_BUTTON_RIGHT) || ms & SDL_BUTTON(SDL_BUTTON_LEFT)); } int MouseCursor::scrollWheel() const { return scrollwheel; } bool MouseCursor::isSystemCursor() const { return system_cursor; } bool MouseCursor::isHidden() const { return hidden; } bool MouseCursor::isVisible() const { return (!hidden && idle < timeout && hasFocus()); } bool MouseCursor::hasFocus() const { #if SDL_VERSION_ATLEAST(2,0,0) return (SDL_GetMouseFocus() == display.sdl_window); #else return (SDL_GetAppState() & SDL_APPMOUSEFOCUS); #endif } void MouseCursor::setCursorTexture(TextureResource* texture) { cursortex = texture; } void MouseCursor::updatePos(const vec2& pos) { mousepos = pos; idle = 0.0f; } void MouseCursor::scroll(bool dir) { scrollwheel += dir ? 1 : -1; } void MouseCursor::resetButtonState() { scrollwheel = 0; right_click = false; left_click = false; middle_click = false; } void MouseCursor::logic(float dt) { idle += dt; } void MouseCursor::draw() const { if(system_cursor || cursortex == 0) return; if(!isVisible()) return; glColor4f(1.0f, 1.0f, 1.0f, 1.0f); glEnable(GL_TEXTURE_2D); glEnable(GL_BLEND); cursortex->bind(); glTranslatef(mousepos.x, mousepos.y, 0.0f); glPushMatrix(); glBegin(GL_QUADS); glTexCoord2f(0.0f,0.0f); glVertex2i(0, 0); glTexCoord2f(1.0f,0.0f); glVertex2i(cursortex->w, 0); glTexCoord2f(1.0f,1.0f); glVertex2i(cursortex->w, cursortex->h); glTexCoord2f(0.0f,1.0f); glVertex2i(0, cursortex->h); glEnd(); glPopMatrix(); } logstalgia-1.0.7/src/slider.cpp0000644000203100020310000000713612611522305016240 0ustar andrewcandrewc/* Copyright (C) 2009 Andrew Caudwell (acaudwell@gmail.com) 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 . */ #include "slider.h" // PositionSlider PositionSlider::PositionSlider(float percent) { this->percent = percent; font = fontmanager.grab("FreeMonoBold.ttf", 16); font.dropShadow(true); slidercol = vec3(1.0, 1.0, 1.0); mouseover = -1.0; mouseover_elapsed = 1.0; fade_time = 1.0; alpha = 0.0; resize(); } const Bounds2D& PositionSlider::getBounds() const { return bounds; } void PositionSlider::resize() { int gap = 35; int offset = 45; bounds.reset(); bounds.update(vec2(gap, display.height - gap - offset)); bounds.update(vec2(display.width - gap, display.height - offset)); } void PositionSlider::setColour(vec3 col) { slidercol = col; } void PositionSlider::show() { mouseover_elapsed = 0.0; } bool PositionSlider::mouseOver(vec2 pos, float* percent_ptr) { if(bounds.contains(pos)) { mouseover_elapsed = 0; mouseover = pos.x; if(percent_ptr != 0) { *percent_ptr = (float) (pos.x - bounds.min.x) / (bounds.max.x - bounds.min.x); } return true; } mouseover = -1.0; return false; } bool PositionSlider::click(vec2 pos, float* percent_ptr) { if(mouseOver(pos, &percent)) { if(percent_ptr != 0) { *percent_ptr = percent; } return true; } return false; } void PositionSlider::setCaption(const std::string& caption) { capwidth = 0.0; this->caption = caption; if(caption.size()) { capwidth = font.getWidth(caption.c_str()); } } void PositionSlider::setPercent(float percent) { this->percent = percent; } void PositionSlider::logic(float dt) { if(mouseover < 0.0 && mouseover_elapsed < fade_time) mouseover_elapsed += dt; if(mouseover_elapsed < fade_time && alpha < 1.0) { alpha = std::min(1.0f, alpha+dt); } else if(mouseover_elapsed >= fade_time && alpha > 0.0) { alpha = std::max(0.0f, alpha-dt); } } void PositionSlider::drawSlider(float pos_x) const { glLineWidth(2.0f); bounds.draw(); glLineWidth(2.0f); glBegin(GL_LINES); glVertex2f(pos_x, bounds.min.y); glVertex2f(pos_x, bounds.max.y); glEnd(); } void PositionSlider::draw(float dt) { glDisable(GL_TEXTURE_2D); float pos_x = bounds.min.x + (bounds.max.x - bounds.min.x) * percent; glColor4f(0.0f, 0.0f, 0.0f, 0.7*alpha); glPushMatrix(); glTranslatef(2.0, 2.0, 0.0); drawSlider(pos_x); glPopMatrix(); glColor4f(slidercol.x, slidercol.y, slidercol.z, alpha); drawSlider(pos_x); glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glEnable(GL_BLEND); glEnable(GL_TEXTURE_2D); glColor4f(1.0, 1.0, 1.0, 1.0); if(caption.size() && mouseover >= 0.0) { font.draw(std::min((double)display.width - capwidth - 1.0, std::max(1.0, mouseover - (capwidth/2.0))), bounds.min.y - 25.0, caption); } } logstalgia-1.0.7/build-aux/0000755000203100020310000000000012611522310015342 5ustar andrewcandrewclogstalgia-1.0.7/build-aux/depcomp0000755000203100020310000005601612611522310016727 0ustar andrewcandrewc#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2013-05-30.07; # UTC # Copyright (C) 1999-2014 Free Software Foundation, Inc. # 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 2, 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 . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Alexandre Oliva . case $1 in '') echo "$0: No command. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] Run PROGRAMS ARGS to compile a file, generating dependencies as side-effects. Environment variables: depmode Dependency tracking mode. source Source file read by 'PROGRAMS ARGS'. object Object file output by 'PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. tmpdepfile Temporary file to use when outputting dependencies. libtool Whether libtool is used (yes/no). Report bugs to . EOF exit $? ;; -v | --v*) echo "depcomp $scriptversion" exit $? ;; esac # Get the directory component of the given path, and save it in the # global variables '$dir'. Note that this directory component will # be either empty or ending with a '/' character. This is deliberate. set_dir_from () { case $1 in */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; *) dir=;; esac } # Get the suffix-stripped basename of the given path, and save it the # global variable '$base'. set_base_from () { base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` } # If no dependency file was actually created by the compiler invocation, # we still have to create a dummy depfile, to avoid errors with the # Makefile "include basename.Plo" scheme. make_dummy_depfile () { echo "#dummy" > "$depfile" } # Factor out some common post-processing of the generated depfile. # Requires the auxiliary global variable '$tmpdepfile' to be set. aix_post_process_depfile () { # If the compiler actually managed to produce a dependency file, # post-process it. if test -f "$tmpdepfile"; then # Each line is of the form 'foo.o: dependency.h'. # Do two passes, one to just change these to # $object: dependency.h # and one to simply output # dependency.h: # which is needed to avoid the deleted-header problem. { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" } > "$depfile" rm -f "$tmpdepfile" else make_dummy_depfile fi } # A tabulation character. tab=' ' # A newline character. nl=' ' # Character ranges might be problematic outside the C locale. # These definitions help. upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ lower=abcdefghijklmnopqrstuvwxyz digits=0123456789 alpha=${upper}${lower} if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 fi # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. depfile=${depfile-`echo "$object" | sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" # Avoid interferences from the environment. gccflag= dashmflag= # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case # here, because this file can only contain one case statement. if test "$depmode" = hp; then # HP compiler uses -M and no extra arg. gccflag=-M depmode=gcc fi if test "$depmode" = dashXmstdout; then # This is just like dashmstdout with a different argument. dashmflag=-xM depmode=dashmstdout fi cygpath_u="cygpath -u -f -" if test "$depmode" = msvcmsys; then # This is just like msvisualcpp but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u='sed s,\\\\,/,g' depmode=msvisualcpp fi if test "$depmode" = msvc7msys; then # This is just like msvc7 but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u='sed s,\\\\,/,g' depmode=msvc7 fi if test "$depmode" = xlc; then # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. gccflag=-qmakedep=gcc,-MF depmode=gcc fi case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. ## Unfortunately, FreeBSD c89 acceptance of flags depends upon ## the command line argument order; so add the flags where they ## appear in depend2.am. Note that the slowdown incurred here ## affects only configure: in makefiles, %FASTDEP% shortcuts this. for arg do case $arg in -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; *) set fnord "$@" "$arg" ;; esac shift # fnord shift # $arg done "$@" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi mv "$tmpdepfile" "$depfile" ;; gcc) ## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. ## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. ## (see the conditional assignment to $gccflag above). ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like ## -MM, not -M (despite what the docs say). Also, it might not be ## supported by the other compilers which use the 'gcc' depmode. ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then gccflag=-MD, fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" # The second -e expression handles DOS-style file names with drive # letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" ## This next piece of magic avoids the "deleted header file" problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. ## Some versions of gcc put a space before the ':'. On the theory ## that the space means something, we add a space to the output as ## well. hp depmode also adds that space, but also prefixes the VPATH ## to the object. Take care to not repeat it in the output. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; sgi) if test "$libtool" = yes; then "$@" "-Wp,-MDupdate,$tmpdepfile" else "$@" -MDupdate "$tmpdepfile" fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files echo "$object : \\" > "$depfile" # Clip off the initial element (the dependent). Don't try to be # clever and replace this with sed code, as IRIX sed won't handle # lines with more than a fixed number of characters (4096 in # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; # the IRIX cc adds comments like '#:fec' to the end of the # dependency line. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \ | tr "$nl" ' ' >> "$depfile" echo >> "$depfile" # The second pass generates a dummy entry for each header file. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ >> "$depfile" else make_dummy_depfile fi rm -f "$tmpdepfile" ;; xlc) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. In older versions, this file always lives in the # current directory. Also, the AIX compiler puts '$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.u tmpdepfile2=$base.u tmpdepfile3=$dir.libs/$base.u "$@" -Wc,-M else tmpdepfile1=$dir$base.u tmpdepfile2=$dir$base.u tmpdepfile3=$dir$base.u "$@" -M fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done aix_post_process_depfile ;; tcc) # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 # FIXME: That version still under development at the moment of writing. # Make that this statement remains true also for stable, released # versions. # It will wrap lines (doesn't matter whether long or short) with a # trailing '\', as in: # # foo.o : \ # foo.c \ # foo.h \ # # It will put a trailing '\' even on the last line, and will use leading # spaces rather than leading tabs (at least since its commit 0394caf7 # "Emit spaces for -MD"). "$@" -MD -MF "$tmpdepfile" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. # We have to change lines of the first kind to '$object: \'. sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" # And for each line of the second kind, we have to emit a 'dep.h:' # dummy dependency, to avoid the deleted-header problem. sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" rm -f "$tmpdepfile" ;; ## The order of this option in the case statement is important, since the ## shell code in configure will try each of these formats in the order ## listed in this file. A plain '-MD' option would be understood by many ## compilers, so we must ensure this comes after the gcc and icc options. pgcc) # Portland's C compiler understands '-MD'. # Will always output deps to 'file.d' where file is the root name of the # source file under compilation, even if file resides in a subdirectory. # The object file name does not affect the name of the '.d' file. # pgcc 10.2 will output # foo.o: sub/foo.c sub/foo.h # and will wrap long lines using '\' : # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... set_dir_from "$object" # Use the source, not the object, to determine the base name, since # that's sadly what pgcc will do too. set_base_from "$source" tmpdepfile=$base.d # For projects that build the same source file twice into different object # files, the pgcc approach of using the *source* file root name can cause # problems in parallel builds. Use a locking strategy to avoid stomping on # the same $tmpdepfile. lockdir=$base.d-lock trap " echo '$0: caught signal, cleaning up...' >&2 rmdir '$lockdir' exit 1 " 1 2 13 15 numtries=100 i=$numtries while test $i -gt 0; do # mkdir is a portable test-and-set. if mkdir "$lockdir" 2>/dev/null; then # This process acquired the lock. "$@" -MD stat=$? # Release the lock. rmdir "$lockdir" break else # If the lock is being held by a different process, wait # until the winning process is done or we timeout. while test -d "$lockdir" && test $i -gt 0; do sleep 1 i=`expr $i - 1` done fi i=`expr $i - 1` done trap - 1 2 13 15 if test $i -le 0; then echo "$0: failed to acquire lock after $numtries attempts" >&2 echo "$0: check lockdir '$lockdir'" >&2 exit 1 fi if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each line is of the form `foo.o: dependent.h', # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this invocation # correctly. Breaking it into two sed invocations is a workaround. sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp2) # The "hp" stanza above does not work with aCC (C++) and HP's ia64 # compilers, which have integrated preprocessors. The correct option # to use with these is +Maked; it writes dependencies to a file named # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d "$@" -Wc,+Maked else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d "$@" +Maked fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" # Add 'dependent.h:' lines. sed -ne '2,${ s/^ *// s/ \\*$// s/$/:/ p }' "$tmpdepfile" >> "$depfile" else make_dummy_depfile fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; tru64) # The Tru64 compiler uses -MD to generate dependencies as a side # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put # dependencies in 'foo.d' instead, so we check for that too. # Subdirectories are respected. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then # Libtool generates 2 separate objects for the 2 libraries. These # two compilations output dependencies in $dir.libs/$base.o.d and # in $dir$base.o.d. We have to check for both files, because # one of the two compilations can be disabled. We should prefer # $dir$base.o.d over $dir.libs/$base.o.d because the latter is # automatically cleaned when .libs/ is deleted, while ignoring # the former would cause a distcleancheck panic. tmpdepfile1=$dir$base.o.d # libtool 1.5 tmpdepfile2=$dir.libs/$base.o.d # Likewise. tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 "$@" -Wc,-MD else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d tmpdepfile3=$dir$base.d "$@" -MD fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done # Same post-processing that is required for AIX mode. aix_post_process_depfile ;; msvc7) if test "$libtool" = yes; then showIncludes=-Wc,-showIncludes else showIncludes=-showIncludes fi "$@" $showIncludes > "$tmpdepfile" stat=$? grep -v '^Note: including file: ' "$tmpdepfile" if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" # The first sed program below extracts the file names and escapes # backslashes for cygpath. The second sed program outputs the file # name when reading, but also accumulates all include files in the # hold buffer in order to output them again at the end. This only # works with sed implementations that can handle large buffers. sed < "$tmpdepfile" -n ' /^Note: including file: *\(.*\)/ { s//\1/ s/\\/\\\\/g p }' | $cygpath_u | sort -u | sed -n ' s/ /\\ /g s/\(.*\)/'"$tab"'\1 \\/p s/.\(.*\) \\/\1:/ H $ { s/.*/'"$tab"'/ G p }' >> "$depfile" echo >> "$depfile" # make sure the fragment doesn't end with a backslash rm -f "$tmpdepfile" ;; msvc7msys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. dashmstdout) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout, regardless of -o. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove '-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done test -z "$dashmflag" && dashmflag=-M # Require at least two characters before searching for ':' # in the target name. This is to cope with DOS-style filenames: # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. "$@" $dashmflag | sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this sed invocation # correctly. Breaking it into two sed invocations is a workaround. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; dashXmstdout) # This case only exists to satisfy depend.m4. It is never actually # run, as this mode is specially recognized in the preamble. exit 1 ;; makedepend) "$@" || exit $? # Remove any Libtool call if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # X makedepend shift cleared=no eat=no for arg do case $cleared in no) set ""; shift cleared=yes ;; esac if test $eat = yes; then eat=no continue fi case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; # Strip any option that makedepend may not understand. Remove # the object too, otherwise makedepend will parse it as a source file. -arch) eat=yes ;; -*|$object) ;; *) set fnord "$@" "$arg"; shift ;; esac done obj_suffix=`echo "$object" | sed 's/^.*\././'` touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" # makedepend may prepend the VPATH from the source file name to the object. # No need to regex-escape $object, excess matching of '.' is harmless. sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process the last invocation # correctly. Breaking it into two sed invocations is a workaround. sed '1,2d' "$tmpdepfile" \ | tr ' ' "$nl" \ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; cpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove '-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done "$@" -E \ | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; msvisualcpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi IFS=" " for arg do case "$arg" in -o) shift ;; $object) shift ;; "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift shift ;; *) set fnord "$@" "$arg" shift shift ;; esac done "$@" -E 2>/dev/null | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" echo "$tab" >> "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; msvcmsys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; none) exec "$@" ;; *) echo "Unknown depmode $depmode" 1>&2 exit 1 ;; esac exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: logstalgia-1.0.7/build-aux/compile0000755000203100020310000001624512611522310016730 0ustar andrewcandrewc#! /bin/sh # Wrapper for compilers which do not understand '-c -o'. scriptversion=2012-10-14.11; # UTC # Copyright (C) 1999-2014 Free Software Foundation, Inc. # Written by Tom Tromey . # # 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 2, 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 . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . nl=' ' # We need space, tab and new line, in precisely that order. Quoting is # there to prevent tools from complaining about whitespace usage. IFS=" "" $nl" file_conv= # func_file_conv build_file lazy # Convert a $build file to $host form and store it in $file # Currently only supports Windows hosts. If the determined conversion # type is listed in (the comma separated) LAZY, no conversion will # take place. func_file_conv () { file=$1 case $file in / | /[!/]*) # absolute file, and not a UNC file if test -z "$file_conv"; then # lazily determine how to convert abs files case `uname -s` in MINGW*) file_conv=mingw ;; CYGWIN*) file_conv=cygwin ;; *) file_conv=wine ;; esac fi case $file_conv/,$2, in *,$file_conv,*) ;; mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; cygwin/*) file=`cygpath -m "$file" || echo "$file"` ;; wine/*) file=`winepath -w "$file" || echo "$file"` ;; esac ;; esac } # func_cl_dashL linkdir # Make cl look for libraries in LINKDIR func_cl_dashL () { func_file_conv "$1" if test -z "$lib_path"; then lib_path=$file else lib_path="$lib_path;$file" fi linker_opts="$linker_opts -LIBPATH:$file" } # func_cl_dashl library # Do a library search-path lookup for cl func_cl_dashl () { lib=$1 found=no save_IFS=$IFS IFS=';' for dir in $lib_path $LIB do IFS=$save_IFS if $shared && test -f "$dir/$lib.dll.lib"; then found=yes lib=$dir/$lib.dll.lib break fi if test -f "$dir/$lib.lib"; then found=yes lib=$dir/$lib.lib break fi if test -f "$dir/lib$lib.a"; then found=yes lib=$dir/lib$lib.a break fi done IFS=$save_IFS if test "$found" != yes; then lib=$lib.lib fi } # func_cl_wrapper cl arg... # Adjust compile command to suit cl func_cl_wrapper () { # Assume a capable shell lib_path= shared=: linker_opts= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as 'compile cc -o foo foo.c'. eat=1 case $2 in *.o | *.[oO][bB][jJ]) func_file_conv "$2" set x "$@" -Fo"$file" shift ;; *) func_file_conv "$2" set x "$@" -Fe"$file" shift ;; esac ;; -I) eat=1 func_file_conv "$2" mingw set x "$@" -I"$file" shift ;; -I*) func_file_conv "${1#-I}" mingw set x "$@" -I"$file" shift ;; -l) eat=1 func_cl_dashl "$2" set x "$@" "$lib" shift ;; -l*) func_cl_dashl "${1#-l}" set x "$@" "$lib" shift ;; -L) eat=1 func_cl_dashL "$2" ;; -L*) func_cl_dashL "${1#-L}" ;; -static) shared=false ;; -Wl,*) arg=${1#-Wl,} save_ifs="$IFS"; IFS=',' for flag in $arg; do IFS="$save_ifs" linker_opts="$linker_opts $flag" done IFS="$save_ifs" ;; -Xlinker) eat=1 linker_opts="$linker_opts $2" ;; -*) set x "$@" "$1" shift ;; *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) func_file_conv "$1" set x "$@" -Tp"$file" shift ;; *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) func_file_conv "$1" mingw set x "$@" "$file" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -n "$linker_opts"; then linker_opts="-link$linker_opts" fi exec "$@" $linker_opts exit 1 } eat= case $1 in '') echo "$0: No command. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: compile [--help] [--version] PROGRAM [ARGS] Wrapper for compilers which do not understand '-c -o'. Remove '-o dest.o' from ARGS, run PROGRAM with the remaining arguments, and rename the output as expected. If you are trying to build a whole package this is not the right script to run: please start by reading the file 'INSTALL'. Report bugs to . EOF exit $? ;; -v | --v*) echo "compile $scriptversion" exit $? ;; cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; esac ofile= cfile= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as 'compile cc -o foo foo.c'. # So we strip '-o arg' only if arg is an object. eat=1 case $2 in *.o | *.obj) ofile=$2 ;; *) set x "$@" -o "$2" shift ;; esac ;; *.c) cfile=$1 set x "$@" "$1" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -z "$ofile" || test -z "$cfile"; then # If no '-o' option was seen then we might have been invoked from a # pattern rule where we don't need one. That is ok -- this is a # normal compilation that the losing compiler can handle. If no # '.c' file was seen then we are probably linking. That is also # ok. exec "$@" fi # Name of file we expect compiler to create. cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` # Create the lock directory. # Note: use '[/\\:.-]' here to ensure that we don't use the same name # that we are using for the .o file. Also, base the name on the expected # object file name, since that is what matters with a parallel build. lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d while true; do if mkdir "$lockdir" >/dev/null 2>&1; then break fi sleep 1 done # FIXME: race condition here if user kills between mkdir and trap. trap "rmdir '$lockdir'; exit 1" 1 2 15 # Run the compile. "$@" ret=$? if test -f "$cofile"; then test "$cofile" = "$ofile" || mv "$cofile" "$ofile" elif test -f "${cofile}bj"; then test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" fi rmdir "$lockdir" exit $ret # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: logstalgia-1.0.7/build-aux/config.sub0000755000203100020310000010646012611522310017334 0ustar andrewcandrewc#! /bin/sh # Configuration validation subroutine script. # Copyright 1992-2015 Free Software Foundation, Inc. timestamp='2015-08-20' # This file 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 . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # Please send patches to . # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright 1992-2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; android-linux) os=-linux-android basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis | -knuth | -cray | -microblaze*) os= basic_machine=$1 ;; -bluegene*) os=-cnk ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco6) os=-sco5v6 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5v6*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*178) os=-lynxos178 ;; -lynx*5) os=-lynxos5 ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | aarch64 | aarch64_be \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arceb \ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ | avr | avr32 \ | ba \ | be32 | be64 \ | bfin \ | c4x | c8051 | clipper \ | d10v | d30v | dlx | dsp16xx \ | e2k | epiphany \ | fido | fr30 | frv | ft32 \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | hexagon \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | k1om \ | le32 | le64 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64octeon | mips64octeonel \ | mips64orion | mips64orionel \ | mips64r5900 | mips64r5900el \ | mips64vr | mips64vrel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa32r6 | mipsisa32r6el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64r6 | mipsisa64r6el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipsr5900 | mipsr5900el \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | moxie \ | mt \ | msp430 \ | nds32 | nds32le | nds32be \ | nios | nios2 | nios2eb | nios2el \ | ns16k | ns32k \ | open8 | or1k | or1knd | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ | riscv32 | riscv64 \ | rl78 | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu \ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | ubicom32 \ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ | visium \ | we32k \ | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; c54x) basic_machine=tic54x-unknown ;; c55x) basic_machine=tic55x-unknown ;; c6x) basic_machine=tic6x-unknown ;; leon|leon[3-9]) basic_machine=sparc-$basic_machine ;; m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; ms1) basic_machine=mt-unknown ;; strongarm | thumb | xscale) basic_machine=arm-unknown ;; xgate) basic_machine=$basic_machine-unknown os=-none ;; xscaleeb) basic_machine=armeb-unknown ;; xscaleel) basic_machine=armel-unknown ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | aarch64-* | aarch64_be-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | ba-* \ | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ | c8051-* | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | e2k-* | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | hexagon-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | k1om-* \ | le32-* | le64-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ | microblaze-* | microblazeel-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64octeon-* | mips64octeonel-* \ | mips64orion-* | mips64orionel-* \ | mips64r5900-* | mips64r5900el-* \ | mips64vr-* | mips64vrel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa32r6-* | mipsisa32r6el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64r6-* | mipsisa64r6el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipsr5900-* | mipsr5900el-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nds32-* | nds32le-* | nds32be-* \ | nios-* | nios2-* | nios2eb-* | nios2el-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | open8-* \ | or1k*-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | pyramid-* \ | riscv32-* | riscv64-* \ | rl78-* | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ | tahoe-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tile*-* \ | tron-* \ | ubicom32-* \ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ | vax-* \ | visium-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-* | z80-*) ;; # Recognize the basic CPU types without company name, with glob match. xtensa*) basic_machine=$basic_machine-unknown ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; abacus) basic_machine=abacus-unknown ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aros) basic_machine=i386-pc os=-aros ;; asmjs) basic_machine=asmjs-unknown ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; blackfin) basic_machine=bfin-unknown os=-linux ;; blackfin-*) basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; bluegene*) basic_machine=powerpc-ibm os=-cnk ;; c54x-*) basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c55x-*) basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c6x-*) basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c90) basic_machine=c90-cray os=-unicos ;; cegcc) basic_machine=arm-unknown os=-cegcc ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; craynv) basic_machine=craynv-cray os=-unicosmp ;; cr16 | cr16-*) basic_machine=cr16-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; crisv32 | crisv32-* | etraxfs*) basic_machine=crisv32-axis ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; dicos) basic_machine=i686-pc os=-dicos ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; leon-*|leon[3-9]-*) basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` ;; m68knommu) basic_machine=m68k-unknown os=-linux ;; m68knommu-*) basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; microblaze*) basic_machine=microblaze-xilinx ;; mingw64) basic_machine=x86_64-pc os=-mingw64 ;; mingw32) basic_machine=i686-pc os=-mingw32 ;; mingw32ce) basic_machine=arm-unknown os=-mingw32ce ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; moxiebox) basic_machine=moxie-unknown os=-moxiebox ;; msdos) basic_machine=i386-pc os=-msdos ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; msys) basic_machine=i686-pc os=-msys ;; mvs) basic_machine=i370-ibm os=-mvs ;; nacl) basic_machine=le32-unknown os=-nacl ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; neo-tandem) basic_machine=neo-tandem ;; nse-tandem) basic_machine=nse-tandem ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; openrisc | openrisc-*) basic_machine=or32-unknown ;; os400) basic_machine=powerpc-ibm os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; parisc) basic_machine=hppa-unknown os=-linux ;; parisc-*) basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc | ppcbe) basic_machine=powerpc-unknown ;; ppc-* | ppcbe-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rdos | rdos64) basic_machine=x86_64-pc os=-rdos ;; rdos32) basic_machine=i386-pc os=-rdos ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh5el) basic_machine=sh5le-unknown ;; sh64) basic_machine=sh64-unknown ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; strongarm-* | thumb-*) basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tile*) basic_machine=$basic_machine-unknown os=-linux-gnu ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; tpf) basic_machine=s390x-ibm os=-tpf ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xbox) basic_machine=i686-pc os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell ;; xscale-* | xscalee[bl]-*) basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; z80-*-coff) basic_machine=z80-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; mmix) basic_machine=mmix-knuth ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -auroraux) os=-auroraux ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | -sym* | -kopensolaris* | -plan9* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* | -cloudabi* | -sortix* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | -bitrig* | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -os400*) os=-os400 ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -syllable*) os=-syllable ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -tpf*) os=-tpf ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -aros*) os=-aros ;; -zvmoe) os=-zvmoe ;; -dicos*) os=-dicos ;; -nacl*) ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in score-*) os=-elf ;; spu-*) os=-elf ;; *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; c8051-*) os=-elf ;; hexagon-*) os=-elf ;; tic54x-*) os=-coff ;; tic55x-*) os=-coff ;; tic6x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 ;; m68*-cisco) os=-aout ;; mep-*) os=-elf ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-haiku) os=-haiku ;; *-ibm) os=-aix ;; *-knuth) os=-mmixware ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -cnk*|-aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -os400*) vendor=ibm ;; -ptx*) vendor=sequent ;; -tpf*) vendor=ibm ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: logstalgia-1.0.7/build-aux/install-sh0000755000203100020310000003546312611522310017361 0ustar andrewcandrewc#!/bin/sh # install - install a program, script, or datafile scriptversion=2014-09-12.12; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # 'make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. tab=' ' nl=' ' IFS=" $tab$nl" # Set DOITPROG to "echo" to test this script. doit=${DOITPROG-} doit_exec=${doit:-exec} # Put in absolute file names if you don't have them in your path; # or use environment vars. chgrpprog=${CHGRPPROG-chgrp} chmodprog=${CHMODPROG-chmod} chownprog=${CHOWNPROG-chown} cmpprog=${CMPPROG-cmp} cpprog=${CPPROG-cp} mkdirprog=${MKDIRPROG-mkdir} mvprog=${MVPROG-mv} rmprog=${RMPROG-rm} stripprog=${STRIPPROG-strip} posix_mkdir= # Desired mode of installed file. mode=0755 chgrpcmd= chmodcmd=$chmodprog chowncmd= mvcmd=$mvprog rmcmd="$rmprog -f" stripcmd= src= dst= dir_arg= dst_arg= copy_on_change=false is_target_a_directory=possibly usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: --help display this help and exit. --version display version info and exit. -c (ignored) -C install only if different (preserve the last data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test $# -ne 0; do case $1 in -c) ;; -C) copy_on_change=true;; -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 case $mode in *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac shift;; -o) chowncmd="$chownprog $2" shift;; -s) stripcmd=$stripprog;; -t) is_target_a_directory=always dst_arg=$2 # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac shift;; -T) is_target_a_directory=never;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac shift done # We allow the use of options -d and -T together, by making -d # take the precedence; this is for compatibility with GNU install. if test -n "$dir_arg"; then if test -n "$dst_arg"; then echo "$0: target directory not allowed when installing a directory." >&2 exit 1 fi fi if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dst_arg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dst_arg" shift # fnord fi shift # arg dst_arg=$arg # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac done fi if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call 'install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then if test $# -gt 1 || test "$is_target_a_directory" = always; then if test ! -d "$dst_arg"; then echo "$0: $dst_arg: Is not a directory." >&2 exit 1 fi fi fi if test -z "$dir_arg"; then do_exit='(exit $ret); exit $ret' trap "ret=129; $do_exit" 1 trap "ret=130; $do_exit" 2 trap "ret=141; $do_exit" 13 trap "ret=143; $do_exit" 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names problematic for 'test' and other utilities. case $src in -* | [=\(\)!]) src=./$src;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dst_arg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dst_arg # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test "$is_target_a_directory" = never; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else dstdir=`dirname "$dst"` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) # $RANDOM is not portable (e.g. dash); use it when possible to # lower collision chance tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0 # As "mkdir -p" follows symlinks and we work in /tmp possibly; so # create the $tmpdir first (and fail if unsuccessful) to make sure # that nobody tries to guess the $tmpdir name. if (umask $mkdir_umask && $mkdirprog $mkdir_mode "$tmpdir" && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. test_tmpdir="$tmpdir/a" ls_ld_tmpdir=`ls -ld "$test_tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix='/';; [-=\(\)!]*) prefix='./';; *) prefix='';; esac oIFS=$IFS IFS=/ set -f set fnord $dstdir shift set +f IFS=$oIFS prefixes= for d do test X"$d" = X && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && # If -C, don't bother to copy if it wouldn't change the file. if $copy_on_change && old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then rm -f "$dsttmp" else # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. { # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { test ! -f "$dst" || $doit $rmcmd -f "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: logstalgia-1.0.7/build-aux/missing0000755000203100020310000001533012611522310016743 0ustar andrewcandrewc#! /bin/sh # Common wrapper for a few potentially missing GNU programs. scriptversion=2013-10-28.13; # UTC # Copyright (C) 1996-2014 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard , 1996. # 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 2, 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 . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try '$0 --help' for more information" exit 1 fi case $1 in --is-lightweight) # Used by our autoconf macros to check whether the available missing # script is modern enough. exit 0 ;; --run) # Back-compat with the calling convention used by older automake. shift ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due to PROGRAM being missing or too old. Options: -h, --help display this help and exit -v, --version output version information and exit Supported PROGRAM values: aclocal autoconf autoheader autom4te automake makeinfo bison yacc flex lex help2man Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and 'g' are ignored when checking the name. Send bug reports to ." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing $scriptversion (GNU Automake)" exit $? ;; -*) echo 1>&2 "$0: unknown '$1' option" echo 1>&2 "Try '$0 --help' for more information" exit 1 ;; esac # Run the given program, remember its exit status. "$@"; st=$? # If it succeeded, we are done. test $st -eq 0 && exit 0 # Also exit now if we it failed (or wasn't found), and '--version' was # passed; such an option is passed most likely to detect whether the # program is present and works. case $2 in --version|--help) exit $st;; esac # Exit code 63 means version mismatch. This often happens when the user # tries to use an ancient version of a tool on a file that requires a # minimum version. if test $st -eq 63; then msg="probably too old" elif test $st -eq 127; then # Program was missing. msg="missing on your system" else # Program was found and executed, but failed. Give up. exit $st fi perl_URL=http://www.perl.org/ flex_URL=http://flex.sourceforge.net/ gnu_software_URL=http://www.gnu.org/software program_details () { case $1 in aclocal|automake) echo "The '$1' program is part of the GNU Automake package:" echo "<$gnu_software_URL/automake>" echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" echo "<$gnu_software_URL/autoconf>" echo "<$gnu_software_URL/m4/>" echo "<$perl_URL>" ;; autoconf|autom4te|autoheader) echo "The '$1' program is part of the GNU Autoconf package:" echo "<$gnu_software_URL/autoconf/>" echo "It also requires GNU m4 and Perl in order to run:" echo "<$gnu_software_URL/m4/>" echo "<$perl_URL>" ;; esac } give_advice () { # Normalize program name to check for. normalized_program=`echo "$1" | sed ' s/^gnu-//; t s/^gnu//; t s/^g//; t'` printf '%s\n' "'$1' is $msg." configure_deps="'configure.ac' or m4 files included by 'configure.ac'" case $normalized_program in autoconf*) echo "You should only need it if you modified 'configure.ac'," echo "or m4 files included by it." program_details 'autoconf' ;; autoheader*) echo "You should only need it if you modified 'acconfig.h' or" echo "$configure_deps." program_details 'autoheader' ;; automake*) echo "You should only need it if you modified 'Makefile.am' or" echo "$configure_deps." program_details 'automake' ;; aclocal*) echo "You should only need it if you modified 'acinclude.m4' or" echo "$configure_deps." program_details 'aclocal' ;; autom4te*) echo "You might have modified some maintainer files that require" echo "the 'autom4te' program to be rebuilt." program_details 'autom4te' ;; bison*|yacc*) echo "You should only need it if you modified a '.y' file." echo "You may want to install the GNU Bison package:" echo "<$gnu_software_URL/bison/>" ;; lex*|flex*) echo "You should only need it if you modified a '.l' file." echo "You may want to install the Fast Lexical Analyzer package:" echo "<$flex_URL>" ;; help2man*) echo "You should only need it if you modified a dependency" \ "of a man page." echo "You may want to install the GNU Help2man package:" echo "<$gnu_software_URL/help2man/>" ;; makeinfo*) echo "You should only need it if you modified a '.texi' file, or" echo "any other file indirectly affecting the aspect of the manual." echo "You might want to install the Texinfo package:" echo "<$gnu_software_URL/texinfo/>" echo "The spurious makeinfo call might also be the consequence of" echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" echo "want to install GNU make:" echo "<$gnu_software_URL/make/>" ;; *) echo "You might have modified some files without having the proper" echo "tools for further handling them. Check the 'README' file, it" echo "often tells you about the needed prerequisites for installing" echo "this package. You may also peek at any GNU archive site, in" echo "case some other package contains this missing '$1' program." ;; esac } give_advice "$1" | sed -e '1s/^/WARNING: /' \ -e '2,$s/^/ /' >&2 # Propagate the correct exit status (expected to be 127 for a program # not found, 63 for a program that failed due to version mismatch). exit $st # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: logstalgia-1.0.7/build-aux/config.guess0000755000203100020310000012475312611522310017676 0ustar andrewcandrewc#! /bin/sh # Attempt to guess a canonical system name. # Copyright 1992-2015 Free Software Foundation, Inc. timestamp='2015-08-20' # This file 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 . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # # Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD # # Please send patches to . me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright 1992-2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown case "${UNAME_SYSTEM}" in Linux|GNU|GNU/*) # If the system lacks a compiler, then just pick glibc. # We could probably try harder. LIBC=gnu eval $set_cc_for_build cat <<-EOF > $dummy.c #include #if defined(__UCLIBC__) LIBC=uclibc #elif defined(__dietlibc__) LIBC=dietlibc #else LIBC=gnu #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` ;; esac # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ /sbin/$sysctl 2>/dev/null || \ /usr/sbin/$sysctl 2>/dev/null || \ echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; earmv*) arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` machine=${arch}${endian}-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # Determine ABI tags. case "${UNAME_MACHINE_ARCH}" in earm*) expr='s/^earmv[0-9]/-eabi/;s/eb$//' abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}${abi}" exit ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; *:Sortix:*:*) echo ${UNAME_MACHINE}-unknown-sortix exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE="alpha" ;; "EV4.5 (21064)") UNAME_MACHINE="alpha" ;; "LCA4 (21066/21068)") UNAME_MACHINE="alpha" ;; "EV5 (21164)") UNAME_MACHINE="alphaev5" ;; "EV5.6 (21164A)") UNAME_MACHINE="alphaev56" ;; "EV5.6 (21164PC)") UNAME_MACHINE="alphapca56" ;; "EV5.7 (21164PC)") UNAME_MACHINE="alphapca57" ;; "EV6 (21264)") UNAME_MACHINE="alphaev6" ;; "EV6.7 (21264A)") UNAME_MACHINE="alphaev67" ;; "EV6.8CB (21264C)") UNAME_MACHINE="alphaev68" ;; "EV6.8AL (21264B)") UNAME_MACHINE="alphaev68" ;; "EV6.8CX (21264D)") UNAME_MACHINE="alphaev68" ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE="alphaev69" ;; "EV7 (21364)") UNAME_MACHINE="alphaev7" ;; "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` # Reset EXIT trap before exiting to avoid spurious non-zero exit code. exitcode=$? trap '' 0 exit $exitcode ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; arm*:riscos:*:*|arm*:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) echo i386-pc-auroraux${UNAME_RELEASE} exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build SUN_ARCH="i386" # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH="x86_64" fi fi echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`$dummy $dummyarg` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[4567]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/lslpp ] ; then IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = "hppa2.0w" ] then eval $set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) UNAME_PROCESSOR=`/usr/bin/uname -p` case ${UNAME_PROCESSOR} in amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; *:MINGW64*:*) echo ${UNAME_MACHINE}-pc-mingw64 exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; *:MSYS*:*) echo ${UNAME_MACHINE}-pc-msys exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; *:Interix*:*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) echo ia64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; 8664:Windows_NT:*) echo x86_64-pc-mks exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; *:GNU:*:*) # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; aarch64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC="gnulibc1" ; fi echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; arc:Linux:*:* | arceb:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then echo ${UNAME_MACHINE}-unknown-linux-${LIBC} else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi else echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf fi fi exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; cris:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; crisv32:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; e2k:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; frv:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; hexagon:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; i*86:Linux:*:*) echo ${UNAME_MACHINE}-pc-linux-${LIBC} exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef ${UNAME_MACHINE} #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=${UNAME_MACHINE} #else CPU= #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } ;; openrisc*:Linux:*:*) echo or1k-unknown-linux-${LIBC} exit ;; or32:Linux:*:* | or1k*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; padre:Linux:*:*) echo sparc-unknown-linux-${LIBC} exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-${LIBC} exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; *) echo hppa-unknown-linux-${LIBC} ;; esac exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-${LIBC} exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-${LIBC} exit ;; ppc64le:Linux:*:*) echo powerpc64le-unknown-linux-${LIBC} exit ;; ppcle:Linux:*:*) echo powerpcle-unknown-linux-${LIBC} exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux-${LIBC} exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; tile*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-${LIBC} exit ;; x86_64:Linux:*:*) echo ${UNAME_MACHINE}-pc-linux-${LIBC} exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit ;; i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configury will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo ${UNAME_MACHINE}-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; x86_64:Haiku:*:*) echo x86_64-unknown-haiku exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux${UNAME_RELEASE} exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux${UNAME_RELEASE} exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux${UNAME_RELEASE} exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown eval $set_cc_for_build if test "$UNAME_PROCESSOR" = unknown ; then UNAME_PROCESSOR=powerpc fi if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then case $UNAME_PROCESSOR in i386) UNAME_PROCESSOR=x86_64 ;; powerpc) UNAME_PROCESSOR=powerpc64 ;; esac fi fi elif test "$UNAME_PROCESSOR" = i386 ; then # Avoid executing cc on OS X 10.9, as it ships with a stub # that puts up a graphical alert prompting to install # developer tools. Any system running Mac OS X 10.7 or # later (Darwin 11 and later) is required to have a 64-bit # processor. This is not true of the ARM version of Darwin # that Apple uses in portable devices. UNAME_PROCESSOR=x86_64 fi echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NEO-?:NONSTOP_KERNEL:*:*) echo neo-tandem-nsk${UNAME_RELEASE} exit ;; NSE-*:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; i*86:AROS:*:*) echo ${UNAME_MACHINE}-pc-aros exit ;; x86_64:VMkernel:*:*) echo ${UNAME_MACHINE}-unknown-esx exit ;; esac cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: logstalgia-1.0.7/data/0000755000203100020310000000000012611522305014365 5ustar andrewcandrewclogstalgia-1.0.7/data/logstalgia.10000644000203100020310000002016012611522305016574 0ustar andrewcandrewc.TH Logstalgia 1 .SH NAME Logstalgia - a web server access log visualization tool .SH SYNOPSIS \fIlogstalgia\fR [options] logfile .SH DESCRIPTION \fIlogstalgia\fR is a visualization tool that replays or streams web server access logs as a retro arcade game simulation. .SH REQUIREMENTS \fIlogstalgia\fR's display is rendered using OpenGL and requires a 3D accelerated video card to run. Logstalgia supports several standardized access.log formats used by web servers such as Apache and Nginx (see 'SUPPORTED LOG FORMATS' below). As \fIlogstalgia\fR is designed to playback logs in real time you will need a log from a fairly busy webserver to achieve interesting results (eg 100s of requests each minute). .SH OPTIONS .TP \fB\-f\fR Fullscreen. .TP \fB\-WIDTHxHEIGHT\fR Set the window size. If \-f is also supplied, will attempt to set the video mode to this also. Add ! to make the window non-resizable. .TP \fB\-b, \-\-background\fR Background colour in hex. .TP \fB\-x \-\-full\-hostnames\fR Show full request ip/hostname. .TP \fB\-s, \-\-simulation-speed\fR Simulation speed. Defaults to 1 (1 second-per-second). .TP \fB\-p, \-\-pitch-speed\fR Speed balls travel across the screen (defaults to 0.15). .TP \fB\-u, \-\-update\-rate\fR Page Summary update speed. Defaults to 5 (5 seconds). .TP \fB\-g name,regex,percent[,colour]\fR Creates a new named summarizer group for requests for which a specified attribute (HOST, URI or response CODE) matches a regular expression. Percent specifies a vertical percentage of screen to use. A colour may optionally be supplied in hexadecimal format (eg FF0000 for red) which will be applied to all labels and request balls matched to the group. Examples: \-g "HTML,URI=html?$,30" \-g "Lan,HOST=^192,30" \-g "Success,CODE=^[23],30" If no groups are specified, the default groups are Images (image files), CSS (.css files) and Scripts (.js files). If there is enough space remaining a catch-all group 'Misc' will appear as the last group. .TP \fB\-\-paddle\-mode MODE\fR Paddle mode (pid, vhost, single). \fBvhost\fR \- separate paddle for each virtual host in the log file. \fBpid\fR \- separate paddle for each process id in the log file. \fBsingle\fR \- single paddle (the default). .TP \fB\-\-paddle\-position POSITION\fR Paddle position as a fraction of the view width (0.25 - 0.75). .TP \fB\-\-sync\fR Read from STDIN, ignoring entries before the current time. .TP \fB\-\-from, \-\-to 'YYYY\-MM\-DD hh:mm:ss +tz'\fR Show entries from a specific time period. If a time zone offset isn't specified the local time zone is used. Example accepted formats: "2012-06-30" "2012-06-30 12:00" "2012-06-30 12:00:00 +12" .TP \fB\-\-start\-position POSITION\fR Begin at some position in the log file (between 0.0 and 1.0). .TP \fB\-\-stop\-position POSITION\fR Stop at some position. .TP \fB\-\-no\-bounce\fR No bouncing. .TP \fB\-\-hide\-response\-code\fR Hide response code. .TP \fB\-\-hide\-paddle\fR Hide paddle. .TP \fB\-\-hide\-paddle\-tokens\fR Hide paddle tokens shown in multi-paddle modes. .TP \fB\-\-hide\-url\-prefix\fR Hide URL protocol and hostname prefix of requests. .TP \fB\-\-disable\-auto\-skip\fR Disable automatic skipping of empty time periods. .TP \fB\-\-disable\-progress\fR Disable the progress bar. .TP \fB\-\-disable\-glow\fR Disable the glow effect. .TP \fB\-\-font\-size SIZE\fR Font size. .TP \fB\-\-glow\-duration\fR Duration of the glow (between 0.0 and 1.0). .TP \fB\-\-glow\-multiplier\fR Adjust the amount of glow. .TP \fB\-\-glow\-intensity\fR Intensity of the glow. .TP \fB\-o, -\-output\-ppm\-stream FILE\fR Write frames as PPM to a file ('\-' for STDOUT). .TP \fB\-r, -\-output\-framerate FPS\fR Framerate of output (used with \-\-output\-ppm\-stream). .TP \fB\-\-load\-config CONFIG_FILE\fR Load a config file. .TP \fB\-\-save\-config CONFIG_FILE\fR Save a config file with the current options. .TP \fBlogfile\fR The path to the access log file to read or '\-' if you wish to supply log entries via STDIN. .SH EXAMPLES Watch an example access.log using the default settings: .ti 10 \fIlogstalgia\fR SDLAPP_RESOURCE_DIR/example.log Watch the live access.log, starting from the most recent batch of entries in the log (requires tail). Note than '\-' at the end is required for \fIlogstalgia\fR to know it needs to read from STDIN: .ti 10 tail \-f /var/log/apache2/access.log | \fIlogstalgia\fR \- To follow the log in real time, use the \-\-sync option. This will start reading from the next entry received on STDIN: .ti 10 tail \-f /var/log/apache2/access.log | \fIlogstalgia\fR \-\-sync Watch a remote access.log via ssh: .ti 10 ssh user@example.com tail \-f /var/log/apache2/access.log | \fIlogstalgia\fR \-\-sync .SH SUPPORTED LOG FORMATS Logstalgia supports the following standardized log formats used by web servers like Apache and Nginx: .ti 10 NCSA Common Log Format (CLF) .ti 10 "%h %l %u %t \\"%r\\" %\>s %b" .ti 10 NCSA Common Log Format with Virtual Host .ti 10 "%v %h %l %u %t \\"%r\\" %\>s %b" .ti 10 NCSA extended/combined log format .ti 10 "%h %l %u %t \\"%r\\" %\>s %b \\"%{Referer}i\\" \\"%{User-agent}i\\"" .ti 10 NCSA extended/combined log format with Virtual Host .ti 10 "%v %h %l %u %t \\"%r\\" %\>s %b \\"%{Referer}i\\" \\"%{User-agent}i\\"" The process id (%P), or some other identifier, may be included as an additional field at the end of the entry. This can be used with '\-\-paddle\-mode pid' where a separate paddle will be created for each unique value in this field. .SH CUSTOM LOG FORMAT Logstalgia now supports a pipe ('|') delimited custom log file format: .ti 10 timestamp - unix timestamp of the request date. .ti 10 hostname - hostname of the request .ti 10 path - path requested .ti 10 response_code - the response code from the webserver (eg 200) .ti 10 response_size - the size of the response in bytes The following are optional: .ti 10 success - 1 or 0 to indicate if successful .ti 10 response_colour - response colour in hexidecial (#FFFFFF) format .ti 10 referrer url - the referrer url .ti 10 user agent - the user agent .ti 10 virtual host - the virtual host (to use with \-\-paddle-mode vhost) .ti 10 pid - process id or some other identifier (\-\-paddle-mode pid) If success or response_colour are not provided, they will be derived from the response_code using the normal HTTP conventions (code < 400 = success). .SH RECORDING VIDEOS See the guide on the homepage for examples of recording videos with Logstalgia: .ti 10 https://github.com/acaudwell/Logstalgia/wiki/Videos .SH INTERFACE The time shown in the top left of the screen is set initially from the first log entry read and is incremented according to the simulation speed (\-s). The counter in the bottom right hand corner shows the number of requests displayed since the start of the current session. Pressing space at any time will pause/unpause the simulation. While paused you may use the mouse to inspect the detail of individual requests. Interactive keyboard commands: .sp .ti 10 (q) Debug Information .ti 10 (c) Displays Logstalgia logo .ti 10 (n) Jump forward in time to next log entry. .ti 10 (+-) Adjust simulation speed. .ti 10 (<>) Adjust pitch speed. .ti 10 (F11) Window frame toggle .ti 10 (F12) Screenshot .ti 10 (Alt+Enter) Fullscreen toggle .ti 10 (ESC) Quit .SH AUTHOR .nf Written by Andrew Caudwell Project Homepage: http://logstalgia.io .SH COPYRIGHT .nf Copyright (C) 2008 Andrew Caudwell (acaudwell@gmail.com) 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 . .fi .SH ACKNOWLEDGEMENTS .nf Catalyst IT (catalyst.net.nz) For supporting the development and promotion of Logstalgia! .fi logstalgia-1.0.7/data/fonts/0000755000203100020310000000000012611522305015516 5ustar andrewcandrewclogstalgia-1.0.7/data/fonts/FreeMonoBold.ttf0000644000203100020310000042061412611522305020557 0ustar andrewcandrewc FFTMKL!pGDEF6GPOS8NxGSUBH0OS/2PWVcmapݕ8.cvt xfpgmBhgasp glyfM:!head?,6hhead$hmtxqy| 6locaE 0maxpe name_*qpost 87prep50GhLR_< )a)aWZXf<c X/]1  Px GNU  8, X!XX>SPKuS**SSS6BKBiKSj**8hL ! !S6 !  >* IS}S}*6!!K! >u!>*!6I U>S!I$v!**}}* 1z!S! SSSSd  ******6!!!!>>>>******* ***!6!6!6!6 !! ! ! ! ! !!!!!!!!!  S>S>S>S>S> 6u !4!>!>!>!> >*** 6 6 6>I>I>I>I* * * IUIUIUK!!6!* >9!iS!>*>II * IU,,6*S>* !** !!! **,u!!* ** ! !C>S>**6 6 >I*  IU* !*****!!6!!!!IIu!! >in>i?*6666M66KKI99 Uhhh!:!B!hh%}}}s}%%%%0YY%%\%%%\(yG-8n%xa IS # I* S!Ic ! *I\Si4 u*.q*F a * RG*  ">SSS  >  !* & "*4Tb#!I43*.6>1T,4!! b,I>>u 4 T b Ob>I2444!6!6*> &1%/%/!6!6S4&1** !",",>I>I***",&1<1<<{<<{<,<<<0{<<<<<02<3$**fi^9edCBgc8f`=d\=i897a9dCi9fQKf2i%t^oO* !6 ! !! !! ! ! ! ! ! K!!     S>S> ! ! !!>>!>!>**** 6 6 6 6>I>I>I>I>I* * * *  IUIUIU K***|******** ! ! ! ! ! ! !S>S>*********** ****`Y[`^^SS!_1 !;=7 <f S-**S 3d(**# )*,,, 22222222222##TTy##TT^##!H!!!!!!!!!#.222222222###2222!!!!XS!22222222!!!pp00u#$~~3TY\akmu"(7uz~_   " & 0 7 : < F I K d p !!!!!"!'!+!5!_!""" " """""4"a"e""##*%%%%%%%%%& &7&;&l $PV[_emoy!'7tz~   & 0 2 9 < D H K d p t !!!!!"!&!*!5!S!"""" """""4"`"d""##)%%%%%%%%%&&0&9&i|{yxurqYPHB ^\ZWU{zyaVS:54,jv ߤSO    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ardeixpkvjsgwul|^cn Qm}b:yqz,K*PXJvY#?+X=YK*PX}Y ԰.-, /+\X G#Faj X db8!!Y!Y-,KRXE#Y!-,i @PX!@Y-,+X!#!zXYKRXXY!+XFvYXYYY-, \Z-,"PX \\Y-,$PX@\\Y-, 9/-KPXYF+X!YKRX!Y+\X E+D EK++D E+DYGoe]e!y****Xv::z(L| ^~>`,`:jB|  : n H p > r   2 n  > r .fR6h2R"bZxD8Hj"PP|x".:FR^ N@P\ht ,8D bnz  R !"!f!r!~!!!!!!!" ","8"""""""##B####$:$F$R$^$j$$$$$$$$$%B%z%%%%%%%&4&p&|&&&&&&'@'L'X'd'p'|'''''(((((()0)<))******6*B*N*Z*f*r*~*++(+4+@+L+X+d+p+|++++, ,P,X,,,-(-0-l----.4.n../B/f//0 0N0001(1`112(2f223L3334.4r445$5f5566D6666676778*888888888899 99$909<9H9R9^9j9v9999:.:::F:R:^::::;;;;(;d;p;|;;;;;;;;;;<< <<$<0<<0><>H>|>>>??Z?f?r?~????????@ @@X@@AALHLRLjLLLMM2MPMlMvMMMMMMMMMNN NN$N0NPPPPPPPPPQ"QXQQR RNR|RRRRSSfSnSvSTT.TZTTUUNUUUUUUVVlVVW$WXWdWpWXXLXTX\XhXtXYPYYZNZZ[[4[<[h[[[\L\\]&]`]h]p]x]]]]]^f^n^^__b__``f```a(ajaaab,bvbcc:clcccddddDdLdddeeLeeffHffgggggghh hhh^hiiXiiij2jdjkk:k\kkll(llmFmmnnVnnooBovooop8ppppppqq.qdqqrr`rrssVssttXttttttu.uuv&v.vhvvvvvwwVwwwxxVxy yxyzfz{{h{{|J||||}}Z}}~T~~~~VblҀHRtҡ*@t RhܣRt LLr̦"ZʦԦަ6ب(Ĩ\.~ȪЪتV֬>6 b°@rڲ,@VjƳγ,p"P|Զ htζ*BZr·.>N^n~θ޸"6J\pι.@Thzƺغ$8L^t̻(@XnƼؼ*>Rf~Խ*BXr.F^z.>Np~&2>LZhv® .D`ĂĤ"VbtłŖŤŸ *>J\jxƌƘƪƸPhnjǾ$2VtȄȔȰ2FPdnɊɬ 2^ʊʔ"Vpːˬ6b̾ḧ́͸ .JΰNτ!*./<2<2/<2<23!'3#! f!X}~#"&'&5462#"&46;2{,.F-H''&& 1) #-."'6'&8&8Z3#"'3#"'Z##>AE3763232+32+#"&565##"&54657#"546;7#"546;7632#3 G 1 BB CB / H 2 B" !C#  14GHqK.?dj21?? 2j2?jSL2632#"'.#"#"&=&'#"=43232654&/&5467546.1"  2+ 3-6KA9 XN+$32 E)1@&*JQ@BB "*");%A\S ## S C=C !, |;W  "P i '3?2#"&546"32654&#"&547%6322#"&546"32654&;QR9:RR9,,,+ j  ;QR:9RR9,,,+iR;8RR:9RA,,,,v  v MR;8RR:9RA,,, +K&-4$+'#"&547&54632632&#"7323#'32B= )HSc`"[=!%)&d5BT5RddVHg8:&=Z"(R34x4:8lZ3#"'Z#gx%4>32#".:S #+#e  R;E?F}FugUx4>54'&54632#"&u#+#e  R;9S!h?F}FNESn*27632#"&/#"&54?'.46325dV 2V4444V VnBY%G HH G(Y*.0+"=#"546;54323.CdB" 2JdBB2B" b_ 73#"&547ۄ    *.I #!"43!2.BBB!!2dwu #"&46;25''&&'6'&8&S #"&547>32  A bY S~2#"&=4>26=4&",jo-eGjo-e.@j@@j@~u_K{Qu_K{QmN^^NmN^^S~746;#"&46?32#!"S" eW eBBB2,7d6~ 3632!5>54&#"#"&5462%n.2:TnB1%1}z,Ak6BXiF~u&4"":noB~3%254&'&546;2654&#"#"&54632#"&54632 PI4(%6<4'4~P[s*1q6kI\q :Ub,8+/ #)+DdJ)=7`$@=$/& Kn24;5!5322+75B&===C&d&S20&dBn*+632#"&5463232654&#"#"&5!2B8+[x !5]=Zz ;-NJ>2)d. "<2s~`6=,9*9;7D* i~*".547632#"&#">32'32654&#"K4Q1 Me5@- O}$?&Ool 81/68) D'32#"=>54&#"#"&46;2dHT0]tI[,2`D<072k''&&BO#iT=P(6B8%1 %/%'6'&8&Lhl3<".=4632+5#"&546754&#"32>32532.4R0 bQh7/ @\iT;.?T>+"1 i!2<0$ *@UM&lS )\>F_ 2>`&KL.#331%)mG"%46;'#32+"5463#"546;2+"'^" BBB# ?C# DBBNO2::d22d ;G'24;#"546;2#!32654&+4&+32 BB#Uo?jlYsq6C6/N@fd2^G@15\HXV+""(0!4U+%2>32#"&=4632632#".'.#"J/C dtFH 2=4LdkV+PrBx"" TB% gO@KZ &G3"5463"546;2#4&+32>5PC =# my[Kno2E! 22v/u3Ke42 &G'$2!"4;#"5463!"=#35432#"=#!5d)BBB" dU1212UCd2CC2CCqBB4 &G%%"=#32+"4;#"5463!"=!35432I2UdBBBBB" dU21Cdd2BB3BBqC!PU32#".=4632632#".'.#"3275#"5463 C*C^:Dl@*}Q@F7TeE8dB" 2& #!4GD$Gu !!N " cQ@E2EG0 4;5#32+"546;&546;2+35#"546;232+HBBByB" 4" eBBB" eB4BBydd2-d22-dSG%2#!"546;#"5463!2+ "BB" eeB" . "Bed22226eG+#"'5432327>5#"5463!eB9^T2E09&wB" GdZoAC# `$"2 ZG++7&54;2#32+.'32+"4;#"546;'B#BdB>aH BBn#[.<#BBBBB" Gd !3d3dk3ldd2!;G2!"546;#"546;2+354 (B" 99B" BB9"!22d\CoH)%46;#'32+"43&546323322+"i" #o[v#!!BC=4"MnB4=BB2!2d.)2-dPG!2##32+"43#"546;#"5463B=c# "BC=B" s#B" Gd2d2x$2CU2#"&546"32654&,=#͔ijj&z 3<57\5~NyUTzxSW kG!*$+.'#32+"4;#"546;23%32654&+kBO%s `#BBBBB" a{lA= L?S>0pddH zdd2cO\;9a1% +>U<2#".5."#"'#"=463232654.'.54632>1A^BBXl;~gSI3R28L;Mg&,|]M5U" XC %, "% /`'BB!!&, $ J+Le!*.G$+"546;#"=!#"=#3BB" Akd2mBdd2]BB "B] NG%%"&5&546;2+265#"546;2#=" "B#LjL#B" !!=az|_02.@@.22mG+#"&46;2##"546;2B "" BDcD" "2S:d2bG2# #&546;2+73#"5463 B/.!!CC0$LhL#5B" G2**d2 NG-3"54637'&54;27&54;2+"547'#LB:B[C&_]&CZ "9;BoB7ef6B2ƹ/22mm20022/xx/2CG&746;5'"4;27&546;2+32+"v# A@CYB&_^(# \ " ACCC2d2!"dIG"=!35462!5#d::.[Ba~H "" dFls +32+32B:;BB!!A2dS#"&'&54632A  Z }l^s 4;#"4;#"&~B:;BB!!b2?dSE#"&54?#"&'+u  d!5dK22}^#"/&54632…  op*; +7463254#"#"&54763232+5#"&%5&#"32*l-;])h UW\iBBuK[Jj[?03O, RwDe 1 NFd'OH2 ,;p%4;632#"'#"546;#"&"32654&Bt?WqnPGtB"  "KDQSBASR>22Ȅ1#2K8;KK:8L65'#".'&#"32>32#".546326322 )AGU5F m>a:&qV: 03B, O@{+>-<;kB!ep#$+5#"&46325#"&546;3'4&#"26eBtHOpqW? "" ttRDCQSSdd#1ƅ2|u2=[Kdd&))dd>o$#!"546;5#"546;3#5BB" zNC# zvdd22 iiu3o46;265#"5463!+"#5u#o+3B" .mRrB9w.'e27Ojp46;32#!"546;#"i"!zBBB" zNC>d2o/3"435&54;6326322+4&"2+4&#"2#0C<322+"4354#"32+B=C^$<)Nd=BYC=Z#7#BBpd020"XPddH&d*. 2"&546"264&/jؖnD\[[[ˆabbcdL98MMpM3;)4;632#"'32+"4;#"&4&#"32BtDUihRI:!!BBB "RBCRSBA2-:a\z82dhDD35D!3e&4;5#"&54632532+32+2654&#"3B:IShi/F%tBBBBSSCASd8z\a -dFd;D35DE346;!2#"&#"32#!"546;5#"4;>*T,EHCCB" :#BB32#"&=#"546;543232+"4'A!! Ug*Ud#B" #2 "B-J@2XB" X2 ;#"&54;2+5#"&=#"&546;32675#mB=B_%;)Oc" tX&2'#Q2d0#YPH)X+7#"4;2+##"4;2Bmk BB "BhBB "2d2QdX"54;2#'#.54;2#737BB]B4T\GD^UB\ "@'=4632\  5M 11 M4 #%'N5Z5Ng^n 2"546,2dnB}BB "go*5467.=4&'.54632#"&5467>  5M 11 M4 #%'N5Z5N>7463232>32#".#"#"&>_8&H4 `3#L8 !&g32k33((}YS.%2632"=.54675432632#".#"6-S RBdM[^J2- 32$&;NI05 MBBQqMIrMC# CB*B$C2/B!&V7+3632#!"54>7654'#"546;&54632#".#"3}C-+84B&1EB" ,aL;c#)DWd ;9.,.3%7 23&I]A&#GI@3>.4632632762#"&/"'#"&54?&547"2654&+ 01/2* ! "/`0!  '78L86 1(  1/00"    "1/1/7('99&)7CDA27&546;2#32+32+32+"546;5#"4;5#"4;'+"&5463!"^_)# [BAHaaa/ "BB# .aaaH " D &d8"8#22#8"8g^n2"=2"=46dd22dnBBBBBB "$V4G.>"=#"+54232654/.547&546;'&'"3>54X)k\W=51VEX(ijK;eZHc&* =Q77' ';=+C+[?X9""%2:(%2"&462"&42##2#2##2####2####2^V'2>%2>32#"&=4632632#".#"2#"&54%"32654&/"  T5H_YC)&#"&15W|3a_c  .VA$E\<,3("%,~ja`bavS)5463232+5"&5463254#"#"&5&#"32!"&5463!2Y4CI32U7jKaM$:F% /9{!472N 8(2D  &'!;!7#"/7632#"/7632  N  ڍ    *s 463!"=!"*" edBBB*.I^V )4?%2+"5435&54;2+./32654&+72#"&46"32654& *,D-++-]8G!$,( 1~|a_c1#$$#"#:./ , $$J FӳIb`}"r"4;2#5555"PP}T 2#"&46"32654fgJGf^CC.0CTgIJgh*D^ED0/*.p+"=#"4;5432343!2#!.CdBB2?BBBddBBddB" Rdd}4623632!5>4&#"#"&MpK4&#"#"&9++,,90    {MpK324-aAK<-'S9$2>].tFH 2+6MckY0Dl ")K*7!"] 79G*Bx"" TB( gO@KZ &F# j( &I#!6( &H#( & "j{(SE# s,SH#![,SG#,S "j{,&G/3"54635#"546;5"546;2#2+32>=4&+OB B# =# my$ "BJo2E! [Kn222v/uW242.KeP#1CH# s2CJ#!=2CH#2C#2C "j{2dP%"&54?'&462762#"',g(gg(gg(ggggg(gg(gg N~!)17#"&54?&546327>32#"32654&#"69CtMH.4=sJ%*Ij,,IjD IXp~0: APp~yS=)yT@ NJ# s8 NH#!=8 NG#8 N "j{8CH#!@< G(+32+"4;#"4;2+3232654&+ .aEbcBBBBBBBBcbEa.ʃ2--2@800(dddd(0 o524;462#"&5463232654.'&54>54&#"+ Baf#vUF4C$;$7&/&,"I+B]dz@Q`G2)EQd@1,$): ,$>)3*;# dD*;#!7D*;"D*;"D*;v"jD*;"Dd7BG2#32632#"'#"'#"&54>3254&#"#"&54>326"3275&%&#"Jf %W *<25/3;N^2I>+R )=,B241>& +687g./)"#  XI'<  88 .;=\\65@%#"&546323254#"5.54632632#".'&#"32>3256Q?K<-'S8$8*D2&rU: 2 )AGV4G Y, L)7!"X ,R5l!!MB- NA{!&# pH!&#!CH!&" H!&v"jH># d>#!->" >v"j*.2>%#"&54632&'#"&546?./&546327632%"32654&.$7H@ke&;/?J\ 2"AM -aYA[[A@\Z9Z6# ^`O+2     )  CP:5KJ4;Q;"Q*.# nR*.#!BR*." R*."R*.v"jR*.643!2#!2"&42"&4*BBBD))D))D))D)ddF$$%:$$%:=%-#"'#"&54?&54632762326547&#"$*4lB>806kK;0(C\ݾ"C[+BLb:2CNa1&M8"jM8& ;# lX ;#!4X ;" X ;v"jX3C#!e\3;p*4;>32#"'32+"4;#"&4&#"32Bt%F/hhRI:!!BBB "RBCRSBA>2 a\z82duhDD35D3Cv"j\m#$"o$*;|#$X DmI#$*;"D0mG582632#"&5467#"546;'#32+"5463#"546;2'/ O(,2#,DB" BBB# ?C# !#+5+kNO 0)%52::d22'0*0D6A2632#"&5467#5#"&5463254#"#"&547632325&#"32/ O(,2#,:K[Jjl-;])h UW\i "(/(7?03O, R 0)%5'O8De 1 NF). 2 ,!4Y#!j&65#!XF!4X#&65" F!4 "{&65v"eF!43"{&65"F &("p'!}&146;7632#"'32+5#"&46325#"&4&#"26]" tL R BBtHOpqW? "RRDCQSS?t }d#1ƅ2|=4&+OB B# =# my$ "BJo2E! [Kn222v/uW242.Ke!ep +46;32+32+5#"&546325#""2654&]" t!!BBBtDPoiPFBC?VQQU?u2d(}df.yR=8CB8>R &#$\o(!&N#$OH &I#(!&"H & "{(!&v"H 0KG;2632#"&5467!"4;#"5463!"=#35432#"=#!542/ P(,2#,BBB" dU1212Ud6. 0)%5d2CC2CCqBB4CC%3!0&)/2632#"&547#"&54632!32632!."/ O(,2:vmph"5 *DP& PnQ 0)>+gcg'X!G!)12 &("p(!&"H!P6" ~*!3P" J!P=#*!3P"J!P "{*!3Pw"J!PU#R0*!3P(746;26=#"&54632532++""2654&#"&4?632" m+3BKeeR;tBBmRpB9QQrRQ1R R.'71cd2$dOj,MnNM68N/~~ E6"~+ E_#KEG:#32+"4;5#32+"546;5"435&546;2+35#"546;22@CBByBBBByB" AA4" eBBB" eB4 #2ddd2d+-d22-+ Ep,4;2+63232+"4;54&#"32+"4;#"& BBBp2d=[Kdd&))ddS#,>"S#$Xo,>N#$XSI#,>"S0G/2632#"&5467#"546;#"5463!2+32/ O(,2#,B" eeB" . "Bee "+3+ 0)&5222(0>0o(,2632#"&5467!"546;5#"546;32#5/ O(,2#,B" zNC# zB*2*Dv 0)%5222'0iiS "{,>46;32#!"546;5#"i# zBBB" zNCd2yG9+3254323265#"546;2+#"'+"546;#"546;2B  2%*EB" BBePFK 4zB" B" z "2uC# ` 972d[n. 22 38o-1$#!"546;5#"546;3#546;265#"546;+"#5BB" R:C# R`vE#o+3\B" mRrB9wdd22 ii.'e27Oj.!;p#4>N4$&$+"547'#"4;5#"&54;7&54;2+3$DvBNtBB "BtPBp "B dd2Md2?22n!;Y#!/>t#!eO!;G#V>/>p#3>O!SU#/>Rp#O!;G"yf/>Sp#yO ;G1+7632354632!"546;5#"&546?5#"&46;{B9X2(B" 96h9 "" Gd|4Q[!"C2g  <:>p'46;63232#!"4;5#"&546?5#"l# ;Uz "BBBz;SKC>$ 12d" /PY#!]1;#!bQPG#8>1;#0>QPX#1;" Q;$24;5&54;>322+"4354#"32+B=C^$<)Nd=BYC=Z#7#BBpd020"XPddH&d5PG02326=32+"43#"546;#"546;2##"&546.#+# "BC=B" s#B" B=eJ:@Y1(2d2x$2dPm"5,24;5&54;>32#"&5463232654#"32+B=C^$<)NdeJ:@.#+Z#7#BBpd020"XPPm"1($H&dC#$Xo2*.N#$[RCI#2*."RCW#:2*."=RdG#/%#"&'#35432!"&463!"=#3632'322zzNd.6N& (B)BB" zBBA7" (>;24(e+22#32632#"'#"&546326"32654&3&#"Jf@Q ,A2S46NLjiLM85"11"#114 i-W!#JJ_dPPeN76NM68N\\ ! kY#!56;#!rU kG#C>56;#>U kF#56;"U>J#!V6I#!VV>X#6I" V>US#".5."#"&546323254#"5&'#"=463232654.'.54632>322B^BCXm;n`K=/$S9$5 672 R18M;Mg&,|\N5C %,@& /NJ\K+6""[BB!!&, $ J+Le!" IH#"&'&#"#"&546323254#"5&'#"=43232654'.54632632)>&=X#FjYK4" |6I" V*.G223254#"5#"546;#"=!#"=#32+#"&5468$5 TB" Akd2mBBBMK23254#"5.=#"546;543232+32>32#"&5468$5 32#"&=#"546;54 R R"B"4'A!! Ug*Ud#B" #O" X  } } #2-J@2XB*.G+"=#32+32+"546;5#"546;5#"=!2mB "BBBBBB" AAB" AkdDB]2Md2M2]BB " O8+32+32>32#"&=#"546;5#"546;543232B$ "B$"4'A!! Ug*Ud#B" ##B" #2 "2<2$-J@72<2XB" X N#8 ;"X N#$Xo8 ;N#$RX NI#8 ;"X Nd#8 ;"X NW#:8 ;"4X 0NG>2632#"&5467#".5&546;2+265#"546;2#{/ S$,2#CR8=" "B#LjL#B" !!=$33$ 0) .+^@02.AA.221P5/9  0;82632#"&5467#5#"&=##"&546;32675#"4;2/ O(,2#,%;)Oc " tX&2'#BB=(< 0)%50#YPH)d2 DbX#:X" ZCX#<3C" \C "j{<IG#!V=U#!X]I "{=Uv"]I'"o=U"]K;o!"&#"32#!"546;5#"546;54632 c%TBBB" :/B# .hY1d22%EP?;p +"32654&%4;2+632#"'#"546;#"&CDQSBASRsB!!Bc?WqnPGtB"  "_K8;KK:8L22{2Ȅ1#2;G032654&+4&+324;#"#"&546;2#!q6C6/N@f6B-4T=Uo?jlYV+""(0dd ?*:3^G@15\HXCG;p +"32654&%43!2#!632#"'#"546;#"&CDQSBASRsB!!B?WqnPGtB"  "_K8;KK:8L22{2Ȅ1#2!4U &UG!2%#"&=4632>32#"&#"#".'&#"32>324dtKE72+> 2+6LdkZ/D m+PrBx#/F3-eB) gO@KZ6"1#".'&#"32>32#".54632>32#"&#"2 )AGU4G m>a:&qK782+> 3B, O@{+>-<;k/H3-&G&G )4&+32>5%"&546;2+"5463#"[Kno2E! 34[6myC -3Ke42l?*94v/u2 CG "=!2+32#!"&546;5!;5#d#BBBh]bdfnB2dZVH^3!ep %4&#"2646325!"43!32+5#"RDCQSSrqW?BBBBtHOpU@;2+"32674>32#"'#"&547.54632>32#".5."I@*BB;?NL82R 3ISg~M|]N41A^B".32," ,& " BB'`NX2A*Le!" XC %,&G+%"=##"&546323265#"5463!"=!35432I2UeJ:@.#+B" dU21CPm"1(2BB3BBqC9$~/"&#"32+#"&54632326=#"546;54632 '+9 #C9eJ:@.#+9C# 9fH8@ 0"42Pm"1(27Ji !<4632>32#"&#"#".'.#"3275#"546;2#".5!}K<6.+> F7TeE8dB" C*C^:Dl@*=u,>3-N " cQ@E22& #!4GD$ep44;6322=#"&546;".=4&#"32+"4;#"&Bt/NS|" t52825+'CCpBB ">2YM}HH3G" "G3s('#ddi#G46;32632#"&5#"i# +#-@:JeNCf(1"mP6SG)64;5#"5463!2+32+32#!"546;5#SBeeB" . "Bee!!Bee "BB" eed22222!;~1746;4632#"&#"7&54;2+32+"547'#"!" fH8@ '+OCp!!Bv!CCvBgtB2gJi 0"?22`d2[>p!64;5#"546;32+32#!"546;5#SBeNC"!e!!BezBBB" zed22d2Cp17+"547#"&54?'#"546;27632+"43'BZB1U XdB a>R S4B\C@xr;222,L-.2 8*,-2doG/2#+5#"'#"&5"4;267"&54;327"43,C<322+"434#"32+B=C^$<)Nd=BYC=Z#7#BBpd020"XP}ddH&dCU2#"&546."!326,3263232+g@j@@j@0B .-eGjo-eG8-AH==BBpEDN^^NDN^^mdfFKk6K{Qu6K{Q8aId 8>7.4;4&+"+"&=46;2>3232+CFFAAFGB (5ccd71 (9LBBp^G=?& '+DUihRI:!!BBBfH8@5DD422 0"@:a\z82d4Ji 3>G 732654.#+"4;#"546;2+3232+.'#32R?&)BBBB" | "BrZUC+ BBWz !!QV2d22.U=RQd(lcY3>U<26323267>32#"'#"&47>54&"#"=465M]|,&gM;L82R3ISg~;lXBB^A1U!eL+J $ ,&!!BB'`/ %" ,% CX "I35432632327632#"'#"&5467>54&#"#"&^/ 8IZt^i~E0R+ &33=Wa~%!#X=&-5[%BM<;@ '',C!B P=#<"IG$2!57'5!"=#354::dᖗ" daBBFH  5O82326=#"&=#"546;5432;2+32>32#"&546.#+E=Ud#B" #2B"4'A!! eJ:@Y1(J@2XB" X2\Pm".G$746;#"#"&5463!#"=#32+"v" Ak-4Y82mBBBB2 ?*94 "B]d ~346;54632#"&#";2+32>32#"&=#" " #fH8@ '+B"4'A!! Ug*Ud#BJi 0"2-J@*.G"=#32632#"&5#"=!2m+#-@:JekdDB]_(1"mP]BB " /2+"&5&546;2+265#"546;254&546P4R2=" "B#LjL#B" -?*67az|_02.@@.2  '1$+5#"&=#"&546;32675+"&54;254&54632#;B_%;)Oc" tX&2'# B-4Z7dd0#YPH)2 ?*94CG1"&546;27&546;2+32+"546;5'"4Z7\B&_^(# \ " ACCC# A-q?*942!"d2 3'127"4;254&54632#"&#32+"&54;7&543 ";rx@Cj-4R2 "B Bd71B0d ?*68F22lN,2IG!+35462!57#"4;7#"=!32Bmi::j"BBqudw!!2 "" |ddBBzaU%+3632!57.54;7#"=!BX7/NJBLUdi4266" XSH2S BBmQf,3G,"=!032#"&'&54>3232654&+"&4637#dwJaQm;Q&  *+N,DQ&)~uBzakIE`'F0 $53)'*,3G*"=#2+"32>32#".546;'5!du~)&QD,N+*  &Q;mQaJwB*')35$$ 0F'`EIkaz6 V*462+3632!57#"4;654&#"#"&J}z B,#.2*9BB'B1%1:noS/2^ 6BXid#'&4""g^n_gn 2"546#2"5462d2dnB}BB "B}BB "}~VG6##"'#"5463"&546;2+354323276=#"546;2V)=-B! " cBBJ2% B" iB_2#2dgC# V 5238o15+35432!"546;#"546;46;265#"546;+"#5+Bg2B" B" $#o+3fB" mRrB9wGd\C"!22.'e27Oj#"'&5476;+"'&5476;265#5'32+"'&5476;#"'&54763\"  mRr"  o+3/w~>  "  >.#  Q 7Oj .'ii   3Go:#546;265"&546;+"2#2+"5463"&546;5"5463?l#o+3" [mRrBB1cs:BRC !" ]r<" oii.'e7Oj20:d2238oF#546;265#"546;+"74&#"2+"'&547635&54;>322#0w#o+3B" ymRrB?   d  =C^/p= oii.'e27Oj))  020!2mD#$*;"DSD#,>"CD#2*."R ND#8 ;"X N#q$ ;#q N#v V ;~#v N #U ;}# N#CV ;~#C!& HGm#q$*;#qmm#q*;"qhf"qJ[d:"q SU=%+#".=4632632#".'.#"3275#"546;32S" DU6@d<'}F@D+6N(#1*98dB" B?$#5HB"Gu !!N "  $:9@)>#d2d!3P /"2654&++"546;26=#"&54632532+329QQrRQB$[9pB" m+3BKeeR;tBB!!_MnNM68Nj2.62.'71cd2$d!P0"x*!3P"J Z&"n.;_#pN)CU".2632#"&5467.54632"32654&0 O(,2#)bs#/SI#1X,>#1XCW#/2*.#/!RCI#1X2*.#1[RkW#/56;#/*U kI#156;#1dU NW#/8 ;#/X N='1Y8 ;'1R X>U<K2#".5."#"'#"=463232654.'.54632>#"&4?6321A^BBXl;~gSI3R28L;Mg&,|]M5sR RU" XC %, "% /`'BB!!&, $ J+Le!-~~ I1@"'&#"#"'#"=43232654'.54632632#"&4?632:)>&=X#!%~aW=33& +R0E~i^tZI8 /R R[ "(<#=P B!C,'' @;~~  O(7+32>32#"&=#"546;543232#"&4?632B"4'A!! Ug*Ud#B" #2 "{R R2-J@2XB" X~~ ED#+ E_#KI5G#2326=!5#"=!35462#"&546.#+.d:eJ:@Y1(dFBBa~H "" Pm"U5!%2#"&54632326=!5%#"=!362eJ:@.#+dBfPm"1(S BBmQ6m"g$*;b"D #&G>23254#"5#"4;#"5463!"=#35432#"=#!542##"&5468$5 BBB" dU1212UdKm F5UGA) 23MBk;<->+{@O ,!5p .%4&#"32646;32632#"&=#"&46325#"&RDCQILBSR" t+#-@:JeHOpqW? "&=?/?=*/OE0R+ &3d!B P=8 09QQrRQ2mRpB" m+3BKeeR;_MnNM68NoB`Oj2.'71cd2 CE KRE~024;4632#"&#"63232+"4;54&#"32+BfH8@ '+o%#546;5#"4;5#"546;32+32#!"Pv" zOBBONC# O!!BOzBBBoii6dS226di#46;32632#"&=#"i# +#-@:JeNC(1"mPn+32+"546;5#"546;2BJJ "BB" JJB" "2222>p1746325#"546;2>32#"'32#!"546;5&#"#"&>_8NC"!`3zBBB" z !&g2kWd2((i5#p46;32632#"&5#"i"!+#-@:JeNC>(1"mPo P\3o/2#+5#"'#"&="4;2675"&54;3275"43,C<322+"4354#"#"&5466.#+=C^$<)Nd=BYC=Z#7#eJ:@Y1(_020"XPddH&Pm"5,24;5&54;>3232632#"&54#"32+B=C^$<)Nd+#-@:JeZ#7#BBpd020"XP(1"mP$H&d? 2#2+"54635"&546;5"5463B1c:BRC !" ]<" 20d22*.@6; Uq6; q65++32632#"&=#"&5463232675#"43!2;" :+#-@:Je32#"&#"32#!"546;BB32 ,EH+#-@:Je#BB&=X#!%~aM6+#-@:Je3& +R0E~i^tZI8 /[ "<#=P(1"mPrC,'' @;32#"&5#"546;543232B"4'A!! Ug*Ud#B" #2 "2~-J@2XB" X ;.%#326+5#"&5#"4;5#"&546;35+"&54;2#U&2B_%;)NdBB" t# B==Cd0#XOdSS2d6X YXX ZXC \XU5"2632#"&=!5%#"=!3632U-@:Jed/+g"mPS BBmQ6" f(1hV""=>3232+"4;5>54&#"dHT0]tI[!!BBB`D<072BO#iT=P(2d%1 %/hV""=&#"32+"546;5.54632d180324dtFH 2+6LdkZ/D R+Prx"" TB) gOKZCU#2"&42#"&546"32654&2##2#<54&#""=>3232+BSB!!S`D<072dHT0]tI[!!Bd020%1 %/BBO#iT=P(2hV*$+"546;5.54632"=&#"32+3BB!![It]0THd1802"&54:R:jj#))#9YY9h2"&42##2####2 2"&46"2654&,3HIdII2**8*)H20GHbG5(6(((02632#"&54673_0 O(,2$+b6. 0)%7%3s 2632#"&#"#"&54632u. C*j, C+iP@ R@= L@}#"&4?632"&4?632#f f ff nnnnn%Cv%#"&546?"'q _a    %"rq"r"43!2#5555"PP%0xjYO"4>54&#"#"54632"&5$*)G41J*  ((2FD19!   YO%% "&=462  \L "&=462"&=462    %&54632#"'%&54632"' f  fnn nn %2267>2"&5462"&48:R:jj2##2##))#9YY9P###2%"&5462"&'."Vjj:R:9YY9#))#@2#"&+53254&5464R2-?*68d 526=3#"&54632T#+deJ:@-g1(Pm"52632#"&=3-@:Jed+g"mP(1\?z0w(%632#"&54C  <K_ok_ 52632#"&=3-@:Jed+g"mP(1b_yZ!T#<vjGmG#<GwZy-K]#<K%8RG#<M HG#<"OCnCU#<U%IG#<ZxMG#<^a#<"=nmG$ ;G% 8G MG$#!"5463#"546;!3MBBB# {?C# اtdd22^ &G(IG=EG+CU62#"&546"32654&463235432#"&=##"5,22<$;G17.546;235462#532654&+";#54623@Lk0Jo3L@3*.HAG0H.*3v~HbLk8H~lW7>M8VlS"jgOC"jgZ!e"<DfI"54&#"32654.'& #af#voL-f+B]B&/&,"I@[4$;$7G@Q`G2)EOfj)3.$>."): 3E&27"4;232+"&54;5&543 ";rx@C\ "4 "B{ B 1B0d-f22fT,2*.~ ."264&7"'.#"32"&547&54>32632.D\[[[:+3%n!jؖM;&=?/?=*/OE0R+ &3d!B P=8 0322+4#"32+B=C^$<)Nd=B_Z#7#BBpd020"XP}dH&dSo2#"&=4>3."#26,jo-eGjo-e.?j??j?ouPK{QuPK{QN\\L\\i#4$Cp!46;2+"43'+"547'#" a$. 4B\C@xr;BZB1.dB> ,X-2d022,NZ 3;0$+5"'32+"&54;#"&546;32675+"&54;;B_%;R% "Bp B" tX&2'# Bdd0#j22H)2XYu  }G"546;>54.'&54>7&=4>7##"=!'32+"#[1;MU1;=!Q(Gw./R`0@6.!"+  /W9c.;+4mT%J &HF10 &$*.R.)3.#434632#"'32+"&264&#"BojlYE "B [[[AD\2Bcab028MMpMLqA2#.54&#"+"'#"=43232654.'.546;27>0 8@?5VwM;7851))E /+Jk%&eT K5 U6 4*"" $M?($2H1% <%AW *Z "264&3"&546;2#.D\[[[-ؖo^L98MMpM=Hbbc*F%2632#"&=#"&463!2+-@:Jer\+T"mP**(1 K"%26=#"4;2+#"&=#"&546;(+BBB "Bqb^l" t-T*7d2Z\\X,16B+%26=4+7+"&=#"&=#"&546;;32(#N`M*Ma}1N`d*tB7@[XA$ ^[A3J5+;2#"./2+"&54;7'.+"&46;27"4;2HBq$#/! XQ?B "B` ]5GR@B "2 * |d2߰ *_}d2n~.4;;46226=32++"&=#"&=#"&Bt(,*0*t "BfR*Oi "22,%92WklVAD".547&54;2+326=4632327654'#"&54;2#"'+D&(1m&0# * #10&0n3(eP7+ %(+=L8SD +DS/G!"$%O(0PF++ CTl+  a#v"jn Kv"jz*."<3t K"<3zA"<16~R q)3254&#"32654&#'4>32+32#".sk71T$"V26383dDMzvvxTA`3&%p.z6hg@WNLb>gnG:4632#"&'.5>;232>54.#";2+"&kwVDe0~[Vq  g %2" 0 &^`GN^jV}H + %7_:(=J0!+) 7AL%#&546327>32#"&#"0[%,5   .3\/#";2654&+'546232+"&=#"&5463 @:<> d ><:@ d* rr * rrQH07AB6/Id~d_ww_d~A7".547&543$32#"'326=463232654'+D&(13(eP7+ %O0# * #(70(+=L8SD ++ CTl+  DS/G!"$%eBNF*3.#73!2#!"&54632#"'264&#"!,Q`ojlYE[[[AD\ M&*YGcab8MMpML &7"C,( &"jY(EFF="5#6327232656=&'#"32+"'#&'54737##"=!d@. 2@&.6#/7(d-!;{'"&d (  @fb 87.%2+"546;#"&5463!#"=!#"&54?6328!!BB"  "" 2  d22 "B3po"6U3+32>7632#"&=4632632#".'&#"32BkW-=dt;S -5E` ##2GT*QrBx" !T "(WE>U6SG,S"jY,S"jY,G=K4;23#2+".'546;#"&'&=432265&'26=4.'&+3FB! 0/ |\Np'#"2 2q6)2 09 ("H`o, B" X*R+ |HLZ4;23#2+"'54;5323+"&'54;&'54;23+75#"'#&'26=4.'&+3Bf! +/ |\?B! Bx!@2@f! B 6)2 ( 9 ("H`12 22,2 2 P+ ^G>"5#632+"'54;5&'#"323+"'#&'54737##"=!d@. 2@&NeL'212"& 2 (  @fbR72B%2+.#32+"546;#"&546;2+7&54;2##"&54?632!!Bn#<$BBB"  "" BB$Bd ">-Y"j  d2nd2d !32yUpoC70@ 4;532+"546;&546;2+75#"546;232+#"/&54632FBBByB" 4" eBBB" eB4BBy  d)d2-d*22-d'opD'$83"54637.546;27&54;2#2267>2"&54BD%\!!^^&DZB:6B:R:jj2t  220/2'#))#9YY9CGF%#"'654'#.'#&'5473#"'#&'54;2+3#"'#&'54;2+/ 6 0! By?B" By"B22 - * 212 22*mG$CG "=!32#!"4;#"5463!4+3.ddb]hBBB#ShnB3^HVZd2 ;G% 8G%2+"546;#"&5463!#"=!8!!BB"  "" 2d22 "B3sWG!23"=!"=3265&54633#B4hdvdf4" CG2-BBKKBB,:-, &G(oGA#7&54;2#32+.#2+"54635"#"4;67'"4;25"546;2AvB6B8s] BBX;; !BaB! ;;XBB ]s8B6BvA" a!!2 !3d1dv22vd1d3! 2>U?4;2654&"#"=4632632#"'#"=463232654&+"B*>KB^A14N]|M~gSI3R28LLA;B"3." ,% CX "!eL*A4VN`'BB!!&, !-CG0 4;532+"546;&546;2+75#"546;232+FBBByB" 4" eBBB" eB4BByd)d2-d*22-dC'0D 4;532+"546;&546;2+75#"546;232+2267>2"&54FBBByB" 4" eBBB" eB4BBy:R:jjd)d2-d*22-d'#))#9YY9RG2%2+.#32+"546;#"&546;2+7&54;2#!!Bn#<$BBB"  "" BB$Bd ">-Y"d2nd2d !32yU KG*72326=&5463!232+"4;##"&=46?24" B4BByBBmTC;SAX-2-ddE=I9 "oH0EG+CU2CG" 4;#32+"546;&5463!232+FBBByB" 4" B4BBydd2-2-d G3!4U&*.G7DG$3"54637.546;27&54;2#BD%\!!^^&DZB:6B2t  220/2TG JW32>54.#7+2#32#!"546;5".54>35#"5463!2#";^$22$Be;$//$;e "BB" e;$//$;eB" . "$22$j  2 "4"%:% 22 %:%"4" 2   NG;sRG#"=!"547#"4;2+3#"&54;2+3RdnB4BByBB "ByBBfBK2-dd2d&2G, 4;5#".=&54;2+3275#"4;232+4B-= 17#4BfBBREBBf "4BBzdl&2#-2d&&d-dnG14;2#3"&546;2##!"547"&546;2#3B@B0"J,BB,J"dd.22.!spG3#3"=!"547"&546;2#3"4;2#3"&546;2b:dB,J"}0B@B0}"JBBK2.!dd_G'"&=!2+32+"&54;#32654&++MBBLDa1y_ "Bf`3;;3`D" dd%=>"Sj2]B1+*1mG1:#2+"&543"546;2$+32+"&463".54;32654&+m<"Sj<21+*1 G&+32+"&54;#"&54;32654&+gBcb7U3" z_!!B "Bcv4;;4vGdd'52Sj221+*1"6U4723267#"546;.#"#"&=4>327632#"&546TB2WkB" `E$0& S;teTG2EW!" T"xBrP+yU&,#"&5#32+"5463&546;2+3546732&"25y|dcx: BBbB 4" _BB 9zblsd"ed2!-djR[G#, 4;5##"4;67&546;2+32+5#"3AB#` s%OBB =Al{a!!B "B#p0>S?dz Hda9;\Oc22B+ %1*;D4$#.20#0#"632#"&=4>;546"2654&2S=GF& >Xonp'1UXD CQRRRBK)"2cdwJjJ+ "K8;KJ;9KT /232654.326=4#"435"4;2#"&#0 0'(<*(F:^D>>D-H+6#$<4Q9   +dd4'I /4$2 b%"=&#2+"435"43!2@O=9 YC==CQB04dd "#5#735'"&=326="43!2#3#"=!c =CJB=82d"#~d40~ "BB!&HlO%+"54675+"546;7'"&546;25.546;27&54;2#32+"547'_)2/ 8IZt#~aW=3dC,'d B%BM<0 8=P B8075"56;720#20+"4352+"435"4;=7 ZB==9 YC==9 YC==?XCQ{o 222002d|o 02ddb8B2267>2"&5475"56;72#2+"4352+"435"4;:R:jjF=7 ZB==9 YC==9 YC==?XC#))#9YY9{o 222002d|o 02ddb4$&$+"547'#"4;5#"&54;7&54;2+3$DvBNtBB "BtPBp "B dd2Md2?22nF&%+"435'#"&=43226="43!2#2F9 YC=4L2=CJB==44dd.)5="  d40l(2+2+"5435##'#2+"5435#"54;7*B8;>_B@gLg@B_>;8BSS4013311331043$035"56;720#20+"435#2+"435"4;ԯ=7 ZB==9 YC==9 YC==?XCQJI222002d>>02ddb*.R.)"'20+"435"43!2#2+"43=9 YC==CvB==9 YC=P02dd2002d3;S65F>%+"435##"=!#"=#29 YC=X22X=54d "B "B3C\3|.7#32654&%4;32+32+"4;5#"&546;5#"&";5@@>@^A7,L2Ɓa\zs2dsz\abL,7AC[9&"=!"505435"5054732#5"=4732#32B==BYC==BYC=^\B2001d00d~ "1'*%+"435#"&="4;#326="54;72#2'9 YC= 8Xh=?XC=6$<=9 ZB==44d)=PUdbUT0440d7%#!"54635.54;2+35#"&54;2+35#"&54;22dBBC-HyBAByH-C444524425d:23#"=!"54635.54;2+35#"&54;2+35#"&543!C$2;BC-HyBAByH5~ "B452442C%7"=!2#3+"435#32654&+G2C=QgU!,<(C=X2A6DNB~d9H@%8d " `!:32+"435"4;2326=4.#%"&56?32#2+"54635iS%=,D>>DXB<'<( * %0AF?33BECQ9>K/?ddd   12//22T$2+"435"4;2326=4.#EWB!!,='D>>DXB<(F:5$&Q9 .$&9ddd   ,,-72327#"4;&#"#"&=4632632#"&546^ H4+d$04632#"&5#2+"435#"4303+%"32654&p`dhig[mB8?JB2*>>D ?//=>.-Tl΂_N922dd1O\E@?FE@?F4$#,746;7.54>;2#2+"435#+"#";4" "F;-!+>%B<JBvBP3B50H22C 9<&8ddd9F2Q !&"C6H!&U"jH GpN4;26=74'5&+"323+"'54;#"&46;5#"'#&'54;32+6;2+"'B$*4*1! Cp?B4  3! Bt  :N2J%lS'?2+)( 212X 2zg=#73Oj1b'%"=&#2+"435"43!#"&54?6322@O=9 YC==CQ[  B04dd "ipo,,-#".'&#";2+32>32#".54632632 )Ar"?<4G jMp8qW9 3 ", ]dI+>*FH'k#IV>oL>U"ju3oM*02+"5435'#"&=43232="4322654#x]'@< nC=l7I21 "=C(B!>2p6S+< 13d0&6=7 d5 ,o392+"5435#2+"'435"54;2#35"54>;22654#y\%?="oC="BYB==>b>== ZB>2p5T+< 13PP21304d87- 4 , EpO3"'54;#"&46;5#"'#&'54;32+6;2323+"'54;74'5&+"323#Y?B4  3! Bt  :NOb! Bp@C)1! C12X 2zg=YL 212{( 24$&6$+"547'#"4;5#"&54;7&54;2+3#"&54?632$DvBNtBB "BtPBp "B Z  dd2Md2?22npo80@75"56;720#20+"4352+"435"4;#"/&54632=7 ZB==9 YC==9 YC==?XC  Q{o 222002d|o 02ddbDop3C"\ 9775"'5430;2#2+"'654'#"'=475"'54;2#88 YB6;C6A=98 YB6e*21-/2- 1)*21- G&+32+"&54;#"&54;32654&+gBcb7U3" z_!!B "Bcv4;;4vGdd'52Sj221+*1T$2+"435"4;2326=4.#EWB!!,='D>>DXB<(F:5$&Q9 .$&9ddd    5;'&54632654&+32'"5476;2#"/+32+"5476;O " ;2rrA \v% 0Y__ !AA &)00gQ>1a00s3<?"327'&54>32654&#"/#"'32+"4;#"&54;632CCRSB$<+R6.6RI:!!BBB "BtDUiF'^D35D$=!64D 682d2-:a^<' 8%2+"546;#"&5463!5432!8!!BB"  "" r2d223B" b%+"435"4;54632&#2@9 YC==C2O=44dd "B 8G%2+"546;#"&5463!#"=!8!!BB"  "" 2d22 "B3O'%+"435#"&54;5"43!#"=&#32+2@9 YC=')'=CQ2@O4)4=44dM(Pd "BP(Mo&5:"=#632#526=4&#"32+"54;#"5463!1-:.1  (C,+12#!$#@@ @'d>2&1"% `!  S001s0b%"=&#2+"435"43!2@O=9 YC==CQB04dd "soGE2#32"=#.#2+"54635"#"4;67'"4;25"546;2#7&543,B8s] Bd6;; !BaB! ;;XBB ]s8B6BvA" a!!AvBGd12}BBKv22vd1d3! 22 !3lV%2#"=#"547'+"54>?5+"546;7'"&546;25.546;27&54;2#>2'BNU?4;2654&"#"=4632632#"'#"=463232654&+"B*>KB^A14N]|M~gSI3R28LLA;B"3." ,% CX "!eL*A4VN`'BB!!&, !-I8743232654&+"4;2654&#"#"=432632#"'#"5I3& +R0EO/*=?/?=&>)2/ 8IZt#~aW=3dC,'d B%BM<0 8=P Bx>59"&=#.#32+"546;#"54;2+7&54;2#32K!;#@@@ @@@!#@`A=,U!   Ik100s011 210uSy2,"=#"547'#"54;5#"54;7&546;2+322T?LoAAAAoN l@@ %YA0K0110>01j{HARG2%2+.#32+"546;#"&546;2+7&54;2#!!Bn#<$BBB"  "" BB$Bd ">-Y"d2nd2d !32yU4$&$+"547'#"4;5#"&54;7&54;2+3$DvBNtBB "BtPBp "B dd2Md2?22nRG2%2+.#32+"546;#"&546;2+7&54;2#!!Bn#<$BBB"  "" BB$Bd ">-Y"d2nd2d !32yU4$&$+"547'#"4;5#"&54;7&54;2+3$DvBNtBB "BtPBp "B dd2Md2?22nRG2%2+.#32+"546;#"&546;2+7&54;2#!!Bn#<$BBB"  "" BB$Bd ">-Y"d2nd2d !32yU4$&$+"547'#"4;5#"&54;7&54;2+3$DvBNtBB "BtPBp "B dd2Md2?22nsEG4232"=#"4;5#32+"546;&546;2+35#"5463B4BdWBBBByB" 4" eBBB" G2-2}BBKdd2-d282"=#"435#2+"435"4;#35"56;72#227C==9 YC==?XC==7 ZB==\Bd>>02ddbJI22200L "EG+8035"56;720#20+"435#2+"435"4;=7 ZB==9 YC==9 YC==?XCQJI222002d>>02ddbov5A2632#526=4#"32+"546;#32+"546;&5463{A6&3. (C,+1B#&@@u@ ??v@ 2 51& 6*% `!=#M100s100s-8"'20+"435"43!2#2+"43=9 YC==CB==9 YC=P02dd2002d!4U&65F!4U&65F*s.G"=#32"=#"546;#"=!2mBBdB" AkdDB]2}BBK2]BB ">%"=#2#"=#"435##"=!2X=27C=X2B2L "Bd "B "15(2+32+"54;5'"54;27&54763@?AA??@>BU !&]Z& !51100101 nC&2+32+"546;5'"4;27&5463 " ACCC# A@CYB&_^(# d2d2!"CG2746;5#"546;'"4;27&546;2+32+32+"v# AdC# d@CYB&_^(# \ " dCCdACCC2-2d2!"d-dnC246;5#"546;'"4;27&546;2+32+32+"v# A_C# _@CYB&_^(# \ " _CC_ACCC`-2d2!"d-d x<55"&=#"547'+"54637'&54;27&54;22 M@5bb3?kA7?XB&]Z$@W@ I0.tt.00-11jj11y" 13"=#"&5467'+"54?'&54;27&54;22K!IG&Al@5|2?Z%;;@Y@45YA;; 20.|i,01110,j{.H"x>5*"&=!"547#"&54;2+3#"54;2+3zA4!@u??@@u@@a I0,s110s0110.)"&=!"=435"&=4732#5"54732#3@; @UC=;@VAZY"0//011.0y&s2G1232"=#"4;5#".'5&54;2+3275#"43 "4 "dXBB-= 05#4BfBBREBBG-}BBKdl&2#-2d&&d1'/2#2#"=#"435#"&="4303#326="54;B==27C= 8Xh=?XC=6$<=9 402L "Bd)=PUdbUT04% 53%46;5#".'5.54;2+3275#"546;232+"*"-:'99!@c@@8!A A"b@@@uA0i& 7*110&0110/0%#0+"5435#"&="&54;#326="=4;72#29VA;"3Ue <UA2"&54AvB6B8s] BBX;; !BaB! ;;XBB ]s8B6BvA" a!!:R:jj2 !3d1dv22vd1d3! 2#))#9YY9lOc%+"54675+"546;7'"&546;25.546;27&54;2#32+"547'2267>2"&54_-Y"d2nd2d !32yU4$&$+"547'#"4;5#"&54;7&54;2+3$DvBNtBB "BtPBp "B dd2Md2?22nEG+8035"56;720#20+"435#2+"435"4;=7 ZB==9 YC==9 YC==?XCQJI222002d>>02ddb&2G, 4;5#".=&54;2+3275#"4;232+4B-= 17#4BfBBREBBf "4BBzdl&2#-2d&&d-d1'*%+"435#"&="4;#326="54;72#2'9 YC= 8Xh=?XC=6$<=9 ZB==44d)=PUdbUT0440m'"x$*;"Dm"jY$*;U"jDfG8;"4;#"5463!"=#3632#"&'#35432!"&546;5#+5BsB" d~/22])9_@d2BBA7" NBB" {::)5d7BG2#32632#"'#"'#"&54>3254&#"#"&54>326"3275&%&#"Jf %W *<25/3;N^2I>+R )=,B241>& +687g./)"#  XI'<  88 .;=\\ &'"x(!&"H"6U4723267#"546;.#"#"&=4>327632#"&546TB2WkB" `E$0& S;teTG2EW!" T"xBrP+,,-72327#"4;&#"#"&=4632632#"&546^ H4+"64=F723267#"546;.#"#"&=4>327632#"&5462"&462"&4TB2WkB" `E$0& S;tek2##2#2##2#TG2EW!" T"xBrP+H###2####2,,U-6?72327#"4;&#"#"&=4632632#"&5462"&462"&4^ H4+###2####2oAJS#7&54;2#32+.#2+"54635"#"4;67'"4;25"546;2&2"&462"&4AvB6B8s] BBX;; !BaB! ;;XBB ]s8B6BvA" a!!2##2#2##2#2 !3d1dv22vd1d3! 2###2####2lUOXa%+"54675+"546;7'"&546;25.546;27&54;2#32+"547'2"&462"&4_?HQ4;2654&"#"=4632632#"'#"=463232654&+"2"&462"&4B*>KB^A14N]|M~gSI3R28LLA;B2##2#2##2#"3." ,% CX "!eL*A4VN`'BB!!&, !-###2####2IU8AJ743232654&+"4;2654&#"#"=432632#"'#"52"&462"&4I3& +R0EO/*=?/?=&>)2/ 8IZt#~aW=3b2##2#2##2#dC,'d B%BM<0 8=P B###2####2>U?4;2654&"#"=4632632#"'#"=463232654&+"B*>KB^A14N]|M~gSI3R28LLA;B"3." ,% CX "!eL*A4VN`'BB!!&, !-I8743232654&+"4;2654&#"#"=432632#"'#"5I3& +R0EO/*=?/?=&>)2/ 8IZt#~aW=3dC,'d B%BM<0 8=P BC08 4;532+"546;&546;2+75#"546;232+"4;2#FBBByB" 4" eBBB" eB4BBy5555d)d2-d*22-doPP8-0875"56;720#20+"4352+"435"4;'"4;2#=7 ZB==9 YC==9 YC==?XCK5555Q{o 222002d|o 02ddbPPC09B 4;532+"546;&546;2+75#"546;232+2"&462"&4FBBByB" 4" eBBB" eB4BBy2##2#2##2#d)d2-d*22-d###2####28U09B75"56;720#20+"4352+"435"4;2"&462"&4=7 ZB==9 YC==9 YC==?XCR2##2#2##2#Q{o 222002d|o 02ddb###2####2C"jY2*.U"jRCU2#"&546!3267.",327632#"&5462"&462"&4TB2WkB" `E$0& S;tek2##2#2##2#TG2EW!" T"xBrP+H###2####2,,U-6?72327#"4;&#"#"&=4632632#"&5462"&462"&4^ H4+###2####2D$,3"54637.546;27&54;2#"4;2#BD%\!!^^&DZB:6Bt55552t  220/2oPP3C-"q\D$-63"54637.546;27&54;2#2"&462"&4BD%\!!^^&DZB:6B{2##2#2##2#2t  220/2###2####23CU"j\D5$3A3"54637.546;27&54;2##"&4?632"&4?632BD%\!!^^&DZB:6Bf f ff 2t  220/2nnnn3C"\&2,5> 4;5#".=&54;2+3275#"4;232+2"&462"&44B-= 17#4BfBBREBBf "4BBz2##2#2##2#dl&2#-2d&&d-d###2####21'U*3<%+"435#"&="4;#326="54;72#22"&462"&4'9 YC= 8Xh=?XC=6$<=9 ZB==2##2#2##2#44d)=PUdbUT0440###2####2m1:CL#2+"&543"546;2$+32+"&463".54;32654&+2"&462"&4m<"Sj<21+*1###2####2`U!:CL32+"435"4;2326=4.#%"&56?32#2+"54632"&462"&45iS%=,D>>DXB<'<( * %0AF?33BEC2##2#2##2#Q9>K/?ddd   12//22###2####2I2"&462"&54   )32"&4'2#"&5462#"&4672#"&546"2"&54      u  vv     #32+"&5462#"&4672#"&546    <   vv   ,#"&546;2+#"&572#"&4672#"&546.  0     e   c v  I 2"&54 <   2"&5462"&54<    2"&4&2"&5462"&54 *     32+"&546  <   $#"&546;2+#"&5.  0  e   c W 2"&54 W  2"&4'2#"&5462#"&46 Y    wL  vI 2"&54   @ 5462"&   ؈  <| !2#!"&46n|**E 32+"&546  E   g^n 2"546,2dnB}BB "BW 2#"&546%  W  1lW 2#"&546O  W  w #"&46;2#"&546;25''&&''&&'6'&8&?'''8&12"&4<.46326=#"&46;#"/32+567'&<#B qZM#$ qYK M*X5M M*Z4L <"232#!"&46;5.'.'#"&46;84 -  $F0**  *{$74675.+"&46;2#"&/#"&{xf/??Le2?#2#vR.*SR xy#S *'<#"&463!2+"&5Y|-*|**< (754632#"&2"&=.'.'#"&46;_84 * 2$F0  *z "&5#"&463z*NRJ*{#"&46;2+"&5MM*|**<+2"&=.'##"&=&54>7#"&46;r76 *h7 #G07   *, /!".=#"&46;3>7>=##"&54?3+0G# q? ^ .A05!67* k$ M.n "&=#"&463n*H*<82"&5.'.'#"&46;J84 * $F0;  *<*%+"&46;>7>=.'.'#"&46;2XR   57! L_* ~  *$N8 9<u!"&54?6=!5462! *|.#  Mc4,0$.#"#"&#32!54>7#"&46;0 $ PF75!@&/. P |$E0,**2#"&46;5.'##"&5#"&46;73c8N$_un  65*}J*mm8z "&5#"&463z*N*{2!"&46;5.'#"&46;76  #G0* *<9.#"#"&#326323765%547#"&46;2"&#"#"5460 $ P0%  P8&47!.n5 /. P _. P &16*%M7A4,n ,<#%7#"&46;32>?#"&46;+"&463.5@&' ?*d**8*<8/.#"#"&#32+=4>7#"&46;2"&50 $ P T&0G#*/. P *t** 67;<=.#"#"&#32+4&54>7#"&46;2+"&46;>50 % ZM&57! 67/. Z* ) #/*$N8 9 0G#*<875#"&46;#"&5'5#"&46;,-O-_*U!*x075#"&46;!"&463!%5#"&46;Ic-yyR3-'J *Zf*<*q28%!"&54?675!"&463!'#"&54632Nv "p#w *= st<2"&=.'.'#"&46;r84 * $F0  *39("546;+!32#3&546;23>7'f& XG ]E$?#!-|2SW 2,2"&=.'.'#+"&46;>75#"&46;r84 * lL?   -$F0  ?L* *$ "&5#"&463!"&5#"&463*N*NRJ*RJ** "&5#"&463#"&=#"&463*N^*HRJ*** "&=#"&463!"&=#"&463*H*H**;] 3#"545Q"]!;] 3#"5453#"545Q"Q"]!!f %"&54>72654./7uu 6OpO 240 = $7FR]\S*89:7$.3'+2 [i q&6"&54>7&54&+"''7653;232654.j'(ss)3R <? &7.IN67M",,"8&Q\\Q,G%8U (LKP 6&3(7887-(^m#24>54&"&54632"&%4.'26^-?@-,>,9Q89Q''yy^#+ B0%TxTM8E"@3++-88QQ8 #!2"$<(VaaV .($2&<==9m'32#"&547&#'&+53&=463264&#"326?][GJQ &5Y,9 [*@^>0(&9$'<6&5/mXGHmeF?2 5%1r_?FaDV5-AM&6Pem)74>32"&=4>732654#"&%K4Jgqt I@OxKr+K E12 JJW^]V& 4E=::=(U(' %dm92#"&54>7326=.+5326=4#"&'46C2J%::rTUu P+O2! U()  "?=RC *4%"&5467#"&4632754&#"326764&"26ee!?FF?6L!%Y9J*!&&!AZ@@ZAGeeG(d$Z|ZL7 /Uu2D] (5H5 -AB,.@@Bn$374>32632'>54&#"#"&'#'&326754&#"B118*"2AC,--%#"$X?6S ? ,!%49!%43J&$$mE9V/+'?-)K#4?YC3!')5&"916&gm%'>7."'&'>2$&1NhN15qq6O1''=*4GG4*=''CZNkkcz+%4.'7#"&54>726=4&+5326 )'&'"IwRSv  P,RrRJ(8J'9' /#<-)G2](ScbS& $89>?9(4B>88 m<&+"'67&54>326262#7654#"#54&"#54&#"k&>2\ -)RR2 I /+? >+Z5e|/= ^438C()9! BQd dM!bTf $"&5463254&"&54624&#"26ghhIE-OpO9uu?B0/DD^CIggJIh+8<=84@'Saa/CC^DC` (#"&#"632"&5463232>74&#"2@4D'72AIhhh\@D$BC/.ED^/-7'*hhgJ#A[^CD./D=m'7.54632632'>54#"#54&#"{3&%FG<%):GF&%3O!>'O:$!#7S3Hi,,iH3T6#!$:rd -%"&54>732654&+532654.'732vv4 Q98RA/?Y#)<>1> T3I,ES_^S-"  9:<8-??" LBsH3:%3\4#"&54>7265#"&/732654'&'732>7yTUy L+UvT)+P94M?*,+;$!< UaaV*  $6<==;a9QG5&,;=8%'>54#"#54&#"'&54>=3326323O >'O39& 8``8GX=X=WH"!,=,+=,"'KfK'2>lZ55Zl>r#!,==,$""Oi +>>+ iO/RM--MR9 yB325>32632#"&546732654&#"#5754&#"#"&54>77%3$( ,0EpVUt-.(O;'()![ZWJ;,(57N11qUVtAP;7"&5467265#"#2B..T 1$(xx+-(StR 4 ?/C>&T``T3D%0):<<:K9m9"#'?&=4632632'>=4&#"#'4&#". @P9@**@9P//-(%,#(>-,I7hu07*JnE=Eg@8Q22Q8#=[0+)D0#+'%+@E]"fZ8H-dz+326=3"&=46726=#"&54>7$ @*(X?qu-.(OxKF=lO%1&3M,LcW^]V4F%0+=::=RF;"C +6'&54632632#"&5463254&#"#54&"4&#"326+-T;?*%;2HpOPqqPS.#">/B/TJ76LL65L-(@:T//H2Q\\QP](""fR //5:9l99i ,%65'4&#"#4632#"'6324&#"326$M78L?aC7OgC%7MPs)r*.7! (CH=7MS(FuO7AP R4sPC[ *L2 -9z2%+.5467326=.+532654&/.=3;;_y~BB1<;lMElE/P +(> *7D!7JSycS(IXtrS=1E? 1 @f  %"&5463234&"326ttuQX/??OpOO89NS__SRa,M,7=<89;;Q*->54&#"#54&#"! 4632632# $%>"$,I4<"$:4I1/$W  $!=K'$Dnm3J,,J3/7K g?I%#"&546254&+"''7653;267'#"&54732654/.#"32L@/4IIh;1 9 > 2+='=$Ku*X/<}SV/5a<9Yl =%%!3J34I6 /BDL >+A`Zl.QbR3RUXSx'= ++7636Q4%4$f %#"&5376324&"26sSPv?1^Qu?OpOKxKT^WO'uaR8<=n==2&mS4.'7#"&/+"&'7;2654&#"57'&#".546327654&+532326 "-8'1 " ++A/$: 6 jj"2C[>5#'8$8A'5J .-&& Rc  70*/A) y ?1#)i B732654&##57264&+532654&+".'7;2#"&5467 /63R*`):**?S1Nu'( ' %-+?*>*3% :(+!-7 (93DEK*6% 3FO32654&+532654&+532654./7;2#"&''67>32'>54&#"2C68A$!8 >C#.2  *; 7bUe %,E'&5N7X '>>Fi0I-!+>>%  =4&#"OX`5StS4 A.! . ?<3;+C.:SS:.D*2 #. // . ^+#"'732>54&'퀓#"'73275-,43T_4'N F#&HE)J523@[M>\vqPSP 38aX48T.=<)4J>[@"<  o%8&#"32"&546726=4&+532654&#"&546321 $9]ADpp+,'JhK?,3D#37 7CI1/# Y=N-3T&N^]O0C$0'4994&,>?5$"5G32H O  '0##"&46;5#"&46;23#'54&+"35#"26 XhIJghJr8QP878PXX>+7++r0DD^Dm>sIhggOpPP8I>SI++<+sD^DDmG#$*;#D ;"g%;#E `;G#J%R;p#<E ;G#qf%z;p#qXE!4E#v6M"vr &"g'!e#G `&G#J'!Rep#<G&G#qf'!zep#qXG #&G*623254#"5#"5463"546;2+#"&5464&+32>5d8$5 CC =# myCKSo#HLS#v>H#v ZE#v.!;`#vN `ZG#J.!`;p#JN |ZG#q Z.!j;p#qHN!`;G##J/>`p#JO`;"q[>`"qv!d;G#qB/>bp#q@O!;G#" />p# OoH#v0o"v*Po"^0ob"P`oH#J0`o#JPP"g1;b"Q`PG#J1`;#JQdPG#qB1b;#q@QPG# 1;# QC#v5**.h#v5C#j.1*.0#j.C#C9*.b#CC#v 9*.b#v  E#v33;"v(S "g33;b"S k"g56;b" U `kG#J56`;#JU `k"qj6`;\"qA bkG#q@56b;#q@U>"j6Ip"V>RU# <6IP#:V>K#I#># "I##>R"/h IPn" *."g7 #xaW*`.G#J7 PO#:W*h.G#qF7 ^O#q<W*.G# 7 O#W RNG#j<8 S;#j=X ENG#:8 F;#;X NG#8 ;#X N#v4,* ;R#v,+ N#j, ;#j-m"r9Xo"Y`mG#J9`X#JYbE#C:X"CZbE#v :X"v Zb"jg:Xb"jZb"g:Xb"Z`bG#J:`X#JZ N"g;Cb"[ N"jg;Cb"j[C"g<3Cb"\ID#=U"]I`G#J=U`#J]I`G#q>=U^#q<] `Ep#q>K#jxaWX"Z3C"\K;#\A`mG#J$*P;#:Dm#)I$*;#)n<DK#v*e!#vi|mO#C;#Cbf#)@*(#)8Qm#d*;e#`mD#D*P;"Em#v/*;W#vm#C&*;K#C m#)$F*;#)Um#\*;\#`m5#D*P;"E `&G#J(!P&#:H &#)_(!&#)U'H &"r(!&o"H K#v!}#vf&O#C &#CSf #)P!=#)5f &#d!&e# `&D#\!P&"]S#)R,>#)7BS`G#J,>`o#JLRCU#<2*P.#:RC#)g2*.#)d'RJ#v*#vfCJ#C.!#C`i#)`*%#)QNC#d*.e#RCD#p*P."qYI#v]*["v^YI#C%]*["C^Y#)r]*[#)e@^Y#]*["^RY#<]*P[#:^ RNG#<8 S;#=X N#)d8 ; #)@6X L#vk "vl C#Ck "Cl #)hk #)-l # k "l R#<k S'#=lCE#C<3C"C\`CG#J<3C#C\C#)a<3C#)[*\C"r<3Co"\*.I*.I*.I*.I #!"43!2.BBB!!2duI #!"5463!2uBB"  "22uIZw4>32"&OX['0 kN   )ZwZwZw4632#".0"[XO3)    Nk`Zw&9lYZwY[[x[`Zw)4632#".74632#".`0"[XO0"[XO3)    Nk )    Nk^n+"5#"&46;54323CYdZ "" Z2YdBBk:wB" w^n'+32+"=#"&54;5#"&46;54323CYYC# YdZ "BZZ "" Z2Yd2wBBw2:wB" w 2"&46+?WX|WXW@=WX|W?u ##"&46;23#"&46;23#"&46;2m''&&''&&''&&'6'&8&'6'&8&'6'&8&Xj$/9DN#"&547%632%2#"&46"326542#"&46"3265472#"&46"32654  m  1CE/0DDH0""#(1CE/0DDH0""#1CE/0DDH0""#yv  u D1/DD`D:"0""D1/DD`D:"0""\D1/DD`D:"0""K_o 3#"&547ۄ  o  SKo 3#"&547'3#"&547[  {  o    K?o 3#"&54?3#"&547%3#"&547    儍  o      K_o #"'E  o   SKo #"'!#"'E  DE  o     K?o #"'##"'!#"'GE  ,E  E  o       !V7#"/7632  ڍ  ;%'&4632#"&547  ٍ  _~-9#"&'&54632#"&46;2 #"&'&54632#"&46;2,.#".H''&&,.#".H''&& 1) #-."'6'&8&1) #-."'6'&8&fD #"&5467632Q go*%#"&=467.=4632\5M  M4 11 N5'%# 5NZg`o*#"&5467>=4&'&47>=4&'.54632`  M4 11 5M'%# 5NZN^~""i~""d1R.G$++"&'+"4;#"4;23>=4&/675 ]66$"66j|aOO2::2z`N "NYNgI.Cc j 2","2  Y} 2"&=426=4&"DDDC#<##<#}dG9GddG9GBC.55.C.55s+"54;5#575u%%%,O++Os ""!7恁p%2+632#"&546323254&#"#"&=3v(u%7JFS8J $!W!< p"!= O;5P# A)}&%".54632#"&#"632'32654&#",(; tQ ' -L ')0DB|",$::Y B6*K48E& !$s"=!#"&547# a  X(<= !}$#"&547&54632'"264&"264u;I<:I;6J54K"#2##2(%8%$:1==1:$#0/AA.1](( ((})#"&546323267#"&54632'.#"326!.9+ ' -L ')0DB:4AH'2Q-  B6*K48E?L' #Rd[{d[tdRud[dOdRdZdRdRd &G/24;5#"4;5#"4;5#"5463!"=!32+32+32+ B9999B" ddBBdi8*8|2BB3|8*8id!&V?".#"32+32+3632#!"54>767#"4;&'#"4;&54632#)o`WT+84B&1li^O aL;c#78863.,.3+882I]A&B8%>5462+54622"&=.#"#"&#"&53 *UH*(6P(*(A 1 *d   :M|!56 EE-!U=#".'&#"32+32+32>32#"&'#"4;5#"4;>32632 -&04I Ǭ R=*< }Xg ^>JB( J@8*88?,Owd8*8h&" ;4?#".'&'>32#"&=./57>754632632 - ) ^GTr uT1''5 -B( v%H . ## .rW8*8_  "B " V F4SP$=!L-%2654&547##"&5463!2#""&54633.)$ ?.C')`T43.3TB0F U;1~(FbO87&V)3"54>7654&54632#".#"3632#yB&1+aL;c#),+843%7#!I]A&#+;9.,.dG D2#"&546"32654"4;2#46;32+##"&=46323265#""/0!!//4%do" ~!!Bjc6;2;2B;)(;;)):+!-!!PPmO2GG8=9 "A cQ7 =4'327&=332>54.#"#"&547&=3632#"" 9Z"1 /&:4)#-B61;++ZrVb.X9C"(95'%3&(?<'NN@WcER61܊W0a\9J\LY4>3277632'#".5463232654&#"#"&54654&67>5.' ?%;##\1~ "8$+  +"  $$ R B734#&%!0L+TZC+& hj_1*BX.lG@32+"54;5##"=!"=2+"5475&54;732+"5435#//v..#%$"J//?.$.I54J..?//8$%%$1..zz..1O$%%!$$%%$~;G^;G15#"&=3#";2654&+53"&=#+"&5463*.H0GAH.*3@L3oJ0kLlV8M>7Wl~H8kLbH~ ZG.mg<cy~1GW%23254.546;2654&#"#"&54632#"&54632+"54;5#"&467#"&547632},-\&/&"  M27H @HU;E9++,,90    D4 *=/!<.G:!""! L=  y~N^4623632!5>4&#"#"&23254.546;2654&#"#"&54632#"&546#"&547632&MpK4&#"#"&2+632#"&546323254&#"#"&=7#"&547632&MpK;b> &G'62!5##"=43235#"=!2+32#!5 dU2121Ud "BBB)C4BBqCC2CC2dS.7&#"7>32#"'#"&54?&=4>32326=4c5@   !--eG/#!  ,8-eG985@ ^Nm,!% FLi_K{QF]Qu_K{Q^NmIG33%!K[GdAIG!#:KcGA4+ %32+"&546;2+"!2#!pqFT i V_&qr&K@&@M459?%32+"'#"&54?.546;7>3232+32+2'7#?#"&  %6>q^-  (RBBd2l B3FT _&PM&{Fr` 7&&$iCK@4+ %267!"&463!.+"&46;2+"&463/CV i TFqp_M@&@K&rq&459?%27'#"&46;'#"&46;'&5463232#"&/+"&463%67#'3.+/ABf<  -Jq6/*  (#%k" X* TF_&&7 `rAt&YT &1$8Z@K-)!!76;2#!"=47&=43!2+"' **4}5 54)); O34}2,#,1}31*.J 463!2#!"*" BBBd*.p sXpS  32+ #"43!55b'55QyVa7V3|4 .326?.#!#";2+"'#"&546326;2T0 3+%0 3$ M;;MLUUJN<44v5"PVV D96463!#!"3!#!" ^S4W-*4Sq$f.;$ D9#!"&46747!2654#!"&46747!29^S4*-W4SXp$;.f$ 9L-446;7>323+3+#"&54?.7#" ^S3  +]pN  >32'326549^SN  :E4wq43  '16nP*-Rp j((] Hb(;.R 9' O)B%& \ I5333ZZ0Z*s #!"5!2Bde "2BBks"'632|ll  ks2#"&54?'&546s EE X^!!X^dX!!X8^ #^d 8 # X^ 3+53#53ddddd^ddddX 3+53#53ddddd8^  #=3#5^dddpd8  #=3#5pdX^ %#5;#!#53#53тFAAAAdddddX %#5;#!#53#53тFAAAA8^  #5#553#5^ddddd;gggg8  #5#553#5;gggg8X^!##^d^d>8X!##^dp8X^!##^d>8X!##p8^^##5^d^d8^##5^d8^##5^d8##5X 733d&>dX 733dXpX 733&>dX 733Xp^ %!533^dd^ %!533^d %!533pd %!533p8X 33#d>d>8X 33#dpp8X 7#33##2d&>d>8X 33##d^>d>&8X %#33>>d8X %##33^d2pXp8X 3##33^2dpX8X 33#pp8^ ##53^d d8^ ##53^d 8 %##533^d>d8 3##533^2d^d8 ##53 d8 7#533##2dp8 33##5d2p8 ##53 8X^!###Xd^d>8X ###5!Xd^^d>28X 35!###^d^2p8X!###Xdp8X^!###X^d>8X %##5!3>2d8X 7#535!##d2p8X!###XpX %!5333Xdd>X %#!5333Xd2>X =333!5ddp2X %!5333XdpX 33!5^>ddX 3#!533p^d2X 33!5#5p^p2dX %!5333Xp8X 7#5333##ddd>d>8X 7#5333##dd>d>8X 7#5333##dddpp8X 7#5333##ddpp8X 7#5333##dd>d>8X 7#5333##dd>d>8X 7#5333##d>d>8X 7#5333###2d>d2p8X %##5#5333^d2p2dp8X 333###5d2p2d>8X 3###53533^2dpd28X 7#5333##dpp8X 33###5dpp8X 7#5333##>d>8X %##5333pdp8X 7#5333##ppX^%#53#53XdddX%#53#53X8r ##r >>8 ## >>X5!!!!XXd,d8 ###ddd 8X 3##!^d^^ddd8X^ 7#!##d–d>&d>8X #!#3d–d^dd8^ #5!##53^d^dv^d8^ %###5!#^ddd>d8 !5!##53#^dȖd^dv^d>X %3!33#^dddX 333!3dd>d^>d&X  7!!33#3^>dȖddd^ 75#533!5ddd^vd 3!533^d>d^d>  %3!573#5^d>d&vd^>d8X 3#3##3^ddddd8X  3##33dd,dd >>d8X  3#3###33dddd d&8^ 3##535#5dd^^ddd8  ##533#dȖdd d8  ###57#533dddd >^ddd^8X !!##5!X^dXd^dd8X^ %####5!dddX>>dd8X !!3####5X^dddddd>^dX  =!3!533Xddd,dd^X 3!53333–ddd^dd>X  =!'33!#533Xdddddd^8X #5333#3###53dd^d^ddd^d8X 7#533##33dd,ddd>>d8X  33!#5333####5^dddddd^dd^d>^d8X^ 3#"#46ddPFd^dFP,x8^^ 2#4&+5dxdFPd^x,PFd^  XXX %"&53;xdFPdx,PFd:+XV4:7VV44:  ' 7 gVVVV,&4T44T4,^!!,^d,^ #^d ,X^,8^, ,!!,, # ,X,8, X%!5!5!!,,,d28 33#d2, X%!5!!,,,22d8 #3##22d, ,X !!X 8X!!XK}8X25!!X28X5!!X8X,!!X, 8X!!X8X&!!X&8X!!X8X !!X 8  !!  8 !!> 8w !!w 8, !!, 8 3# 8 3# 8K 3#KK ,8X !!,, 8& #'+/37;?CGKOSW[_cgkosw%3#'3#'3#%3#'3#'3#3#'3#'3#%3#'3#'3#3#'3#'3#%3#'3#'3#%3#'3#'3#%3#'3#'3#%3#'3#'3#%3#'3#'3#222222222222,222222222222,222222222222,222222222222,222222222222222222222222222222222^222222222222222222222222222222<8X #'+/37;?CGKOSW[_cgkosw{%3#'3#'3#'3#'3#%3#'3#'3#'3#'3#'3#%3#3#'3#'3#'3#'3#%3#'3#'3#'3#'3#'3#%3#3#'3#'3#'3#'3#%3#'3#'3#'3#'3#'3#%3#'3#'3#'3#'3#'3#%3#'3#'3#'3#'3#'3#%3#'3#'3#'3#'3#'3#%3#'3#'3#'3#'3#'3#%3#22d22d22d22d2222222d22d22d22d222222d22d22d22d2222222d22d22d22d222222d22d22d22d2222222d22d22d22d222222d22d22d22d2222222d22d22d22d222222d22d22d22d2222222d22d22d22d2222222222222222222222222222222222222222222222222^222222222222222222222222222222222222222222222222222222222222222222X !!X } 8X 3# KK 2&3!2 2&7!!!DXXDd 2& 753!!!μDXDDd 2& 3!!5%!5!!52dDDD 00X1332& )!3##!3#& 00X133dDDD 2& #'3!%#3#3#37#35#3#3735'35352111111222222X11111 3D1X000130011332& 3!%3'35'#352d~~JJ~ ~J~~2& )!3=#3#& X~~JJ4~~JJD~2& 3!%'3'7'#35''7'?5#2JJJJJJJ>JJJJ rJJJJJ>JJJ>J353735#53^^NN^2&,3!2,2&,7!5!!HTX|,)!,%#!!j|,THT?,3!22,?,7!7!!|Hw22X|,#5)5 #5%'!oox XX)7%'!7G<..<T 5 T'%nr5 oo %充  %'73/6 y % #5 5:#5# o n:%'%#7'G6.jTT  T5 oo  ?充 %57@/6^ 7%^#5! ,    #5%7' ,  }  !7 2#"&4672#"&546"2654&.'9:()9:+mnooNlkkkl:P::R8ܝpoTjKMlkLKlHQ 77+z{{Q4!7 2#"&546"2654&/mnooNlkkkܝpoTjKMlkLKl!7 2#"&54627&#"64/mnoC Cܝpog8TX_j(6!7 2#"&546/mnoܝpo!7 2#"&5462654&#/mnolLkkIܝpoTkLKl!7 2#"&46#"3)oonpIkkLopܝTlKLk!7#5@!75@!7 2#"&46#526)oon'IjkjopܝkKLkk!7 2#"&54635/mnoKLjܝpoi#,!"&5463,ooon.7!2.ono8X  !!"3264&X.*:9)(:9 48R::P:XX1!"3264&2"&546XoonmIkkklX5opܝTlKLklMKj2&!&  2&!2  2& X2&!!& "&46"2654&#.4JKjKL6((8('JjKLjJ<'((*2&%3#!,XDd 2& X2&7!!DdXDd 2& X2& 3!#332vvXv DD#5 %2"&546'!-$oox nX#5%'!o  XX#5735 o X:2& 3!#!+32Dvv vDv2& !!%3!35#2 &vXv XDvvv2& X2& )!#!5#735& vDXvXvvv!7 2#"&5463532654&'/mnoE1H cALkP;ܝpo܂ F>PkL@d!7 "&54632%5'3>54&#"/oon H1;PkLAcopܝ0F Xd@LkP!7 X!7 2#"&46.'#5326)oon! H1;PkLAcopܝ0F Xd@LkPX02546;2#"&=46;'6 ͂ 0$ ̂ S1<#546;2#"&=46;'7#"&5!21͂$̂4$!7  2"&54672#"&546"2654&-*mnooNlkkk<؝ܝpoTjKMlkLKl2& 35!%5!%5!2  dddddd2& 53%#55!%5!^ ddddd dddd2& 35!'53%#=!2dddddddddd2& 53%#553%#55!^,dddddddddddd2& 7#553!5!5,  dddddddddd2& 53%#553%#=!^,ddddd dddddddd2& %3+5373+53'!!^ddd dddddd2& 53%#553%#553%#5^,,ddddddddddddddd!7 )4?2"&546#2"&546"5462#"&'."2#"&546"2654&|**PfP ,>, bmnooNlkkk*CC*  ܝpoTjKMlkLKl!7 )4?2"&546#2"&5462267>32"&542#"&546"2654&|** ,>, PfPmnooNlkkk  *CC*ܝpoTjKMlkLKl!7 )4"2654&#"2654&"2654&""&'&2#"&546|**:cc 6N6lmnov6SS6 '' ܝpopLG7462"&4632"AZA@.)(//P)p G$7462"&54654.'"&4632"+64$" ' AZA@.7#']H&(//P)0 :"&46325'"&4632 AZA@.AZA@.(//P)K(//P)%0 :"&46325'"&46325' AZA@.AZA@.T(//P)JKd(//P)%K5Ku346;265#"5463!+"u#o+3B" .mRrB.'e27Oj_#"&4?632RR R~~~ o)S+32+"546;5#"546;54632#"&#"3 +32+"546;5#"546;54632#"&#"3&B!!BBC# *&C# &O92G6!B!!BBC# *&C# &O92G6!dd22'>U$'dd22'>U$'kp)?C+32+"546;5#"546;54632#"&#"346;32+"546;5#"#5&B!!BBC# *&C# &O92G6!g" x$ "BC# &Bvdd22'>U$'222iiio9+32+"546;5#"546;546326;32+"546;#"'#"&#"3#B!!BBB" +%C# %N7@-"%CCC# &" .(!dd22&=Wd2 0&# 354>54&#"34632#3 #*#8#*#H=5#.$,888hg0 2#,8"7A/2'A{hge9t0: * + F@$,P"H =&IHqH  H   H ; r   ` (k 4  " V.  H X Q "a H  & H    H $ H  & H ?aiH " H  ( H ; }" H ( H ?t  HemH H$M$ a$H$T3*}**H- 9-E-He  " H " H 3  " H i s HCopyleft 2002, 2003, 2005, 2008 Free Software Foundation.Copyleft 2002, 2003, 2005, 2008 Free Software Foundation.FreeMonoFreeMonoBoldBoldFontForge 2.0 : Free Monospaced Bold : 14-4-2008FontForge 2.0 : Free Monospaced Bold : 14-4-2008Free Monospaced BoldFree Monospaced BoldVersion $Revision: 1.41 $ Version $Revision: 1.41 $ FreeMonoBoldFreeMonoBoldGNUGNUhttps://savannah.gnu.org/projects/freefont/https://savannah.gnu.org/projects/freefont/The use of this font is granted subject to GNU General Public License.The use of this font is granted subject to GNU General Public License.http://www.gnu.org/copyleft/gpl.htmlhttp://www.gnu.org/copyleft/gpl.htmlThe quick brown fox jumps over the lazy dog.The quick brown fox jumps over the lazy dog.#mFree Mono #mhttp://www.gnu.org/copyleft/gpl.htmlKal1nFree Mono Kal1nhttp://www.gnu.org/copyleft/gpl.htmlFetFree Mono Fethttp://www.gnu.org/copyleft/gpl.htmlNegritaFree Mono Negritahttp://www.gnu.org/copyleft/gpl.htmlNegritaFree Mono Negritahttp://www.gnu.org/copyleft/gpl.htmlNegritaFree Mono Negritahttp://www.gnu.org/copyleft/gpl.htmlpolkrepkoDovoljena je uporaba v skladu z licenco GNU General Public License.http://www.gnu.org/copyleft/gpl.html`erif bo za vajo spet kuhal doma e ~gance.Tu nFree Mono Tu nhttp://www.gnu.org/copyleft/gpl.html>;C68@=K9Free Mono >;C68@=K9http://www.gnu.org/copyleft/gpl.html G0I0E N30 68;-1K; F8B@CA... 40, => D0;LH82K9 M:75<?;O@J!NegritoFree Mono Negritohttp://www.gnu.org/copyleft/gpl.htmlNegritoFree Mono Negritohttp://www.gnu.org/copyleft/gpl.htmlPogrubionyFree Mono Pogrubionyhttp://www.gnu.org/copyleft/gpl.htmlHalvfetFree Mono Halvfethttp://www.gnu.org/copyleft/gpl.htmlGrassettoFree Mono Grassettohttp://www.gnu.org/copyleft/gpl.htmlFlkvrFree Mono Flkvrhttp://www.gnu.org/copyleft/gpl.htmlFree Mono http://www.gnu.org/copyleft/gpl.htmlFettFree Mono Fetthttp://www.gnu.org/copyleft/gpl.htmlGrasFree Mono Grashttp://www.gnu.org/copyleft/gpl.htmlGrasFree Mono Grashttp://www.gnu.org/copyleft/gpl.htmlLihavoituFree Mono Lihavoituhttp://www.gnu.org/copyleft/gpl.htmlVetFree Mono Vethttp://www.gnu.org/copyleft/gpl.htmlfedFree Mono fedhttp://www.gnu.org/copyleft/gpl.htmltu nFree Mono New tu nhttp://www.gnu.org/copyleft/gpl.htmlNegretaFree Mono Negretahttp://www.gnu.org/copyleft/gpl.htmlLodiaFree Mono Lodiahttp://www.gnu.org/copyleft/gpl.html2  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghjikmlnoqprsutvwxzy{}|~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      softhyphenmicroAmacronamacronAbreveabreveAogonekaogonek Ccircumflex ccircumflex Cdotaccent cdotaccentDcarondcaronDcroatEmacronemacronEbreveebreve Edotaccent edotaccentEogonekeogonekEcaronecaron Gcircumflex gcircumflex Gdotaccent gdotaccent Gcommaaccent gcommaaccent Hcircumflex hcircumflexHbarhbarItildeitildeImacronimacronIbreveibreveIogonekiogonekIJij Jcircumflex jcircumflex Kcommaaccent kcommaaccent kgreenlandicLacutelacute Lcommaaccent lcommaaccentLcaronlcaronLdotldotNacutenacute Ncommaaccent ncommaaccentNcaronncaron napostropheEngengOmacronomacronObreveobreve Ohungarumlaut ohungarumlautRacuteracute Rcommaaccent rcommaaccentRcaronrcaronSacutesacute Scircumflex scircumflexuni0162uni0163TcarontcaronTbartbarUtildeutildeUmacronumacronUbreveubreveUringuring Uhungarumlaut uhungarumlautUogonekuogonek Wcircumflex wcircumflex Ycircumflex ycircumflexZacutezacute Zdotaccent zdotaccentlongsuni0180uni0181uni0182uni0183uni0186uni0187uni0188uni0189uni018Auni018Buni018Cuni018Duni018Euni0190uni0191uni0193uni0195uni0196uni0197uni0199uni019Auni019Buni019Cuni019Duni019Euni019FOhornohornuni01A2uni01A3uni01A4uni01A5uni01A6uni01A7uni01A8uni01A9uni01ABuni01ACuni01ADuni01AEUhornuhornuni01B3uni01B4uni01B5uni01B6uni01B7uni01B8uni01BBuni01C0uni01C1uni01C3uni01C7uni01C8uni01C9uni01CBuni01CCuni01CDuni01CEuni01CFuni01D0uni01D1uni01D2uni01D3uni01D4uni01D5uni01D6uni01D7uni01D8uni01D9uni01DAuni01DBuni01DCuni01DDuni01DEuni01DFuni01E0uni01E1uni01E2uni01E3uni01E4uni01E5Gcarongcaronuni01E8uni01E9uni01EAuni01EBuni01ECuni01EDuni01EEuni01F0uni01F4uni01F5uni01F6uni01F8uni01F9 Aringacute aringacuteAEacuteaeacute Oslashacute oslashacuteuni0200uni0201uni0202uni0203uni0204uni0205uni0206uni0207uni0208uni0209uni020Auni020Buni020Cuni020Duni020Euni020Funi0210uni0211uni0212uni0213uni0214uni0215uni0216uni0217 Scommaaccent scommaaccent Tcommaaccent tcommaaccentuni021Euni021Funi0224uni0225uni0226uni0227uni0228uni0229uni022Auni022Buni022Cuni022Duni022Euni022Funi0230uni0231uni0232uni0233uni0250uni0251uni0252uni0253uni0254uni0256uni0257uni0258uni0259uni025Buni025Cuni025Funi0260uni0261uni0265uni0266uni0267uni0268uni0269uni026Auni026Buni026Duni026Funi0270uni0271uni0272uni0273uni0274uni0275uni0279uni027Auni027Buni027Cuni027Duni027Euni027Funi0280uni0281uni0282uni0283uni0284uni0285uni0287uni0288uni0289uni028Cuni028Duni028Euni0290uni0294uni0295uni0296uni0297uni0298uni029Cuni029Euni029Funi02A0uni02A1uni02A2uni02BB afii57929uni02D0uni02D1 gravecomb acutecombuni0302 tildecombuni0304uni0305uni0306uni0307 diaeresiscomb hookabovecombuni030Auni030Buni030Cuni030Duni030Euni030Funi0310uni0311uni031Buni0321uni0322uni0327uni0328uni0337uni0374uni0375uni037Auni037Etonos dieresistonos Alphatonos anoteleia EpsilontonosEtatonos Iotatonos Omicrontonos Upsilontonos OmegatonosiotadieresistonosAlphaBetaGammaEpsilonZetaEtaThetaIotaKappaLambdaMuNuXiOmicronPiRhoSigmaTauUpsilonPhiChiPsi IotadieresisUpsilondieresis alphatonos epsilontonosetatonos iotatonosupsilondieresistonosalphabetagammadeltaepsilonzetaetathetaiotakappalambdauni03BCnuxiomicronrhosigma1sigmatauupsilonphichipsiomega iotadieresisupsilondieresis omicrontonos upsilontonos omegatonosuni03D0theta1Upsilon1phi1omegapiuni03F1uni0400 afii10023 afii10051 afii10052 afii10053 afii10054 afii10055 afii10056 afii10057 afii10058 afii10059 afii10060 afii10061uni040D afii10062 afii10145 afii10017 afii10018 afii10019 afii10020 afii10021 afii10022 afii10024 afii10025 afii10026 afii10027 afii10028 afii10029 afii10030 afii10031 afii10032 afii10033 afii10034 afii10035 afii10036 afii10037 afii10038 afii10039 afii10040 afii10041 afii10042 afii10043 afii10044 afii10045 afii10046 afii10047 afii10048 afii10049 afii10065 afii10066 afii10067 afii10068 afii10069 afii10070 afii10072 afii10073 afii10074 afii10075 afii10076 afii10077 afii10078 afii10079 afii10080 afii10081 afii10082 afii10083 afii10084 afii10085 afii10086 afii10087 afii10088 afii10089 afii10090 afii10091 afii10092 afii10093 afii10094 afii10095 afii10096 afii10097uni0450 afii10071 afii10099 afii10100 afii10101 afii10102 afii10103 afii10104 afii10105 afii10106 afii10107 afii10108 afii10109uni045D afii10110 afii10193uni048Cuni048Duni048Euni048F afii10050 afii10098uni0492uni0493uni0494uni0495uni0496uni0497uni0498uni0499uni049Auni049Buni049Cuni049Duni049Euni049Funi04A0uni04A1uni04A2uni04A3uni04A4uni04A5uni04A6uni04A7uni04A8uni04A9uni04AAuni04ABuni04ACuni04ADuni04AEuni04AFuni04B0uni04B1uni04B2uni04B3uni04B4uni04B5uni04B6uni04B7uni04B8uni04B9uni04BAuni04BBuni04BCuni04BDuni04BEuni04BFuni04C0uni04C1uni04C2uni04C3uni04C4uni04C7uni04C8uni04CBuni04CCuni04D0uni04D1uni04D2uni04D3uni04D4uni04D5uni04D6uni04D7uni04D8 afii10846uni04DAuni04DBuni04DCuni04DDuni04DEuni04DFuni04E0uni04E1uni04E2uni04E3uni04E4uni04E5uni04E6uni04E7uni04E8uni04E9uni04EAuni04EBuni04ECuni04EDuni04EEuni04EFuni04F0uni04F1uni04F2uni04F3uni04F4uni04F5uni04F8uni04F9 afii57799 afii57801 afii57800 afii57802 afii57793 afii57794 afii57795 afii57798 afii57797 afii57806 afii57796 afii57807 afii57839 afii57645 afii57841 afii57842 afii57804 afii57803 afii57658uni05C4 afii57664 afii57665 afii57666 afii57667 afii57668 afii57669 afii57670 afii57671 afii57672 afii57673 afii57674 afii57675 afii57676 afii57677 afii57678 afii57679 afii57680 afii57681 afii57682 afii57683 afii57684 afii57685 afii57686 afii57687 afii57688 afii57689 afii57690 afii57716 afii57717 afii57718uni05F3uni05F4uni10D0uni10D1uni10D2uni10D3uni10D4uni10D5uni10D6uni10D7uni10D8uni10D9uni10DAuni10DBuni10DCuni10DDuni10DEuni10DFuni10E0uni10E1uni10E2uni10E3uni10E4uni10E5uni10E6uni10E7uni10E8uni10E9uni10EAuni10EBuni10ECuni10EDuni10EEuni10EFuni10F0uni10F1uni10F2uni10F3uni10F4uni10F5uni1E00uni1E01uni1E02uni1E03uni1E04uni1E05uni1E06uni1E07uni1E08uni1E09uni1E0Auni1E0Buni1E0Cuni1E0Duni1E0Euni1E0Funi1E10uni1E11uni1E12uni1E13uni1E14uni1E15uni1E16uni1E17uni1E18uni1E19uni1E1Auni1E1Buni1E1Cuni1E1Duni1E1Euni1E1Funi1E20uni1E21uni1E22uni1E23uni1E24uni1E25uni1E26uni1E27uni1E28uni1E29uni1E2Auni1E2Buni1E2Cuni1E2Duni1E2Euni1E2Funi1E30uni1E31uni1E32uni1E33uni1E34uni1E35uni1E36uni1E37uni1E38uni1E39uni1E3Auni1E3Buni1E3Cuni1E3Duni1E3Euni1E3Funi1E40uni1E41uni1E42uni1E43uni1E44uni1E45uni1E46uni1E47uni1E48uni1E49uni1E4Auni1E4Buni1E4Cuni1E4Duni1E4Euni1E4Funi1E50uni1E51uni1E52uni1E53uni1E54uni1E55uni1E56uni1E57uni1E58uni1E59uni1E5Auni1E5Buni1E5Cuni1E5Duni1E5Euni1E5Funi1E60uni1E61uni1E62uni1E63uni1E64uni1E65uni1E66uni1E67uni1E68uni1E69uni1E6Auni1E6Buni1E6Cuni1E6Duni1E6Euni1E6Funi1E70uni1E71uni1E72uni1E73uni1E74uni1E75uni1E76uni1E77uni1E78uni1E79uni1E7Auni1E7Buni1E7Cuni1E7Duni1E7Euni1E7FWgravewgraveWacutewacute Wdieresis wdieresisuni1E86uni1E87uni1E88uni1E89uni1E8Auni1E8Buni1E8Cuni1E8Duni1E8Euni1E8Funi1E90uni1E91uni1E92uni1E93uni1E94uni1E95uni1E96uni1E97uni1E98uni1E99uni1E9Buni1EA0uni1EA1uni1EA2uni1EA3uni1EA4uni1EA5uni1EA6uni1EA7uni1EA8uni1EA9uni1EAAuni1EABuni1EACuni1EADuni1EAEuni1EAFuni1EB0uni1EB1uni1EB2uni1EB3uni1EB4uni1EB5uni1EB6uni1EB7uni1EB8uni1EB9uni1EBAuni1EBBuni1EBCuni1EBDuni1EBEuni1EBFuni1EC0uni1EC1uni1EC2uni1EC3uni1EC4uni1EC5uni1EC6uni1EC7uni1EC8uni1EC9uni1ECAuni1ECBuni1ECCuni1ECDuni1ECEuni1ECFuni1ED0uni1ED1uni1ED2uni1ED3uni1ED4uni1ED5uni1ED6uni1ED7uni1ED8uni1ED9uni1EDAuni1EDBuni1EDCuni1EDDuni1EDEuni1EDFuni1EE0uni1EE1uni1EE2uni1EE3uni1EE4uni1EE5uni1EE6uni1EE7uni1EE8uni1EE9uni1EEAuni1EEBuni1EECuni1EEDuni1EEEuni1EEFuni1EF0uni1EF1Ygraveygraveuni1EF4uni1EF5uni1EF6uni1EF7uni1EF8uni1EF9enquademquadenspaceemspace thinspaceuni2010uni2011 figuredash afii00208 quotereverseduni201Fminuteseconduni2034uni2035uni2036uni2037 exclamdbluni2045uni2046uni2048uni2049uni204Buni2064 zerosuperior foursuperior fivesuperior sixsuperior sevensuperior eightsuperior ninesuperioruni207Auni207Buni207Cparenleftsuperiorparenrightsuperior nsuperior zeroinferior oneinferior twoinferior threeinferior fourinferior fiveinferior sixinferior seveninferior eightinferior nineinferiorlira afii57636Eurouni20B5Ifrakturuni2112 afii61352 weierstrassRfrakturuni2126uni2127uni212Auni212Balephonethird twothirdsuni2155uni2156uni2157uni2158uni2159uni215A oneeighth threeeighths fiveeighths seveneighthsuni215F arrowleftarrowup arrowright arrowdown universal existentialemptyset Delta.mathgradientelement notelementsuchthat notcontainsuni2213uni2215 proportional orthogonal therefore equivalence propersubsetpropersuperset notsubset notsuperset reflexsubsetreflexsuperset perpendicular revlogicalnot angleleft anglerightSF100000uni2501SF110000uni2503uni2504uni2505uni2506uni2507uni2508uni2509uni250Auni250BSF010000uni250Duni250Euni250FSF030000uni2511uni2512uni2513SF020000uni2515uni2516uni2517SF040000uni2519uni251Auni251BSF080000uni251Duni251Euni251Funi2520uni2521uni2522uni2523SF090000uni2525uni2526uni2527uni2528uni2529uni252Auni252BSF060000uni252Duni252Euni252Funi2530uni2531uni2532uni2533SF070000uni2535uni2536uni2537uni2538uni2539uni253Auni253BSF050000uni253Duni253Euni253Funi2540uni2541uni2542uni2543uni2544uni2545uni2546uni2547uni2548uni2549uni254Auni254Buni254Cuni254Duni254Euni254FSF430000SF240000SF510000SF520000SF390000SF220000SF210000SF250000SF500000SF490000SF380000SF280000SF270000SF260000SF360000SF370000SF420000SF190000SF200000SF230000SF470000SF480000SF410000SF450000SF460000SF400000SF540000SF530000SF440000uni256Duni256Euni256Funi2570uni2571uni2572uni2573uni2574uni2575uni2576uni2577uni2578uni2579uni257Auni257Buni257Cuni257Duni257Euni257Fupblockuni2581uni2582uni2583dnblockuni2585uni2586uni2587blockuni2589uni258Auni258Blfblockuni258Duni258Euni258Frtblockltshadeshadedkshadeuni2594uni2595 filledboxH22073uni25A3uni25A4uni25A5uni25A6uni25A7uni25A8uni25A9H18543H18551 filledrectuni25ADuni25AEuni25AFuni25B0uni25B1triagupuni25B3uni25B4uni25B5uni25B6uni25B7uni25B8uni25B9triagrttriagdnuni25BDuni25BEuni25BFuni25C0uni25C1uni25C2uni25C3triaglfuni25C5uni25C6uni25C7uni25C9circleuni25CDH18533uni25D0uni25D1uni25D2uni25D3uni25D4uni25D5uni25D6uni25D7 invbullet invcircleuni25E2uni25E3uni25E4uni25E5 openbulletuni25E7uni25E8uni25E9uni25EAuni25EBuni25ECuni25EDuni25EEuni25F0uni25F1uni25F2uni25F3uni25F4uni25F5uni25F6uni25F7uni2607uni2608uni2609uni2630uni2631uni2632uni2633uni2634uni2635uni2636uni2637uni2639 smileface invsmilefaceuni2669 musicalnotemusicalnotedbluni266Cdotlessj commaaccentffuniFFFD . 12 ,.DFLTlatn 2XDFLTlatnkernkernmark *, ,D 1RX^djpv| H(nDvH2H.T^h    " | j j j  t  * 0 6 0 P n n n n | #&*24789:<DE-FGHRTWXYZ\m$29:< $+.2 $-79:;<XE$-2DHLMRUX $79:<$&*267DHRX\ $&*26789:<X\$&*2DHRX $79:;<`N$-DHR&*2789:<DHRX\( $79:<W,~l$&*-269 :<DFHJLMRUVXY Z m $PQU$n\|$&*267 DHJLRUX\m$$&*267DHJLRUX\m &24HRX\$xj{$&*267DHJLRSXYmY\MYZ\Z\K NWYZ[\DHILMORVW DHO\7MqDHJRVXY\S YZ\7SYZ\7WYZ[\W\FX)/DFGHIJKLMNOP$Q RSTUVWXYZ[\]W6DHKR xdDFJORVDFHJORVDFHRTzeDFHJORV &*24789:<&*24789:<DE-FGHRTWXYZ\m&*24789:<DE-FGRTWXYZ\m&*24789:<DE-FGHRTWXYZ\m$79<$79:<$79:;<$$$PQU$EPQUYZ\YZ \YZ\YZ\WWYZ[\$')*-/13 5= DFHLN\,238=?BDG42@ft(6DjDZw $79:<_} s cPd $79:< $79:< $fGtRqUkVjWYZ\fffg $79:< $79:<$79:<}} iYlogstalgia-1.0.7/data/fonts/README0000644000203100020310000001033112611522305016374 0ustar andrewcandrewc-*-text-*- GNU FreeFont The GNU FreeFont project aims to provide a useful set of free scalable (i.e., OpenType) fonts covering as much as possible of the ISO 10646/Unicode UCS (Universal Character Set). Statement of Purpose -------------------- The practical reason for putting glyphs together in a single font face is to conveniently mix symbols and characters from different writing systems, without having to switch fonts. Coverage -------- FreeFont covers the following character sets * ISO 8859 parts 1-15 * CEN MES-3 European Unicode Subset http://www.evertype.com/standards/iso10646/pdf/cwa13873.pdf * IBM/Microsoft code pages 437, 850, 852, 1250, 1252 and more * Microsoft/Adobe Windows Glyph List 4 (WGL4) http://www.microsoft.com/typography/otspec/WGL4.htm * KOI8-R and KOI8-RU * DEC VT100 graphics symbols * International Phonetic Alphabet * Arabic, Hebrew, Armenian, Georgian, Ethiopian and Thai alphabets, including Arabic presentation forms A/B * mathematical symbols, including the whole TeX repertoire of symbols * APL symbols etc. Editing ------- The free outline font editor, George Williams's FontForge is used for editing the fonts. Design Issues ------------- Which font shapes should be made? Historical style terms like Renaissance or Baroque letterforms cannot be applied beyond Latin/Cyrillic/Greek scripts to any greater extent than Kufi or Nashki can be applied beyond Arabic script; "italic" is really only meaningful for Latin letters. However, most modern writing systems have typographic formulations for contrasting uniform and modulated character stroke widths, and have some history with "oblique", faces. Since the advent of the typewriter, most have developed a typographic style with uniform-width characters. Accordingly, the FreeFont family has one monospaced - FreeMono - and two proportional faces (one with uniform stroke - FreeSans - and one with modulated stroke - FreeSerif). To make text from different writing systems look good side-by-side, each FreeFont face is meant to contain characters of similar style and weight. Licensing --------- Free UCS scalable fonts 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 2 of the License, or (at your option) any later version. The fonts are distributed in the hope that they 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, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. As a special exception, if you create a document which uses this font, and embed this font or unaltered portions of this font into the document, this font does not by itself cause the resulting document to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the document might be covered by the GNU General Public License. If you modify this font, you may extend this exception to your version of the font, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. Files and their suffixes ------------------------ The files with .sfd (Spline Font Database) are in FontForge's native format. Please use these if you plan to modify the font files. TrueType fonts for immediate consumption are the files with the .ttf (TrueType Font) suffix. These are ready to use in Xwindows based systems using FreeType, on Mac OS, and on older Windows systems. OpenType fonts (with suffix .otf) are for use in Windows Vista. Note that although they can be installed on Linux, but many applications in Linux still don't support them. -------------------------------------------------------------------------- Primoz Peterlin, Steve White Free UCS scalable fonts: http://savannah.gnu.org/projects/freefont/ $Id: README,v 1.6 2008/12/25 12:51:41 Stevan_White Exp $ logstalgia-1.0.7/data/fonts/FreeSerif.ttf0000644000203100020310000361021412611522306020117 0ustar andrewcandrewc FFTMKݙpGDEFL@W4^GPOSGSUBQBDOS/2#5qoVcmapOW cvt $fH2fpgmBd8gasp( glyfZ Xheado<,6hhea?d$hmtxBhUlocaopf|Umaxp nameh Xpost· ,prep!*eGp_<)x)xZ ``q G/]1峪 (GNU @  8,`l!MMM,A= *0M0ME48M'Fo+  "8QP444Dtc ,  M "c y  ",",*c c MXM"M%M  M3  dC(Ma5 CFM&*4M'&M 94,,M]$FM4,96,%yc c c c MMM M """""4&", %%%%%%&4    %%%Xc c c c c      $ MM MMM, "c c c \c c    , """yMMM,*3,*%,*3,*'c c c       c c c M''c %,M  MM*" "" ,,*3sP cc !6c ,,.gCCX/M5 y ,W   %M "     %%y&   """,5  %y&"%c c M}M"" MM ,*3c %c """"UE)))) F   ,   )+MMMMMMM  3M M   -''')5[''%* 1  **cc,,952 6MLDLMfMWv<v<<<M M dM M]MdM M2M3TTMtMuM M M%M MMvMCM@MMP`7 "H,(22S <<&&G@MQ Q Q F)B'zcq xy~~t1 }GbY.LP MB 2]g J c c M"y  t=",sc) _!M K)) K)H,)'3 ; ;K#,') ) ),Kl)l+!c7e;e;s!!))i)c $, ,*MM  " '+r* $ 8#8##+7#%2#\)e'7%b$b$&#P&((1  5(-5($**,  $ 3$   A)7#_!!L%-% A) A))q848#5,,, , = $,"""T c b1b1M"7#5+U((y&c  %% ,8#8#%(-""&,3]<)I<6) #5 cJ[[tC_J~q^'^0^7^=^:^/   !-c6^UA TIW~|{zzWrrHK||-&qZ!y%yI6,63,X5 NG)rdeI.O/8M,Nr{RjyZ|I g ,#  N '('(,((O(U(t^))UP<x.BuuaLgm??PPmga9UUU:bbggUUU.a<22g9u9aar,/8NR1\6D*\,l.:O') ' 'c  &!9d  \60J"& \))meTTT&j"P>, >2"""Tab~xd74jh0<0T_@wwet w]*sZ"TD@;UZUDx u4JK\HZV'LT8YWWX[[\ rTYWzZZSTYPQU]\\V[^^^`XZYX]SM8LLLL:IMORNNLINNNKMMGL)LJHKLPMKMMMNL LMMMO KKKMMOMLM)JMLMKLKMC,(zJLL>LgPPLYLOMINMNONPMPPw<> $'>F%\ #\?F#v v &F*\\\{!F%\ v F%\ F\v,'>F*v5v/>(| !*EFFTFEFRFFF1FFFTFFFxFxF2FFF{FDFOFEFF+FFgFgFXFXFFFxFOFFFEF1FxF/FQFF=FFF1F1FFFgBI[I[VIFFF  V]Z# G8<8<g<=<<<`<G$MP"MkMNMMMMMJNMLMMML&D1MDGLvMMMMMLMM MNKRMMM!! !u!!!!!!!4!!!!!!! !0!!s!!!!!!!F!!!!GEE0  G EV1211G82d-k1191119q:+..)+;MI.?>=SkC1;qG0RG101G--0G--,G,-G-G-1.1N$1(@@@@?AN@7@>@$AN7       %%%"#%%;;;11:1X8;d11dG7k00Gk l*?]*2?%IHH3+636G//6/G//G(G/*BAB*JA*N*B>>QQ>    k   q  kT @k@77K@4*NN<G<;AdC """ """"&&&&&H&&0 00d%d040d%k+1++%%Q1+%%%4%%%4 ###dd#G' 3N##*%1# dG 1???1>?11??7?q?q?* ?4?c?FG6F8FFGF8GFG6FG8FFGF8Z[G""G"AdCII?1*"&&&1 &C1&1.0G:: ; 0002d#LL2GOQOG2%fHG6C1%d2Gk0  ' h    %c c c c c , M      MM"""c c c c y  y  y      """",,MMMM,*3,*3,*3,*',*3c c cc       c c c  %M%'%%'%%%%%'%%%c  c c c c c MM"'"I"'"I""""'"I"" 'I   'I   'IK)K)K)K)K)K)K)K)AAA AAA))))))yy+yy ! !      ,,3=yyy ))))))))K)K))) ; ;))K)K)K)K)K)K)K)K)\\))))))))K)K)K)K)K)K)K)L]lyyvu]      MM ed],,))y0y/ |w)))))yy(yy!MM'M'MsMOMOMs+-+;:^(^(oSc   M?M0uD55:EM+XXxD D ,,9,,,,,,,2,2,2,,,9,,,,,,,,,2,2,27,    v "<c*6!6):~ j 6 &@<"Ro !!""f2#2-), 8.(;"$Mv$]  $ c y ,B   6    > >->->>>>>>;>.>.E>EHE>-E>->>>> >>>>>- - ll>>->>->H->>H->H->>>>>>&>&>&>>>>>>D D >>KlK,K,d$44044077444|C|C>>>%%%|U4>>>>P@P@>>>>77;7V758Fu;44|8|8|86|8|>|>|8|4|4|>|8|8|>|>|3|>|>4444444444|B|>|>|>|>|>|>|>|>44>|3|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|4|4|4|4|4|4|4|4|4|4>>>|4|4|4|4>>||||||||||=|=|=|=X>X>>>>>L>>L>LL|>|>|>|>>>>rl>>>==*E@u9?0404|>|2|2|4|4>>>|>|>|>44|>|>|>|>|>|>|>|>|4|4|4|4|>|>|>|>|>|>|>|>Ettt 5#>>>>4%HL >>II 7 7 7 7 7(((XXX77L-##########yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhyyhyhyyyyyhyhyyyyyhyhyyyyyyyyyyyyy|##|#|#|^|#|#|^#$#################S#0#7#77"###### # %V%##%H%H%CX2X2X2X2X2X2X2X2%C%H%H%H%" 8 777773G07G7% %t%!#A##$*%!"%! a 5  J Z  ` 1  I a r"#S"##S"M7+777By<2d]########%W!#####"N$##;$#####(##A########7##I#7#A#0#?#####"##########:#/###!$##"###$i##########"#$# 8 "########################""#######~########B#i#<####"##s#D#D#c#c###j#j###"a#"x"#x"?#i$##"\\\==M+fP8d9222}>YF6wX/CaLLffwwmm~qqDDwXcO\yyy?oonPB*MqVyz&kzooxxwwpptt**~tx1vvvrrrw vw}y ?xkrku+  "8o]#,, 8#5#3^'^0^0^=^/  ^0rr44{}DDRRjyjyII00E,6,,,6,3,,,XA  Tk-~~%%{{44**zz>>zzXXp}TTrrrrHHKK||XX||77%%--&&&q?|&ZA|BA!!,,yy>>%%yyCCn II(  z{e{z{#uQfFeKsM MZLLNKGKKE,KVKAI,K@@@KKKKKKKFfOGKKMM(I(I(IKKKKKKJJJKKKMMMKMMMMMMMKKKKKKKMM MIIHMMMMM?M?M?M?MIIIHHHHNzLzLzLH<GHFFFKGKGKGMMMGLGL}HGLGLDLGLIII)L)LMHHMoLoLoLJJJJJJJJJJJJHH/LxKxKxK'HM>M>MnM'JL1LLJJFFFLLMLPPPUMUMEEEM>P7P5PLM'M:MTMTMTMKKKAGGGnJnJnJMMMMHMMMMMMMMMMgKgKgKMMMHHHLJHHHOOONLLLLQiIiIiIKMIKNLNLNLMMMIDL,LGGGH;HKKKIIIMLVHDHAG^H~M~M~M~MKKK L L LGGGH HGGGGGGGGGGGQQQ Y YMMMMMMMMMMUHMMMKMIIIIIIIIIIII J J JdJdJdJMMK-MMMMMMMMnGnGnG&JJM$OHGGH#HJJJHHHHHIIIIOOOIIIHLLLIDHIHFFF,I,I,I6MJJJpIpIpI M M M K K K K K K K K K K K K K K K N K K K K K KHHH K K K K K K K K K KKKKKKKKKKKKKKKKKKKKKKNJNJNJKKKKKKKKKKKKMKKKKKKKKKKKKKKKKKKKKKKKKJJJKKKHJJ%J666MMHIMMLIIIMIJIJIJIIIPEEEMMMOO$OOOOOOOIOOOOOOOOOOOOOOOOOOOOOOOOOJJ[KMMJMMMMI=KMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLHaIaIaILLLLLLGIM]J]J]JIJeJDJJMMMMMMM-H-H-HMMMMMMMMMMKKMKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK:T:T:TLLILLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLeMeMeMLLLLLLLLLLLLLLLLJJFKLeKKKKMeJeJeJKKK)J)JFL6J6JMMMF9y(&MMMMMK%C D%KMFMMKBMMMMMMMMMM MMLLLLL Z i\'R=8>o Y2Ud'gCDhUtO'h   8::|rL3wE+\Wq!:!2 imee pp[E'z'$111E##X'I'''t666p%%NL  pck..B&<8>jLUU;%%H$jj;-@BB@/ SL)444z ?U:O ' 'sqOO^C?; j.*NNFCWm":O'* ' 'c  >%ZM+[Mhq{15Ewf;$+*f\e:o .xet ]*sZ"TD@;  M)F S!AE:f@` ;Js91wUZU1bb  ~357Nouz~ :KUikt~    5 9 E I M P ^ p  ( 0 3 6 9 < B H M \ ^ p t   ( - 0 2   ( 9 C H M W a p :[FHMVX]FZ|")EMWY[]}   # & K q | !!!! !$!(!.!3!9!!!!!!" "/"="K"W"Z"\""""""## #####*#H#P#W#^#$#$i%K%m%%%%%%%%%%%%%&&&& &#&&&(&*&,&c&f&q'' '''K'M'R'V'^'g''''** .00000000A6<>ADNY}ptvxz| &57PPtz~ !AM`kt~      7 < G K P X `    * 2 5 8 < > G K Y ^ f r     * 0 2     * > F J W ` f ?HJPXZ` Ha  ) HPY[]_    & 0 p t  !!! !!"!&!*!0!5!S!!!!!"""4"@"M"Y"\"`"""""##### #)#G#P#W#^#$#$`%%P%%%%%%%%%%%%%&& &&&"&&&(&*&,&.&e&i''' ')'M'O'V'X'a'v'''** .00000A0009*8>@CFVzptvxz|zxnmke}|rqi`YH2d |yxoEDCBA?>onmlkged[SO>=:53/.-,+*)(&#~xzjhGFCBA@?>=$Fޡޠޟޞsoni-poLKJIHG@ :765430)'%%   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a rdei xpk cvj D s H Igw  K l|4cn T 2 m} b :  D  qr y e{qwxyz|zf,K*PXJvY#?+X=YK*PX}Y ԰.-, /+\X G#Faj X db8!!Y!Y-,KRXE#Y!-,i @PX!@Y-,+X!#!zXYKRXXY!+XFvYXYYY-, \Z-,"PX \\Y-,$PX@\\Y-, 9/-KPXYF+X!YKRX!Y+\X E+D E2++D E++D EO++D E++D E/++D E&++D E "++D E ++D E+D E M+Fv+D E+Fv+D E#+Fv+D E +Fv+D E+Fv+D EX+Fv+D E'+Fv+D E+Fv+D E+Fv+D E+Fv+DY&&+5<IUNUU[ggms!yTTTTHh,`xX4lHx x $ L t  (  x|xDDXx t,T`@P l X !L!" "l##$ $T$$%<%%%&d'('(0(X)()p**++8+H+,,`,x,-D-l-.8.d../4/0801122(2@2X2p2343344404H4`4x455(5@5X5p5556X6p66667P7788(8@8X8p9D99::(:@:X:p::;(;@;X;p;;;<<<<<<<======>?H?`?x?????@@ @@ApAAAAABBC$C<CTClCCCCCDEEEFdFGG G8GPGhGGHtHHHHII,IDI\IJJ,JDJ\JKdK|KLLXLpLLLLLMMNN(N@NXNpNNOLOOPP(P@PXPpPPPPQR`RxRSSSTLTUU(U@UXUpUUUUUVVWW4WLWdW|WWWWWX X$XYYYZHZ[4[\\\]0]^(^<^^_L_`4`ahb0bpbcxddldefffg8ghThi|jjkkkl$lmm`mnLnnodoppq<qLqrrssxst\ttuu8uHu`uxuuuuuvv v8vPvhvvvvvww wDw`wwwwwx x(xHxdx|xy zz z8zPzhz{h||||||}}}(}@}~~~,~<~T~l~|~~~~~ $<Tl,D\tL\tp(Dd((<T4Hx$L`t$dd<P@0@p, P@$8D,p4D,4`<DxTt8L,<L\DX 0Tx@p 8hP|H,$(Ll8Xl4Pl 4H\x$8Tl4H\p¸<\xü @hĄ LŘ 4HdƄ$DxǬ4\pȈȤ(Hp@h|ʐʤʸ Pdtˌˬ(D|̤0Dh͌\πϬdДXѨLҰ|ԔD՜(Xքִ,D\t׌פ׼Ht؄ؔؤ0@Pٸ\l4Dܔܤ݀tPh߀ߘ߰\t@$dT D\tL<L\0`d0@Phx TlH\$L( pDl \     @  \ xt4l d\xht0   l!!!!!"d# #$8$%&,&'$'()d*4+ ,<--.///0\00012T234l5647778D8h888: :;<8<=@=>`>>?\?@T@ABCDxE(EFG$GHI0IJdJKxKLMXN$NOdPP`PPQ8QR8RSSTpTUxVVWWXXYpZZ,ZDZ\[[\H\]P]^\^_\_````a a$a<aTadataabbb0bHb`bxbbcc`cxcccccdHddddeee0eHe`exeeeeef`fpgghhi,ijDjk|lllmtmnnooHooopp|ppq(r r\rsLstTtuLvvXvwwxxy8yz(z{|||}~X~h8x P,,xD|HllDP`DH4DXt|8ltDTpP$x@D($Hh p`L@ TXthT(0Ld,lŴƄȌ,ʔ0̀(|МT$H`ԜL@d|4ٴ<ۼܔdHްߘ( D0hHdtTpllh`4HxTlDD Dpl L  8  ,  $   Hp(t <<8`$\ 0 !H!"X""#p#$$$%@%&T&'|(((()))4))*T*++,,t--T-.P.//0001X122p23,34,445,5677|78(8@8d889 9h99::`:;;;??`@ @d@AATABdChCDEdFH HIKKL|MO(PPQRTRT4UlUW,WXYZZZ[|\\]^_x`ac ccdhde`f,fghh(h@hxi\ij$jkxl<mTn4o|pq(qrHsstlu`uvw wxyyz|{ {|}}~lD$xd<TT8X@HD|4<h4x``4\|0L LxtHTtLP|84L0<$PPdd\ÔPŸȌ$ʴ˨̐ͰϤ|8(ؠٸ$ xߐ 4l||0hL(\,4Hd Dx@<p(0\@| 4   0   d   x  \ 0p(P`8\<P 4 !H" "# #$L$%8&&','(T()t)*+P,,-T-.l.//01H12T3 34556T67D789,9:;$;<<=x>>?L?@p@ABpCPCDEEFLFGLGHI<IJKlL LM\MN|O8PPQ|R(S STXUUV`W X$YY[\]^ _ _ahbce f@ghik l(m|nopqrt(tuduvwxpy`z{L|d}h~@D4XllDTD`|@@0t($h\$ 8\pʠ Ͱ x԰ X4xX| x4 |d 0t   \Txxp( !"#<$ %%&'(8) * +<,- .,/0P124p578:,;<=x>|?(@4A(BBDDEFGHIKTLTMOPPQRSUWXZ\]_accdleefgThi j4k,l<m8nPoprs8t`uxvxydzT{|L},~ \8dxP @lDL0@LlɄ0X҈Ԩd0THݰDޜhX PX  $<Tl,D\t4Ld| $<Tl,D\t4Ld| $<Tl,D\t4Ld| $<Tl,D\t4Ld| $<Tl,D\t4Ld| $<Tl,D\t4Ld| $<Tl,D\t4Ld| $<Tl,D\t4Ld| $<Tl,D\t4Ld (@Xp4Ld|,D\x(@Xp $<Tl4Lh0H`x   8 P h        ( @ X p        0 H ` x        8 P h        ( @ X p   p0DTLd 8Phl4Ld|8 8P4Lh\t,Dt $4\(p`X   !d"h#$$x%%4%L%l%%&(&&'''(,(T***+<++++,,x,-$-X-.$.T..//0/T///00000D0X0l0000012P334t5@56x678$9D9:::;;;,;==>??@APB<BC\D(DEFXFHXI\JJK\LHLMpMMN\OO$O4PQ@QRT T UDV VWWdWWWXX(XHXhXXXXXYY0Y@YZ<ZZ[d\\]]^_t_______``$`<`\``````aaa$aPalaaabb@bpbbbcccd,dlddddee4eHe\eef(ffgghh0h`hhhi$ihijj4jXj|jjjkk khkkl8lxllm,mdmn0nnno4olop pLppqq\qr4rsssTst(t`tuHupuuvTvvw`wxxlxxxyyy0yz$zTzzz{T{||(|`|||}}T}x}}~~l|,Xp8tD( @`xtT `HDL,x8 XPl TL( l |$X<LTd,P0th0Hl8dx 8h< t(`T8PT@@,\<P$DdPd@(x$8\x<dx”PŘlDȼɌHdʀʜʸʸʸʸʸʸʸʸʸ8Xx˘˸8Xx̸̘4`͈ʹ0X΄ΰ0X|Ϩ LxМDlјL|Ҭ <pӤ <lԜ Htՠ,\ֈִ@tפDtشXٌټDڈ$@\x۔۰ <Xtܐܨ0\xݤ$Dxެ,p40H`x(tx$,<8h8`pd4 L T|,D`| x( @   <  (`P@d< ,|` ` X !l"@##%&'(h(*X+,-.d/ /0D01 1T2833|334,4X455667|809@9:4::;(;<$<=0==>0>?,?@T@A0AB$BD8E FPGLHKLhMNPOxPLQRtSLT|UUVVPVVWWW8WTWWXdXYYZdZ[<\H]8]^0^_h` `a,abtccd,dehf fgLhhiij\kk\klhlmXmn`nnnoo@ooop0pppqq8qxqqrrXrrs sdsst0t|u,uvv|vwPwxTxypzzzz{{P{{| |@|}}}~~D~l~~~l `(X0H40(DL(L\th@HpX8`t08,4P8Ɯ4\HLhЄPӰԜpטlܰp݈ތDxttpP@4 t $,(T d, L  P 4   8,tLh,(p\ !"H##$l% %'((0))*+,,.<.T.l..../// /0/@/P/`/p001D2(3344(4H4h44444455(5@5X5p5555566606H6`6x666667788X89\:(:;;;<=0=> >?4??@ABBdBBCC|CCDHDXDpDEEDEEF8FtFGDGGHHHIIlI|J0JJJKKLLMPMNNPNNOXOOP0PQ(QRLRSTdU UUUVDVW\XXXYdYZ@Z[([\(\] ]]^h^__`\`ab bc<cdtdefffgLggh$hiihij4jjkkpkldlmdmnlooxopqLqdq|qqr@rsst t tuDv@v`wwdx`ylz${{|t}H~4<Dl$8h lT,<Ll$(€ô8l̄LD ϸЀ֨׀ؤل<(H(x0|ltx@D<`pH`HDPXXL    h Ll X"D$|&x(P*`,-/p1,2X34679:;=L>H?t@B8CElGTIJLpNDOQtS\TTUtVLVWXYYZ[H\\^^`axcdleghikDl|mHnHopqrsu$vwxy{ |}T $d$l$l|Hpx@$@8`,8h04\D`żDȠ<dhӔ֘(،LLۨܬ݀(ߤP $,xDpTP \ `   @  $   P \ ,     d      |  d 4 D       ! " $ % &$ & ' ( )L *D + , , - . /X 0` 1 2, 2 4 5 60 7 8, 8 9 :x ;$ < =( > ? @ A$ B CP D E0 E F G H IL JH K L L M N O Q Q R T$ U8 V@ W Y Y Z [ \ ^ ^ _ a@ b< cX d e f gl h i\ j` k lT mH nx o0 p qP rH st t u w xp y z| { } }   H <   <  H 8 x H p d $  (  @ H   ` L  l 0 @ < ǐ l | D  4 Ԝ , ؘ ۔ T < H X ( ` < \ l 8 H $ l T   p t L D P H | T | t  P @ p T x  | L X ( 0 x      ! " $, $ % &| 't ( ) *d + , - / 0 2` 4 4 6 7X 8@ 9\ : ; < > ?t @ A CX Dh E GL H J K Mh NX Ox Px Q S, T V W Yt [4 \ ^H _ a b d$ e f hH id j lH m< n o qP r t ut v x y8 zT { }T ~p  P L  ` @ D $ X 8  ` L   $ ` D `  @ H D T D T 0 0 l < ` (  T p X p T ר | 0 @ ވ  @ p \ $ ( l   $ , l  t   ,   ` t \       0   l D \  |   " #x $ $ %t &L '` ' (H (h ( ) ) * * + + ,0 , -d - / / 0T 0 1 1d 1 2L 2 3$ 3 48 4 5 5 6 6 6 7 7 8 8 9H 9 :\ :| : ;D <4 = = > ?t @ A B, C D D E F, F G H` I I J KL L L M8 N N Op P` Q0 Q R S T< T V$ W X0 Y Z [ \ ] _l `t a b` c( d e f gD h i i j k l m n ot pl q s( t v wD x zp { } ~ | ,  | ` T P  h D x 4 P X \  $ D @   4  < ` 0   l  ¬ Ǹ | Ɍ X X ̘ X $ ` Ѩ Ҝ Ӵ @ d ٤ ی ܠ ݄ ߴ  L 0  H  4 H t  8 \ ( t ( | d    P $ h  P      ( h  < t   ( ! # $ &\ '| ( ) +` ,x -\ .| 0 1 2 48 5D 6| 7 8 9 ;( 54&#"232673##"'#"&546"32654'.16.(3B6B+L)).J"&/)/E('0_4:'wV1EV0a!=f "s83:r)3G:^Li0!/hm $x&Or ]K4_I"U *-8B654&'533267#"'#"&54?&54632>54&#"327&FU*I0:SA[0 #&54632e #.w0O0.54>7$8G6%%2M2! ,6226,-P[EHUO&$:]Y]_<"O'>54.')8G6%%2M2! ,62,B<-P[EHUO&#<]XyV/E I46='5#"54>7'.5463254&5462>2#".'#"&&1 $%Y' R23,!V %E"D'%2.R- #7 "`  WZ'7 2X 533##5#5BBBB8sf0#"&54632'654  !".>2 R 3&-T82'3#'?Fd 72#"&546}!" !d" "#DN".5467632" 4&4R0 5+7Ob||eB0JaX+X*4<o"57!5>546$;8'Q[$//>323267!57654&#" !)I.Nk"! 7zN?4?"A+"fKq+ z?N9I+,7232654&'>54&#"'>32#"&546Q["7L6/M"16=1/GYREW*4#QKj  %##5!53#fM:,N@@CW (%4.#"54?3267+#"&5432326e/CS= m &*%9KE#8B+Y;P5R-  Y Uuq;\8$ !%>c" "&547>7>32"32654&e{7iUv/0!VfumD/LB58Gw&#qq`g<;tYR^g ##"'7A)+ ;rT38$2#"&5467.54632'32654&'>54&#""ZAkZUk1QO-lRKa<\<,$F91=*B <3/=:sC[:M\\I3E=ED1DZP>3H,#F0AP=1*?44=8+*J#'>7#"&546322>=4#";rJLQcwYa|WN3dg01, Cz9p[e|e9%"$ %'!68YiQ 2#"&5462#"&546!" !!" !" "" "Ps0#"&4632'6542#"&546 !".<4 R,!" !23&-T82" "%5% \ BHx!5!5BBBB5-5\ HHBD*2#6?654&#"#"462#"&546Ll""%2%?-%:&0]L UF$K/-@ZMA@UG2F& 0|S! t)2>"327#"&54632#"&'#"&546327332654&4&#"326~Yk I[5՘nJ$36G%3qS EA'1P)_ 0H0!Đ̩|a(!HA/Z& .zKpoQ'.%#5>54/!3#5>73%3().D%).8t+`u)5m8Q*5%#!5>54&'5! 2>54'&#32654&+"Q3dE>"!?4="-B:T0_FMZV,:9# 87!3 ; :+\#I?;CFy46323273#&#"327#"&@p !  7m-LQ.vi.UE!!⺢WAe=B%#!5>54&'5!24.#"3 6TX9;[W9m,FrI>N-V\C, 67)AYV6+OQ:% U)7;2673!5>54&'5!#.+"32673#.+!Hk\%-7 7 6U @%  &>P3Q!55!C& '8>" "$%#.+!5>54&'5!#.+"32673 (=!:9 7 6U <) =#6!#>5!C& #< ."326=4&'5!#".5463232673#.9X6" z6O9,@-ZbJ1:q  `|)@VO(#8,,0IzN!N]+!54&'5!!5>=!!5>54&'5!/:: 8: 8:::g66D5 "?5 "?66;74&'5!!5>s!@)?#$>?"m7 7D7!  r723254&'5!#"&546; & ==XQ+8l B77^g( "35!!563654&/!5>54&'5!7654&'"431D2' *I9j :; :=N1I"`8i7#>5!7͡H  V%2>73!5>54&'5!3b2L* 07 7;"7'%#!55!!5' _$ ##5>54&'533!5>5$:>#!>8 7; =&mL1/M7 5D5!#> ##5>5.#534&'53 F$:>## %;3+&xL1/M#QL/" !"&546324.#"32>cG+:71N- ,W<=Y-VHpD,*?VO)3bb<54&'5!2%3254&#" #:dB'#;98-TS2"`e06'7!!?6&J:MI"N-##"/.546 4&#"32>%306!=V i/drs_2N. (BE&1M. K7`A6  OGz7"•)?TM(XB)@UP%/2#!5>54&'5>54&#"%+NS2 %8 :88yqY^#J5+46 #>5Mi"[V?Q#"#7!#.+!5>56T949U6">> l.RS-7 !@%73267654&'53#"&54&'5!Ka8Z$:> 5iM{;<dg+$+]K1,L;XO*}876#.'5!#654&'5%'& .) ) ;%B%[o0,# #.'53'.'5!654&'5(S:?''& k!"+ M}&'ߦYF+ R<" FS- 4!563654/#5>?'.'5!7654&'515/()23_w4 ,'*@mF=2.0U*q()!:+LA Og4 v;2 &!5>='.'5!#7654&'5'8+$CD!24" .'-B9!AI? U%2>73!5#"#7!. 3B! P& ) a,$!Xd+ #3#"3+Z12`43# CDN"d 3254+53#"Z-1VӃ,4)#3#\D754#"#"&54632327#"&'#"&75327>%+GY/L*aGR> 'V<.;ZH%"' a&>''=S/AOQ!"'I, - $>32#"&54&#"576732654&#"N.KecDE;'<%0}\k)\S[m.!74632#"/.#"3267#"&X?[" =KWD+>$ '&>!Sko=*.aMVm*4 4 }*'5#"&5463254&#"567327#26=4&#"X0PSfzV63[8&3>(9DL @Cw`j+#+(5#53>32U 9{z =6RRP^-;DYt 87: py#&/=L7467.54632;##"'"'#"&5467.32654&#"4.#"326I>2+aF((MS]? (N7B7TyGf-5JPBUh8Dey,#'9-#(6 :>/D_ '+)EV*:/8-D9(7'(% !(6+0=)2,HY1 *#5>54&#"5767>32#5>=4#",+ D/#D,{)+K3W45 -'4 3j"57#5>=4&2#"&46> 140766!!*&#0567#"&54632326542#"&46M-PLVS)52!7jp<>M{<!*457677654&'53#"#53254./#5>54&#"W&%S>5! 6o \z  9:&!  '$567#5>54&#"c<0/ o)(#?567>32632#5>=4&#"#5>=4#"#5>=4&#"HD>0=/ *i)$*567>32#5>=4#"#5>=4&#"J@3;#7?%&I*$&&O0!OG%"/a"+% 2"&54632654&#"`|}{!N?8@P?5Àbhegk`UgV',567632#"&'#5>54&#"32654&#" ?Q@PI^yY + 8,E#6CC8#C MOx]m/'#<,gSWi,'$73#5>=#"&546323276=4#"h6 )5$DYFZ^6>12$]@J  *Jx_l+PC "dgO#"&#"#5>=4&#"567>32(,2"30PD%4j#:+ &!\5)3\1273#.#"#"&#"#5332654/.54632 2+"++l-'S:T   (&-4:@5M;!: C8&+@7%4L '!-!$B*6E C#327#"5#&54>7672e 0HY5 2 /+# L- 6+ t #%'5#"&=4&'533276=4&'533N;++<7B$*.*/"2S++G;#-"&%##"'.'53654'5 x# fc/22/N$ /.'537654&'53"/#"'.'53_!#TZ{ [pc6P) .* 1+',V&2>54'533#5>54/3#5>?'.+53  (3S#[O(r^  +.0)*x" { #E&)2654/&'53654#53#"&54632>,u '  sa0 (O2 *2|O  hl\!%2>7!5#"#7!'.  - [ "#!7vkdK^.=4&'>=4>7^XM#22#.7,4'&88&'46T4..4,7  68>44>86 C3CBNK|"25>=467.=4&'!*.#22#.7,4'&88&'45%4..4,7  68>43?86 (@23267#"&#"'>2~#6"6#2~#6"6@D 0%D 0%a& 3#"5472#"&546 !54 l4($*P : 5vC"+7&5463273"&'3267#"'#7&#"t],#/K& e ,@' &$;!1"Ps=K Be|6 ,89 C ]M6J =H%#"&'#"&54632654'#53&54632"&'&#"3#32>322654&#"'D( =3*%2)lkjY8J,7-2 }yTA"2e##3 -2$##""* -$!k5((4IB,]-##y+  %: Z&'7&547'76327'#"'"2654&b))b2`=BE8b0`''`0b9DA>`?WWzUUl`;CE9b0`''`0b:CB=`2b))bX?>YX@>X47#535'#53'.'537654&+533#3##5>5_)*#A vp'5\ 02(L(J*03(L(I5$%>C33CBBBFlAM4654&#"+#"&5463232654.54632.54632#"4&#"326"$&/"YA38&OA:P"+(/6LL6B1 <(M>7ID&'1)%&" ' *qJQ5C1;&9F:*$"*# =5:T03D2<(6D8*4w&2x( <n 2#"&54632#"&546Bn((&%12#&#"32673#"&54672 &546"32654&"V^CHJB-8]+[ozJɒyvuFY[TS]'/L iUZoˏȐ*~{|z*4#"&54632327#"&'#"&54>754#"26=L =/i 0+('+$ 5&q   &`s ,&*M*!-7#"./7>7632#"./7>7632q O4A W (Lq O4A W (L I-;Q ' 9^ I-;Q ' 9^l%5!5!JlB'& (4@%".'##5>=4&'53232654#72#"&546"32654& )0 %% %4?O9'%+!$GȍȏvvsA c  ! 2*H O6].+O˔Ȑ*|{x #BY!! 7Y69W 2#"&547"32654&xST=:S+==*+>>S=323267#57654&#"2:I&.Vy %bQ+6 - -;/%D-U UkW2-F#%4&+5>54&#"'>32"5462326?4+$?.-?5^dcn:9::>86@\mbW65!"??[_TF6 2#"&546}!" !6" "4)73632#"'732654&#"b)# (.C:-'% ccA% '- 9#5>54#"57 %v&  70 2#"&5463254&#"@QXA?RU ,%G-$ 'K;?UO<@Ok=QW9H(,!-747'&5432#"'47'&5432#"K6  7( AfD K6  7( AfD *]A 6";XD ]A 6";XD% #%##5#53#5# #5>54#"577F/F>1 %v9ZZ1 N  73 # #5>54#"57>323267#57654&#"X>1 %v2:I&.Vy %bQ+6 N  7  -;/%D-U UkW2-F 7%##5#53#5# 4&+5>54&#"'>32"54623267F/F>1?5+$?/-?=Wo4%9ZZ1 N,)%!3,0#'+#N:N2'%&x(4>7332654&54632#"&2#"&546-8; %?-$;&0]ELl ?-V>i;O?@UG2F& 0|SUY,! z#j$z#i$v#e$F#{$C#j$#y$_:=%.+;2673!57>=#3#5>7654&'5!#.+"32673%3$71LQI+,-@5!  )14ELWoG77-%0R!15}!. 0)#>F?)y7327#"'632#"'732654&#"'7.546323273#&#"-LQ.vi-U  (.C:-'% %}@p !  7mRWAe=B4% '- Y!!⺢ Uz#j( Uz#i( Uv#e( UB#j(;z#j,=z#i, Bv#e,<C#j,-#!5>=#5354&'5!24.#"3#3 6TX9SS;[W9m*CwN>N-V\C, 6,7)AYV6'IT=), F#{1"y#j2"z#i2"v#e2"F#{2"C#j2& 7'77''00000000"!)7.5463273#"'# 32654 &#"+XWH1X,[TO1Obs;"B_91k D^:2tl54&'5!32%3254&#" #:dB(#;98<Px"`g _06(47!!?6#< bMH 3#"&546323254'&547654&#"#5>54>32hK+6@ _0+'/&%I4N\9y#Rq)   vAJ:1(r2LC$SE6?%"j8D%"i7D%"e8D%r"{6D%k"j9D%"y:D&x6CJ0"&54632>32!3267#"'#"&546?54&#"'.=2673.#"(\DA4"3"LL  3+A$ '_?Q03@%3AEPV ( [:'8J=%(+( .>-VaJC,5UJI*=1-C!$?1%54!2-$3$A;:)674632#"/.#"3267632#"'732654&#"'7.Y?[# =KWD+>$'V= (.C:-'$ &L[o=*.aMVm*4 OI7% '- [ y"j8H"i7H"e8Hm"j7H"j#"i'"ez'_'(#"&54632.''7&'7732654&#"}c]}zZ$4& *,{!y>G*1A&_![N@9?P@5A~de#7K-A@, 20jaVfVr"{TQ"jTR"iTR"eTRq"{TRk"jSR%!5!'2#"&5462#"&546!" !!" !B" "a" "'"7&5463273#"'#3264&#"}`{a,09'Ab_/.A% #/8?ޟ%+5ANyfm}Fzh{*b0$VFf "j?X "iTX "eGX m"j@X&"iT\',567632#"&'#5>54&#"32654&#" ]4AOI^yY + 8, E#6CC8#CoNx]m/',gSWi,&q"jd\#h$%>"h:D}#w$%"w: D[*-#"&547#5>54/!3#5>73#3235;*6().D%).",tIL, .++`u)5m8#"n%[:G2327327#"&547&'#"&54>754#"#"&5465327>R> +5;*6V<.;+GY/L*aZH%"' OQ!$L, .++I''=S/A!>, - yz#i&"iLFyv#e&"eGFyC#x&n"x6Fyv#f&"fLFw#f'W*>'5#"&5463254&#"567327#26=4&#"#"&54632'654X0PSfzV63[8&3>(9DLe  !".>2 R @Cw`j+#+((9DL>-" x"c#4@Cw`j+("hDH Ul#w~("wD H UC#x(n"x8H [e9#"&547!5>54&'5!#.+"32673#.+;2673#32Q5;*6*7 7 6U @%  &>!Hk\%-,IL, .+!55!C& '8>"3Q#"[&,3267327#"&547#"&54632%3.#"a010G$6."+6;*5Weu\LT *.Z?[-09*G'1$L, .* xho[\ A2 Uv#f("f:H u#e*&"eHJ k#w*&"wTJ C#x*&k"xDJ .B%4&'5!#".5463232673#.#"3265#"&54632'6549,@-ZbJ1:q  `W9X6" z6O   !".>2 R8,,0IzN!N])@VO(# 3&-T82&/=L`7467.54632;##"'"'#"&5467.32654&#"4.#"3267632#"&5467I>2+aF((MS]? (N7B7TyGf-5JPBUh8Dey,#'9-#(`   !".>2 R6 :>/D_ '+)EV*:/8-D9(7'(% !(6+0=)2,HY1v 3&-T82#e+ z#eRK+/!5>=!!5>54&'5!!54&'5!!5f 8: 8:::/::k/)D5 "?5 "?66==6^^ 24#"#5>5#5354&#"57673#>32#5>5K3,+pp D/ss#D,{)+,j"456 6t-'4 3K>#{,.f"{ B#h,$>"h;}#w,"w [#!327#"&547#5>54&'5!; $+5;*6?"!@)?#$>.$L, .+ 87 7D7![#."57#"327#"&547#5>=4&2#"&46> 1!++5;*64076*$L, .+6!!*;C#x,"57#5>=4&> 14766!#-M,&#ML ~#e<-&2&e "#[.#[XN8#"&#"#'&+#5>54&'533267>32) %"26"}" 66C)0$+51 9b  '' HF& V#i%/&~#iO V#[p/#[O V/%2>73!5>54&'5!3#"&54632'654b2L* 07 7;"7  !".>2 R'%#!55!!5' 3&-T82\(567#5>54&#"#"&54632'654c<0/    !".>2 Ro)(#3 3&-T82 V'Y/#y(O V#%2>73!5>=5754&'5!73b2L* 07 WW 7;"7'%#!52125!!5Y1Y54&#"#5677#5>=5b c<MM0/Nj#5,5)(6, |#i1"iTQ #[1#[SQ t#f1"fTQ"Q1[ &.26=#5>5.#534&'53#"&54632b$:>## %; 4N)52>MCxL1/M#QL/3+tf<&02654#"#5>=4&#"567>32#"&54632$I*$&&J@3;#7?VS)52>Maa"+%O0!OGjp<"#h2>"hTR"}#w2"wT R"z#|2"|TRu0=23!#.+"32673#.+;7>73!"#"&54>4&#"326V t+F =b3*hF9'4|/A&, (?UR/4[ca\5/C&%=;(8GO|K172/!+23267#"&'#"&54632>32%"3254&354&#" 5'$;# 'R:.;C3[sqY.D&:)=^C-@xg;-"P*?J)(0QD,33,dg"**"QfIWpx|*7#i*5O"iU#[5O#[Uv#f5O"fU*|#ip63n"i1V*v#eq6%\"eV*)G.#"+632#"'732654&#"'7.#"#'332654.546323273c<.:DOcXuU  (.C:-'$ $!O %bC7DB^]BgF*b XT4)(H,5g>Mi3% '- X[V?2/I47V9L_""3)\J273#.#"+632#"'732654&#"'7.#"#5332654/.54632 2+"++l-'S8  (.C:-'% ' 6   (&-4:@5M;!: C8&+@7%4L7% '- ] '!-!$B*6E*w#fp6'^"fV)Q0!632#"'732654&#"'7#5>5#"#7!#.+B (.C:-'% )> 6T949U6">A% '- c!@.RS-7  )C3632#"'732654&#"'7&5#&54>76723#327 (.C:-'% &B5 2ee , 7% '- \m- 6+ t /+# FQx#f7 ,00#"&546323#327#"5#&54>76723'654   !".R%e 0HY5 2R< 3&M< /+# L- 6+ t82Q#53#"#7!#.+3#!5>5rr6T949U6rr">> :-.RS--7 !@ C##535#&54>76723#3#327#"5F995 2eeee 0HY-b 6+ t b-/+# L>#{8 f"{/X#h8 >"h.X}#w8 "w. X#y8 "yBX|#|8 "|TX[473267654&'53327#"&547#"&54&'5!Ka8Z$:> &;<+6;*34,~{;<dg+$+]K1,L[[12,$L, -) ~876 [0%327#"&5475#"&=4&'533276=4&'53; L+5;*++<7B$*.*/"$7+$L, i++G;#-"&%#w#e.:#eZw#e<&"eW\C#j< U{#i="i8] UC#x=k"x7] Uv#f="f8]".#"!5>5#53>32U 8 =6 P^-;DY287: py#,5354&#"57673#>32#"&532654&#"F C1N.KecDE;'<" x"%0}\k)\S[m.Q+8C%#!5>54&+"#"&543! 2>54'&#32654&+"Q3dE>"9 $3<4="-B:T0_FMZV,:9# 83#25)!3 ; :+\#I?;CF'` +32654&#"7.+>32#"&54!:'>DE;'<  N.Kec#576732#!532654&%=9 #&66!(ee:KqA( 3gF/#g,> !BjHH &51<=%,-(Y">32#"&54&+5632654&#"N.KecDE;'<%0}\k)Iq~\S[m.y"&#"#'332654.#"'>32*@p !  7m-LQ.vi.U!!⺢WAe=B&6*2327432#"&#"#&#"327#"&546k?r  )52#7m-LQ.vi.U!!<3$WAe=B*:174632632#"&#"#"/.#"3267#"&X1& x)52#" =KWD+>$ '&>!Sko<3$3.aMVm*4 4 }34.#"3 #!5>54&+"#"&54;2@,FrI>m6TX9/ $3<[W9G+OQ:%)-V\C, 61#25))AYV'`&74>;#"#7!"3!"&7327&#"'<{VF~<%&;q{\L&##3J&!<>%s':9<&h^IX%-/ .726=4&#""#7!"327'5#"&546325%4>(9DL .!0PSfzV63**(=#"#5 $A U6 7 7-%\k4, >& 9& &C!5D5!Q3 ">%E.3#"327#"&54>7&546323273#&#"^g4K& =,gEJi$/!oR1i,8NM!00614a mX'?$ !Od̥-74"+23254&'5!#.+"32673#.+#"&546 & 7 6U <)  (=XQ+8R B5!C& #<=#^g( &&>32#".#"3##"&546323265#5gP_-;9zzVS)52Rqx#&%Yt ^jp<;P  06;%4&'5!#".546323265432#"&#"#.#"32659,@-ZbJ1:q )52# `W9X6" z6O8,,0IzN! <3$N])@VO(#%0#"&54>7&'5!7654'534'321E9VH=I(, %m{=X!.(K [T(BGPM>!C3.'({(6(2 J#".54654&#"#5>54&#"567363232>54.546322X8&7 .67,, i%9W .%.J#%%4g[8 30 H=r!@)?#rr$>?":-7 7-7! 8"@#"&5<54.#"323!5654.'!5>54&'5!7632 ;:" ! 8qh"8;#7:"^P/h    :&   d6!%=6 8XK8"&#"7654&'53#"#53254./#5>5>32A79%S>5! 6P^-<DKYz  9:&!  'ppy#5673##5>=#5354&#"c<cc0/aa o-)(-#/%#"./##4&'57&#"#54632732673C:Uyp2$$(" e[\ [e'S,MZ5*?5 E,> % =%2654&'5!327'5#"'#"54/5!3274&'5!Y8W"0 3"YQ LH(a ]i4 5(4O5$4458#"2[,"[9$fflD4K:J8(3&%4&'53##"&546323265.#538%; F3N)52# L/3+&tf<;Py#8*567>32#5>54#"#5>=4&#"J@3;#7?%&I*$&&O0!OGS%"/a"+%$"24.#"32>4&54632#"&54632326>+:71N- ,W<=Y-d<lX?U3AHHpD,*?VO)3bb<54&#" &6327>3234."2>* .M,DڴD}- #$5$3,;@/WtW/.WvW.(24:Y(41  'B/%9&86g_99_g67f_99_f'"3#5>54.#"#"&546326324.#"32>* E'_byx`w>MUv(u;';; ;),8+$93H`daTTY&$KK/^>&QU6>L 43254&#"#"'!5>54&#"#"&54;2"`eT #:dB'#;96$3<-TS2OMI06'7!!?3#25)&J' 132654&#"7"&#"632#"&'#5>5>32E#6CC8#C78@PI^yY + 8,P^-;N,gSWi,KYOx]m/'Epy# .72654&#"723#!5>54&'5!\E6D,dbSz%8 :8!@)?#<(#7K/V"4T6 #>7 7g*/"#733263232673#.#"#"&54>54&73#&7 T:S'-l++"+2 9";M5@:4-&$  L4%7@+&8C E6*B$!-!'  2.B@%#"&5#"&463232>324&"2@29If)>7672e 3N)52 ,Y5 2 /+# Btf<;P=- 7+ tQ!#.+!5>5#"#"&549U6">> !6<S-7 !@&25)^ "&#"3#327#"5#53>32479{z 0HYRRP^-;DKYt /+# L- py#4Q2>2#"&5#"#7!#.+ (8+QX6T949U6  (g^s.RS-0B:P373267654&'532654&54632#"&54&'5!Ka8Z$:'0<C6;#5iM{;<dg+$+]K125)4<+H;XO*}876 |1%'5#"&=4&'533276=4&'532654&546323N;++<7B$*.*/$3<y"2S++G;#-"&%#25)v #! 4(#"#&54&'5332>54'.'.54632!9Q]._M0 "0 "5?5$I87 I^c,Lr@CF $4Ip#,!5>='&#"#"&546327654#53# 8(??&A/,o42YE(!&; ;_30J6+!&6#".#""&5463232654./&'53"7632 %= #28- / ?#r &  s<>s(WF*# D#y!8G ( U %2>73!5#53#"#7!3#. Tt3B! a& ) +- ,$!-%2>7!57#537#"#7!3#'. Vtk- [v_}y "#-!7v-M"327#"&54>3!#.+^BW5vi.UXyD1 5$GJYDBe=Bx^&NA',A(/j467'7!.+32632#"&W[/#WR20a(;EaMx u#uH2G<8*p.3#"&54>54&#"'7#"#7!63232>32AH=a-AA-(,Sм .V 7L5LL54$ +>:*?'!*,!=5,D*&1#"("$%!5767#53654&#"'>323#32677z7^uMB9=kWMh/a$$ :2,73ANC?ZmhLDK,%D(%#"&'73264&+54&'5!#.#*#"32D`U=eyMmmMZ"5'&! 9\_xCDpcc5!$, I$+#"&5463232654'.'"547327&+'zj4^ B78 nY Ui{..!)!eH {C+%#"&#"#5332654.=#&5476723#{W:M 6<#./BC/5 9,ee+l**w9H CI&#-#'@)P 8V t ..@5'(3#5>54&#"567>324&#">9be9$4* IGf5V2,'E\9>zfO"&1("3L,>>*=C_CM#__/)f%##5#535#53533#3)22222'v#?'t#@'#@G #-c/ &%#Mc/&#MO D#-1 &#M1&#MQv#f$%"f,D @v#f,$"f"v#f2"fNRr#f8 "f:X#h8#!8 "h@x#Xci0I%#!8 "iSn"j@Xcf63Z#!8 "f@n"j@X#!cj1)+8 "j/n"j@X HB# $%"h7x"j7D#h8"$x%"h7x"Dx-_-#hf&xY# 3232673#&#"326=#5354&'5!3##".546v>j ??a7|)`EE!70;;F3`cH.!ӫ7\m<t,4$4,:1NR &;GNR23263##"&#"3##".547#5367.54>7&5464&#"326.'!2 _1$ S_@ $ .N4E+B8;&+2 #(]b51%&2'&#hO0$:"'*2@S172,3> ( ,# .! )YJ]7k3NF;8 +,8 v#f*&"f7J"v#f.v#fN"[0#"&547.54632324.#"32>5;*'+:71N- ,W<=Y-IL, ($ HpD,*?VO)3bb<75;*'+:71N- ,W<=Y--6L, ($HpD,*?VO)3bb<54&'5!!54&'5!326=4& ,O7 8:::/:: &>77'9@)r5 "?6666*.Na! z#j1"jTQ%_z#if&x#i""iUz#$#kDl#$%#D Uz#(#hH Ul#(#H};z#,# ;l#M,#/"z#2#nR"l# 2#R z#5O#Ul#5O#JUz#8#\Xl#!8 #X*.B23273#.#"#"&#"#'332654.546#"&54632'654*b c<.:DOcXvV2g %bC7DB^]Bgx  !".>2 R""XT4)(H,5g>Mi"[V?2/I47V9L_ 3&-T823\1E273#.#"#"&#"#5332654/.54632#"&54632'654 2+"++l-'S:T   (&-4:@5M;!:C   !".>2 R C8&+@7%4L '!-!$B*6E 3&-T82Q+#"#7!#.+!5>5#"&54632'6546T949U6">> D  !".>2 Rl.RS-7 !@ 3&-T82 C/#327#"5#&547>7672#"&54632'654e 0HY5 8   !".>2 R /+# L- >* t 3&-T82v#f+v#fKB#x$%n"x-D )UB7;2673#632#"'732654&#"'7!5>54&'5!#.+"32673#.+!Hk\%- (.C:-'% )7 7 6U @%  &>P3QA% '- c!55!C& '8>")33.#"3267632#"'732654&#"'7.54632c *.Z010G$`> (.C:-'% %R^u\LT 5A2?[-09JU8% '- Yxdo[\"##h82"hLx"jSR"#hB#{2"hLx"{MR"B#x2n"xSR"#h8#x2"hLx"xSR-#h<&Y"hc\B3=#"''674#"#5>=<54.#"567>3272324#"326B7M{< D(%'5#".54632>7323'54#"3268SX,9N~a3> `FA=-,;$S%1F`8c#  McvL,P?$ E (32654&#"7"&#">32#"&5>32:'>DE;'<79N.Kec7.54632#".#"6324#"326}?9+ >?|d2c ?B10T:;&+L%U=d[ HrGf7.""oC:cx4e/&[ 1726=4&#"7#"&5463254&#"56732632#"&5%4>(9DL0PSfzV63[825)SV**((9DL790PSfzV63-<**(32#"&'732>5&#"` TL\ueVGn$G010Z.* \[ogyVQ90-[_s2A H38@#".54654"#"'&#"'632>32327.54624'3260" ;'&|dI=-L/BJ~T99/4 !"'1?Bw,&'6 @--4Jf0F1- HD61. F+1 3),o)@)6?32654&#"#"&5463232654&#"#"&54>32#")(Z3<-$ .  1#(*# "61AhE*/GgCl ]>3%45 +9$#=<(5A.@E)3[#".54654#"#"'732654&#"#"&5463232654&#"#"&54>32>32327.54620"\ E*/GgC+(Z3<-$ .  2#(*# >A!S0 m!"w,&'5i !(5A.@Ev ]>3%45 +9$ ( ({. F+1 )0%#"&546324&#"#"&543232654&#"326=L'WmnV'L=G//G\-$ . " . $-+)J]\K)+k(8ZX8(.AA%44%+=}MN=&05673##"&54632326=#534M-PL??VS)52eeW jp<>M- .<&m.<"&#"#".54632326?#"&546325>323276=4#"C79/\@2)+7DYFZ^.2P^-;>12$]@JDKY'GD(CHmJx_lpy#+PC "dg& /73276=4#"".5463232657#"&5463273n>12$]@JZ2)+8DYFZ^6=6 /\+PC "dgCHmJx_l$ 7'GD('%#"&546323273#&#"32=4&'53saQ*j*?"SSK&!~r`t&AH(Vl#m% +9#"&54>7&'53>54&'534.'32'p&<=42  !>D'  !:*!ET@XT8("%!0JmmOB7$!(#8) ,.#"#".547&#"'6326324&'32>)g6V@-0 , /BJ~!#~/.,.'/ 5R<+k`9TLX=1- 8a32#5>=4#"#5>5>32879#D,{)+K3,+P^-<DKY-'4 3j"45\py# &4"&#">32#"&5463232654#"#5>5>32879#D,{VS)52K3,+P^-<DKY-'jp<;PYj"45\py# %2#"&46"573##5>=#5354&. RR14PP*7?\66\?M!0"57327#"=4&>  0HY7/+# L!7#5>=4&'534444f66664+56732673#"'#5>5&#"#>3254&#"c< 0)0/# 5%  o 91)( .14#",##5>=.5463254&#"5673#.#"`,+""" b=`!!0*) %) &i32632#"&54&#"#56725)SV c<*P;<pj4#/-4&'7!#5>54&#"#567!#"&432326SV0/ c<>[WaF:(a/32Hu)(# xMZp*80=/ *i)$$&E4&#"#5>=4#"#5>=4&#"567>32632#"&54632326n +B+++B:(*HD>0=/ *i)$K/TTjp<;&04&#"567>32#5>=4#"#"&54632326PJ@3;#7?%&I*$VS)52-%O0!OG%"/a"jp<;&[1%54#"#5>=4&#"567>3232632#"&5TI*$&&J@3;#7?25)SVca"+%O0!OGP;<pj##5>5.#5354&'53, -~-/l !0- / '7%0!"&54632;#&+"32673#.+;2674&#"326uVjsh^ @pY()Y2Q%/(#1 7)'rrWj bD'(%-()E="(XM)7%#"&'##"&54>32&"32>54&543232>54`R9??9R`\Kuu '",/.+1WI;;IWMy=.546754&'53>54.'kcj0/kj0/EQG5TGPQ |aiy k)(hyj^~ w)( zI*PH g nPKxE UJE J&172326=4&'5332732632#"&'5#"&546",2"30E25)QW%4X#:+ &!BP;<kg\5)8O#"&#"#5>54&#"567>32(,2"30PD%4j#:W+ &!\5)&S)"&#"32632#"&54&#"567>32(,225)SVPD%4j#:P;<pjN!\5)".#"!5>=>7>32V 9 =6 L/-;fY87|B:$"'#:"#"&54632!5>=4Z;-/L 6= #'"$:B|78Y &2;#'##5>54&'52654&#"bSzr t(*$ %H?/7K/V""i,) .3%>&"8  3&\>273#.#"#"&'32632#"&=332654/.54632 2+"++l-'S:Q25)M4 (&-4:@5M;!: C8&+@7%4L5P;<dr '!-!$B*6E&>32#".#"#"&546323265gP_-;9VS)52qx#&%Yjp<;P "".#"3##"&546232=#53432$<{{"B$'2325)SV5ce1P;<pj  t %/%'5#"&=#5354&'53354&'533#3'#32765N;++<7BMM$/MM"*.*2S++G;Q1z#x%1^#M-"& '%"&54635#"#53"26545#4&+2`Hl:?ZZ@: hHa[XX[H^ N;BXXB54#53%f*,Y+e,# 0'+v,% ?35&U"%2>732632#"&5!5#"#7!'. 25)N3 - [ "#P;<ft!7vk&%+'>7#5#"#7!36324&#"326c7I * '  /[9m@"S!7*S6WE C&2vkX2A/j4&'7#"'7!#"&432326$SV#0[WaF:(a/32Hu#u xMZp*8&.DU:6D/0CP@F *3_VX6EsW5&%63'%2#5>=232654&#"#"&546ZdP0/ DWK= "[n^|z)(mVMa.*='&2#"/.#"32>3#5>=.546?[" =KWD /0Pd=*.aMVm()z|^n' 4V#4632#"/.#"3267#"&5X?[" =KWD+>$ '&>!Sko=*.aMUl*4 4 |a"y{R) 2#"&#"#&#"32=4&'53#"&5463246321a*j*?"SSK&sa'.xa";k<xt&AH(Vl#m%!~r` b[ $.#"&54632##"&5434.#"5673#"325 RS4'/DOMS'#0'9xS(8C#D/sN7 0#3 N45"32>73!5265h /2# }/ i,)(7 "|''n 173276=4#"%"&#"#5>=#"&546325>32n>12$]@J79)5$DYFZ^01P^-;+PC "dgKY=  *Jx_lpy#'-23##5>=#535232654&#"#"&546ZdPff0/^^ DWK= "[n^|:1)( 1mVMa.*='.2#"/.#"32>33##5>=#535.546?[" =KWD ^^/0ffPd=*.aMVm1 ()1:|^n%-<%"&#"'5##"&5463254&#"567!3267#"'54&#"3268*WY]vY:0 V=LE-k0$V?(,;B1= =@]\+k(E(0(M%+'>7#"'5##"&5463254&#"567!3632'#"%4#"326%54&#"326 c7I * ' *WY]vY91 V=L9m@"0$E$6Z7*Se?(,;B1=6WE C =@]\+k(04 A(76723#;2654.546323273#&#"W:\5 :]]3#./BC/S9=  T.0FE0w9H-T t T&#-#'@)8B {$1#&< "-4".#"#"&546232=#"5#'>76723432#32"$<"B$<,<\5<p"Bp3 n&%Yt@&%Y8-V tUU CCL%#"''>7&'#"5#'>76723#32>7&54632#".#"6324#"326}?9+ G 2X\5<ee3  |d2c ?B10T:;&+L%U=d[ HHq-V t S  (/f7.""oC:cx4e/&M".#"327>32#"&5463232654#"#5>=4+!5>5#53>32A 9{e"3;#7?VS)52I*$&&=z =6RRP^-;DYt O0!OGjp<>Maa"+P87: py#55673254.546323273#&#"#!5>54&#"c<0iQ/BC/S9=  T.0FE0V;/ o)?-#'@)8B {$1#%<(8@(#!567!32>7!5>54&#"#"c<K'. / ݊, ok "#(#P/_77.'537654#53#"/#"/&'537.'537654#53#"/#"/&'53~3; *2 PP  ;I  Ru3; *2 PP  ;I  Ruzw!ir  $ yzw!ir  $ e%#"'7!.#"'7!.l((((V6%326754&'53327'#"=4#"#"&5462K3,+ Q""E,{21;D6# j"45)  0-'c<.*?,!>%32754&'5332632".5<5#"=4#"#"&5462M85--21;D6# :X|21;D6# j?0#!1Bc<.*?,!Rc<.*?,!1'#5>=4&#"#567632#5>=4#"[ 0,+4P 1#w   3`h^?/,"&#"632#5>=4#"#5>=>32 $%+4P 1#% 4=&`-6h3`i_?&x CH 567#"&54632326=4&62"&4S,9n"     $%.9"!"&#"#5>=4#"567>32   0)(w~*7 %R3 -(2326=4&'5332632#"&=#"&540      14S# 0#$ @>7 #&"373#"+5>=4&'534&+326WE ?J2;3&+ !;}`4-$h &1.'537654.'53"/#"/.'53  z 18  I U 7C  O l 9!   '+72654/&'53"76545#"&54632d% E| D9 Q [/ J /  A7    L &#"32632#"&54632"&'/4=<*%#-*;4*> D Z9L #"&54632#"&#"32%*<=4/'&"0 >*4;*-#f632#"'732654&#"f*99*!"  ;R: ++W]Mo2#0512654&#"#"&546m5N<02)4-% 7oRB9JUB3/:   %o2#"/.#"32763#5.546%7 $.4)30gg B#'37B}>|"yzggd" #BY!! 7Y6]= #7632(  #'&54>;2( a d0#0503022 gBqD2 #'&54>;2( a 3 7>;23  aT3#73n77n7dhdTh3Tn7dt 2#5264&#u*9;)'':*):"&6'u "&5463"3*9;)'':*):"&6' 3A 7533!56i66 /A7#5!##7666%4'6 %##5#5353'f6ff66ff6ff B7!! 763 3#"&'3326|8Q 50,.FW2/(v n 2#"&546n(C  2#"&546"3264&);;)*9;)'&'';R::*(;"&6'&6'@[#"&5473325;*6.,IL, .+#"Kr3#"/&#"#>32326.0) 1# 4&$" r91 .14 y#7632#7632(#(# a ,C3'>32327.5462#".54654#"9/4 !"0"AAD61. F+1 ,&'6 KKP '77''_``_``` )&2#"&54>7'&'53>54'534'32(? $% U z( '_n' "2p*2'42"  P=,J  !567#5>54&#";$  {  " &/273#.#"#"&#"#5332654/.54632  A2#.    "' .$R( &! - ^ '!) /3>54&'533#5>54/3#5626?'&+53  _$/L y 00 W E5|Ev  LJ  cN$ "(\ %2#"/.#"3263#5>=.546&6 $-4) 0;237>;2   a aAL{9Q 3## b66 #5#56b6 533 6b76 #5353b676 8D53!5366vv 8D!!53C66 B!'7!B<bb<HffHjieg{#Yh#Y!!"Y6w) nx nj #>54#"#"54632",'#  -!05 1(  *#'3yD|fBt0#0503022'&Rz'&54323'&5432Κ#t#a a 3#"&=332>'4632#"&7:P_& NJa"!  .#"#>327.,05 Q8|9(/2WF Z [ \m"#"&54632'>548&$ R ,&<)/Z ; #'&54>;2<( a  7>;2  a#5353#666#336676v#5#5v66M42654.54632#"'5G"0 & #&/K53i% #9/5J"x&#"327#"&4632 "!*99*E++ :R;533!5666#5!##76t66 ##5#5353Uf6ff66ff6ff=s!!7ɍ6c.+5367"&5462326590 -B."  !.- .1327.5462"&=73 ".B- 0 -.! U" 4632#"&y! qV 4632#"&74632#"&qx! !  4632#"7"3264&9*);;)**"!'&R;;R:++&6'0#"&54632'654  !".>2 R 3&-T82)z[z ;0#0503022x ##5!#676vy,32>3232654'&5432#"&'#"&54632    ,K9(AKF%=)2))2)?<X5$*6*$5Y~&#'37K}>|"yz3gg~#'#73K"zy"|>gg%3#"&=332>t:P_& >NJa"$.#"#54632e &_P:"aJNt;3#"/&#"#>32326_ (2'4.#[) .(= 8n!!7ɒ6p!!"Z6!!!!""I666({%3#+%!!3+1mP-1n'*%({632#"'732654&#"*99*!" M ;R: ++53!53y66vv5#'!!62"&#"#".#"#"54632>y!/, " 5 % (O/#+#$*$  8+)(, '77''e_``_```:4&5467'64/; 5446 55/& 7%#!!5!!""Y66ji &V{  [""&462''>7632"&462<(( 1 ((A(( T M2((#"=33265Q]JLXOc.N}&P&3#050#3273326H0)"C1# 4&!>-91 :Q .14 6N "#xK#x{?#{{G '7!'7!'7b:;bb;7:fHHffHH5'7'HffH<bb<57'5HHW .#"#546324632#"&7 &_P:0"aJN !a57'5HHW'57[WWHH 73#'57'5r"r$__ιHHW 632#"'732654&#"*99*!"  ;R: ++ dnxsG46=#"54>7'.5463254&5462>2#"&'#"& - )    + ,"  '  )         0 + -   ., X".#"'#"&546326324&#"326'.#"32612(71<#(3(9:1#'!3 &4 3)?G,1#)?)F0<5(%"9"6(33#7#A#9?'d_= #"&'7327qTAsn8>M QQ #"&'7327qTAsn>M QQ$O!!<O+r!!7#"&#"'>Y.q$(.TC-q(,6"1O@  N4@!Q2  &#"'>32nsAT QQ M> 5!'7'7<bb<HffHy*54>754#"#"&54632327#"&'#"&753276&!   *#  $k*  "#   !#S  > 3267#"&54632'3.#"'?%+2(? W&o3*G3,09Nw"57#5>=472#"&46 B e    c{  n 2"&54632654&#")57Q55!"6*,<8+-8O.?)$,7$"5#"&=4&'533276=4&'533u$ >  D  %l  d  g4632#"/&#"327#"&8%'  %!!3#.S/:  )!%/)C5('5#"&5463254&+567;#26=4&#"!#,4% ) f 3).?C   c+%'/'#5>=4&+5767632#5>=4#" \ #5Z g  $DU  U->567>32632#5>=4&#"3#5>=4#"#526=4&#"" !%1 ^  _  _     $$LX Zl ]-y  l  "&#"#5>=4#"567>32 g "  `  j 'c#327#"=#&54>7672, &   {& 6 2#"/.'537654'5 73 T,* {!  mn 1>54'533#5>54/3#5>?'.+53 C #7V '! > 1( Yw  3T<5  G=  - '>32 @2<".! #"&547 @2<"(#"=33265(]JLXOc.NPs+0< "XJj"B`"&462"2""22""2""֯!w"֩#"֯%"+^M"֯0F"֩4} "D$Q% "#.+"!5>54&'5!"+)( $79!6%,6"';5!v)3 v6 # U( U=+. &6 4."32>#4&+"#53;26=3[2oo0&5N.8\8\HeeH*UP>%9[j-#(*!;,".!!#532>54' 3#5>73D5  1O*=H   _0 1=; !-#4&#!"#5!#4+"#53;2654'3!533!26=3;&/0b; %bVC"&/,'4IB""I[1#"2)5>5!!5>54&'5!:"6: 87!"6&<5"&<7 6D5"32) !#.+"!26=32L dB IS]1#)LI@RMRZ2#Q7)=4.#"#"&54632>32#"&54654&#"3!52>53)&$"9$-N7% #7K,$9"$"S/+"%KyI2 )!7 %324+5!&#"6324&#26"a^S ,' W q!8IO(T *1# 3bT4jkU^bYcZ55 (/^xl+J3#X)11U7Uc|mm^X ;LQ4.'53234.'5!27>76;#"';!526=#"&'.546U 4%$/+&= ZA"+.##7$?`;+ ;"#A 2n%($/  ?P^SC Y@ BQ^P@   *C;Kdq &%!q"U: 8!-#32673!5>54&#"!53;5"&54>32ɑk$SbhczaTk7^sBDvh<l9(VhdW(9lEi=:k;)#"&462"&462!5>54&'5! ((|((;&&;):((: ((((99 8D8  'P"&462"&4624.#"#"&54632>32#"&54654&#"3!52>546((((/1$"9$-N7% #7K,$9"$"S/+" ((((oR$ )!7 %.9 d:Zks\AJ  T#+<-$2 9,.<ku#!8H\^cG{r<B~,UF0LD"+OAOZH79%#"&'332>54.#"#"546232>54&#"#4>32gW,G8'4 / &)$ 51#/R,R9HeTcXt0)'@K&:9$! 061J!<5"dU5\U1IEd/ _ +4>54&#"#4323>5>32#"&t1K-*&^^5[9 ='/?bB\\tn |H*+,%3%#"&546327.54632#.#"4.#"32}db{xU( =,/>15YG*(0GTG0]@0@> :'ya}^Rs $,/8C2(6)&;AdM-M:T@#EC))6%#"&54675.54632#".#"32632#"&#"327+CgG/*EhA16" #*(#1  . $-<3Z(lvE@.A5(<=#$9+ 54%3>]'>?#"543232654#"#"&547.54632&#"632#"'32632yIC'C5W9 dSn0[N1 (; @W#Q&6/.12( ( @<-FO&)7ch8*,)$0?3O1> . ##4#"#4.#"#4323>32T>U*[$ F='4 &c@gd",,D`27%3)".54>2"#2>5 .PhP. 0L`L0 \-:-U0WbG//GbW0+VZD,,DZV"!*M5775M*; %#"&5332>=3 /97/To;>;9Y # '>32#"&#"3#5254.'#4ȷm*+0f%,06?H%-\>O'^?AKQ-&)%#"./##.#"#5463232673C:U $$(- b [e'4 *5*@" &P/M?^o^?83;O/hN.". $4K&P][z\2D)$bxoM(455$ / !-5 :M2)!H?7^/4M68$''+3*.2?A(0A&#- ,R#(0+32653#"&5##".6'3325#"#>32327(*6*i21f R24  BP11#< EN*@3A#$%$0L-,#*%#"'#>54&54>324.#"32>wfE6 T1V8ct\ 8&| :%!/ h+ST/ " 665_P/$IN1"IE,!89':2654&#"#"&5467632#"&#";72632#"&54632E)cI`U52L$;"C6 O&6 "D,#. 0*!~an(  .8+=V!3(6@-") "#"'#"&546323274.#"32 5/"*2x]b}~h~2 ;*=4yS _4^bh (JQ1gD %#"'3253#"&5&#"#>3232740: (+=00;%%"9(w(+6+!=9$#"&54654#"#463232654&54632HP#0(610$2=F=?1XI$$9\:FO4|6@g@($ )42#7.54632.#"&54>4.#">(: zhT4L<+TK'(-)QQ $: +]\i'@A"l "4_=V!iKdB,FV@867"/-#"./#'.#"#&54632733273 + +Y- 4$# /{W"+Y+9Byu$N#)?)?>F+S }C0#7.54654#"#54323>54&54632 ^ _w!2d/2D?EV3 -X h^s8_O1x?G5 rH( *";lgF)@%#"&'##"&546732>54&543232>=4.'5`R9>>9R`j]*  #",/.+1!+ &]jWI;;IW_#9(  8&(0323>324#">4#"32|cqn4'R$5Nkn!%fBawP7E^]F '8 GAduhOh#"*?Rm>Ji;)dB1k$>@%Dn93@#4##".546=4#"#4>3232="546322/.#"9A3D *'#"-"kQ:$2' &$BU!!"@B.LTV#*;:+ 2 &22Ѹ:L88XF9 !b=#"&54654&#"3!52>=<54.'.54;2>32b"$"R/+" /)"2kQ! (4 $9? 7!) K'#9SAA.  LB',!*B*+<#\־bC"\j+ U@%#7.546?34&'>UoFojjTZPJXPZWJlzzlg~ss~gRuc|tSM| J##"&'##"&5467#>3!54.+"32654&543232>5m66`R9>>9R`33#* K)] %$ #1,/.+1!+qBWI;;IW@o/S 5!# "2! 8&(W6"t88s7V*L6&!nF%#"&5432327#"547#"&54>7654#"#54>3267>32327GK$< 6 f%W`* #"? &Z5Q$]?2 Dsq p'&H+ "%?6j- 4,!"1<67OM6iKF3"5463232654'.'&546323273#"&#"id/K H_bY_^n/  -;JOZTbbR 9&=- KGGLs ?<fN(/83+3&Yc>2"5463232654.'&54>323273#"&#"NJ)E4MPA &X<X% */:GV=MN;'6' 97AxW1.bG+'!'OX+'. #"67'.#"'#'>554&/  +3!!;9!:*#=   H!5!,? 7 1#"&#"6323273#"&#"#"54>32327 (/</ ;H' (/ 6#$2*$N:W& 2-+%:&=Q2-3% *68fP;9:!>"&54?654#"#!>?>54.'&546323263![P# $ (&.. !I## +% . ?,"7 %0C& F$%4 &0(- ;: 3!>54#!>?>72"$8%%W_Z-&( ;7 &08+  %0:054''&'"#"547.+"&#"&5467>3232#>*w !A" %a J$ ~F;BNH* ` ;  ɟ>14! J6"#"'632&54654654'#"54$54&'"547>7.0):M%    g$'Z]4!! L8$ e5"JIU,g F)B4N .PH-+5!=%#"547#"&54>7654#"#54>3267>323273 !W`* #"? &Z5Q$]?2 +'&H+ "%?6j- 4,!"1<67OM6iK) !2%#"&'##54.'&546324.#"32>wfDh 39>8.+EKN0qpct\ 8&| :%!/ hRA#39D4. 64gu$IN1"IE,!89)%#"&54632.#"3267=kb}~hd=;1t - 2=LVbhV( !+F*!))L!#"&54632&#"3#327K)b}~h  q'" bh  &4&# Us"(C$f >4632"&74632"&4!#.+3253#4&+;2673!5265&&-&..-%6%"A!&ƱZ(6!KI$8@#&$$#"##$%F, , d52=G-F&72654.#"!5>5#"#7!#.+>32#"&54632&M*X8#.">> 6T949U6*54&'5!#.+"7#7632!:9 7 6U (#m6!#>5!C& z y!46323273#&#"!!327#"&>t!  7h/#2D< vi.UE!!⺖,Dh=' e=B*6;, ;+",j r-0;%#!5>5##"&546322676=4&'5!3232654#"3ST,:%E.)< ( ,:;#EBd:# e`"3K&"?4suL$#b6!7'60IM3>%#!5>=!!5>54&'5!!54&'5!3232654#"3ST,: 8:::/:;#EBd:# e`"3K&"?5 "?666!7'60IM.%!5>5#"#7!#.+>32#5>=4#"d">> 6T949U648"7?%&I*$m7 !@.RS-1 OG%"/a""s>G0#"&#"3#'.+!5>54&'5!3267>32%#7632$> C1(X  :; := 7YI1X(#\"P?]C' &7#>5!7YCY;>j s+4754&'5!!5>5!5>54&'5!%#'&5432/:: 8: 8:::("0'66D5 "?J%5 "?66ae/<732>7.'5!654&'53#"&5463#"&'3326  &0u)73+KC(7c|8Q 50,.oc7>$9*7 =gSE#FW2/(I))0#054'!5>54&'5!!4&'5!"8$::8 /:8 : 6?" 5?" 5D6  3!5254/!3#5>73&'H 4=I!$z,0w .'5Z'`%4!#&+32#!5265%4&#"326%<~FHm>' o;&]Sa##&K];:'s'6/Th&4.#"326RA<2D 5pPB"#ACf;$ s^G!:)4#*T9,'J[1W .7'":;".EF,%3.AR <10 R*_4!#.+!5265)9.CY,8<&@8$5=$(: @!*4!#";#.+"#5>265#):A('#3 noEL!% 8V-" n;8)$/&0-lT',1<bo!$$(4!#.+3253#4&+;2673!5265"A!&ƱZ(6!KI$8@#*F, , d52=G-F\%3!526="#52>7.#""&5463232754!32>32#"&#"3#.#' 3/") )D40>" -A(0'>G<6 02.7+ (6<,2*@-!>04E)f#!08W\U\VC%!B_^B/!.#9DE9#%&@S^S\Y9.  .4.#"#5332632#"'732>4.+526f8,i1Ro!/$iJEg,= &K4g^!7-dO! $?'Xm a41600!M#/%265;!532654&+5!#"4&+5!";!5/! /(*+, 1OT)*212!2-.]++(3/!PZ/$!/!.-#y'w#;"32>76;2#"&#";#'.+;!53254!H+*/E) +Q[&C 5@)T*?B. &7&RV225%0(BDH98$!< Y;Z?7(KU0"%72>=4+5!"3!5>5##"54632#W =3/*85/V";D6[^3P!,*'!.!?(+$4&'533"3!5265##5265'=B""BC" @C!&;7 ,F[F--F@EF+,G#+%>=!3!52654!"!54!"3!E!#BA""A4B#R!E6B"#A*GF..EF,-EH*,F[F-% #"'&5476 2654.#"SNTejiff fgf{ 1R4@\/xY[48ghjjhh**RYB+=df7#"%265!;!53254!#";!5,+S03 1%T/,,/V.#+)JI"#"'3!5>54!24&#"326I|b=H$CB !A%{|[B$&4!CONnF-+FF,kYHV Q)"23273#.#"3267#"&5463Q1  U%EE2 6WW,M"d.bb.IxMV~@M; ɔ7265#"#7!#.+3!@#Y9.] ,)]%@.E)%/F-$72327.#5!#"654+53#"&54A$(1#$ CŒ; F)?{(1]-H0%' R$ )[C!2'?(7G4!32#"'3!5265#"&54>34.#"32>%327&#"}0325.0Sz>.*9:)0 y+AjD#<@#7P))P725'L." ..LL)o1&%2p!?@0;V,b)DF%%FD) -K5!"7654#53"3!5254'.'#5>?'.'AEuD%,<3o# "C\B%A(4>2& 'B<0$ %#"$30I+%@-%;#.#!52654&+5!#";2654+5!#"%2 nn10()1&(!!P1/!p5)lT(9-"*6(%"O***4!"32754!";!5326=#"&5u213;)2?Af(<321T+*x]bMM-"('3:).)"2M'39UN$>6%3!5254+5!";2654!";2654!"'2ZP 4#!!+,4#!!+,.+h*,OU-/7%-/4(%7$@>:.#!5254+5!";2654!";2654!"3,nmZP 4#!!+,4#!!+,.+'2mSOU-/7%-/4(%7(*,,7>5#"#7!#"32#!%4.#"326B @', ,);[>4gF%P9!#)J\,E2'(:$<=#<<%,0X&,@4.'5!#"32#!53265%4.#"3264&'5!3!5>5 0T;Jq@) "5[:)*]":="#&L\!G,50U:\>3gF/#]%=9 #&66!F4 F#><#<<%,-Y,> !B"2#".'73267!5!.#"#7332>#ӑ0X;4 bw-lT  4Q%1# +eb.&,&>"367632#"&'&'#3!5>54!4.#"32>R6*_`efT03'91/00,_)86.6+%(BF'6<-&3̓bcϔfgZLQc-,$0/#JsF- 0DiAYB )Bt$,!#!5>="#"&##5>?&54>3&#"; 7 ?@ !  0I/3d3)$DW-C[F++F;:-:8"W('42327#"'#".54674&#"#"54653276Z='=3=WL+-~<"+',do%$!@U0*LTT7+>\0^:%  **5?/,! 1!-"&546763273#>32"32654&f}SS,UH5VZ7G< FM*/B5&EEh0K^:.NSA'?w_;O 0W8jKLNeoUae(4Ȕ+5>574+324&#"32>h +^`Zu,# >J(#3 s'$5DM['*U|&8 $.+3#52654!  #2/ !.T  8'),&|$4&+"#5>7654&'5!"3'265#?Ix 0 .,JU|0L|5,"Z`)((4E!]j 327#"&54632!7.#"c!G.a$^MXlp^Oa5-. =J4kIhlpfT'7@+"Y7.#"#"&54632;545"32>32#"&#"#'&#"#5>=&#"#56?6 % (1,$%(#,1' $  6&'$0~e)' e}0$&+ 2.$ #+=>+q)!$&q+>=+ B QF@8&")8@FU%4&#"#7332632#"'732654Ȏ7*^ D'MZ{lRiJ OM.==G0Gh)2@5Ri>KV =;0)?,+?4.'53#5>=#5>54&'53 %%&&&&%%%"/$"/ /"%"wa82>32#"&#"#'&#"#5>545"%0/$"$  % 3"{I, -$% +==+  (3&$S"$G$$*'#.g#4&'5!"3#5265##"546323250- '&."89@ # /l+$))1%'5BqW8##453"3#5>5##5>5b**I) &,o('_(5I#$%1#&-*"3545#526=##56545"! "+#&(*I+,ss* $%- #&'!H("-%#"'&546322654&#"FGbYDBgYDB9FWE2LYgOODBc`DEfSdSbd4!#5265##565b++#&(*Is)"$&- #&U'!H- !14&#"'73632#"'3#5265"32>54&d FZ'6+FFXC.%12!?6%--LB0&7jj 0V5sGJ+7&&7B95)P7Vl327#"&54632#".#"jXJm"o?\re$;"#$;H]pqWdem%+%_.+#5265#"#7! K&%-K T *')N ||,%232?&'537654'53#"&546X 5,%!+  qM.~(R9)od(gJ$N *Gi]$-w*2;;#526=#"'&54763254#"'73632#"'27&#""3254u$%&$+4A0100B1. ,4E]]E2.+)"`G$('#bv* !/.FFigFG.3=.jl. +O,Z,+-37654'53#5254/3#56?'.'&*0$4?1N39+BU,,9YO,! CF ]I{R7/i~U{/%`#%#.#!5>54&'5334&'5390%%&%&@`% %"/L%"//")45"327545#5>=#"&5U&'!/2:'*,(&B`A)t%%$&S){&$#&($)),?74&'53"3!5>54&'53;26545";265z!#($" & ++!]"!(#Vv',9)*%"',#$ )--$:%3#&#!5>54&'53;26545";2654&'53"(& +)!]"!(#V!#(b/!|*%"%.#$ )--$$',9("#7!"32+52654&#"326/2#8GU_p,"C, 5D ! |(/`!*8R&#U5, 8%9"32+5265454&#"3264&'53"3#5265 3#9FXC"(P''&(ZD,!6D,-&&&%'0`!+2A ,+5, :*%(('')"32+5265454.#"3263#9GU# (P''&(Y$#!!A8'0`!*0 ,+) @#5332632#"'7327#53&#"J  L!Ywx[hMDQs #Bilh P/&4"3>32#".'#3#52654&'57"32654&-qw_]FI_4R- q%&&&$(6B%7++MS$,oWhiJL)9H1('-!cQGh0Wdf &7>=##532?&546;#;5&#"*(t rzSb% $T?H7/),i""V/K%3. V&>8$3267#"&54632%3.#"7#'&5432a010G$nGVeu\LT *.Z("?[-09QVygo[\ A2La  .64632#"&74632#"&327#"&54632!7.#"b&&!G._&`MXkp^Oa5,(4}%%=J4kGjlpgS'7@20 '92654#"#5>5#5354&#"57673#>32#"&54632UI3,+pp ]ss#D,8AVS)52;Paa"45" w"-'OFjp<#.+#5>=4&'57#7632} -v%&&o(#}7!%"//"2 %2#"/.#"3#3267#"&546?[" =K S<+>$#(?$Sk=*.bM%FT*4 %-&}bn3\VLW"j&M+97432326=4&'5!"32+5>5##"%3267654'&# # & 0FV iu&K1B0&+B +o8/" O -3Q"/:xn (@3A%+5>=##5>=4&'53354&'53"32%3267654'&iu&%&&%& 0FV 0&+B3Q"/u%"//"%tb/" O ) (@ 24#"#5>5#5354&#"57673#>32#5>5K3,+pp D/ss#D,{)+,j"45" w"-'4 3&i/&jw,&wT~'%4&'53##54'#5>=4&'53T&%% (&&%%:/"%%76 ["//"%AD4&'&'5#"'#"&54>54'5732754&'5!32>$Y!&!9#!T)&9`=J&!@)=%$T=`9&4r '  ! 2bEۣ6!ۨF^1!  )w3%IN;&89"4F&;NI)/43232654&'5#"'##"&546732654&,/...10*AYncOnnMel[%-a-0I86?Ndqfae]_d @92O> 2254#'.'5!3#.#72#!5>5"#7, Ů16"8WEBd:# 1RU.6T9K"&M3'504J& 32N/:7>5#"#7354&#5673#.+32+7#6254&x 4,  w 60GW(P5 K$m)3|_ # |  -+(ڍU7*B%#"&'#3!52>54!"3>323273#.#"!!3>7+Si#B%( C4C"j;M_F?s!   0O3k|/"2C=!"0_.q=AF. ! &H*,DMwB* !!#4@#}.Ch<' 0,;%>32+.#"3#32>7#"&'##56545" L<^=K Q?),[>YcX'I*&`n:-&)"`M%BX UG`~*E)!"'w  #35>73/#325426=#3!$"%#2M+2K&)L8$J!:BD#v0..0)1%(35>7632/#6?4>=#3  x) .' !  #,i)S&"A1.\ Pr\; *zu9i @C%26=#654/#4&'5!!3!5>?!!5>5%3'$&)L8#K)2M+ 8 0W A!78 ȜR0)1bv0-14  m'+"3"#?'3=@45"37632!5>?##565%>54/>=#7'b*&I x#6 ((I# . "-*(t)!"'1# M% eg*Ei\4 rzuii8@%26="#52>7>73'.'5!"33#.#3!!765[20 1S"8/&8 fF1(8$' k!"" "6,Pq'2 ,+O#BEa#iE2% .2"k0AJ&+5!#0"#"#;#'&'##5>='#"#56?636;?>=## ,2  '!$0~e(' e}0$&3(!\U ' 9N&%;@6)* 8@Fa~ KS%26="#52>7!!5>54&'5!!'.'5!"33#.#;!!76520!1S)F-O!!78 8F1(8$' k!"" "V Pq'2 ,*O;M.3"#?4 #iE2% .Tk0Wg45"!.'5!#"#"#;#'&'##5>=&#"#"'#56?67!#5657>=#Z*&rP7 ,2  '!$0~e(' e}0$ 'IBU t)!"'w|C 9N&%;@6)* "@;:*E7i~ 1@P26;#".546;2327654&+52654&#"#5332632#"3#"&=332>S +%EC(OT+I#cRad=9f5PrFWLiU/2!+0$-c@-2'/K6'="#(;& APC 6&40qS? 4&#+o    8/  A!'; q'2r>2hn(2  C[]\+Y  @^?% ;, % }H&4632#7.=4&#"#54323>54&B ^ au 2d+2JQ3ih]_G9 : uE% ,2#"&546"32654&#4&+"#53;2>53tYbÓđcec/ Qfǐ h!&* %#"&54632#3265'"!._azzcdxZl9>6A Gjchf=XDKg!"&#"#.'5!632?    ]&5)%'$" c;7>32#&#"#3 "D #R!Wz*mCJ(i"=6;v' 'Z%5 B#"&546322654.#"%2327.#5!#"654+53#"&54Vcˑhy 1R4@\/{A#)0'$ AŒ; F)?{&3Y^fʛ&+RYB+7.# Zi[[@8GRJ??G qM. 6(R9)'' ) e`ZkheT^e (O  !"RMGj\1=g+"%52#"'.54>7>>32>54&'#"5gY7=a6iY75Wh5(6(hM V\^Z 5Vw !6VMJX8Q-@qG yz-2#"'.5467>"'>32>54.'QjeC! Me\A! %7 % %(+!  {Zcz X^rf L4_~(]B+F; AS[#"'#".54>54'5732754!32>54.'5%#5!53+BqG%  4 GqB+! #$!%:`=J&&;)=%$T=`:% %(!P P*]nU9 $%9Un]*Eb2 !  *2L.&IN:&83'"4F&:NI&#=-)   !1^NnBb)5=732654&543232654.'5#".'#"&5467#5!53`///--/10&ZmaQ"0pOcmZ%-tP PP= 86=P_m $8!$c^)(]f?:?NnBbASp4.'5#"'#".54>54'5732754.#5!32>'.+#526=#"#7! $" !+BqG&  9$IqB*!  %:`=J&*")=%$T=`:% K%&*!K, .K3)  ! 2bE*]nU95 9Un\+F^1!   )0C(&IN:&8 "4F&:NI  @(!#,<)3||)2O%4&54323254.'5#"&'#"&5467326.+#526=#"#7!C/-..a&YndNA6pNdl[%-`.0 K&%*!K,  96?N '6!"da?D_d @92N  @(!#,<)3||g+%27!5>=".546323273#&#"ze';A ?l*T\E-Ɖ?s!  7q}"2F=e9*F.!0IzM!!⺧KsA) (%#5>=#"&546323273#.#"327,+0.[xzV!L  !* C3QD0"2 km~&5mhP )|7'7'77'77''_6]LU6hqU7ZXb5u)@.w8@=/@4w>@C q#5!53QP PXNnBb#'>32.#"JaW6 -Y3L'R-8D9-* ;M #53!=98~Q138 !5!53#~89Q83|Y )7ESbr""5462#"432#"&""%462#'&"#"2#"&#""542#"&""54#"&"#"5462#'&#"#"5462%""54632#"&V 0'1" F0 x2 0 #  0 0 n   N< &!! &B: & :  &  $$  &     $VQ (.6;"5432432#"%432#"2#"&462#"54"542#"5432$"432I221$1551F2112x22112#dd1221f15!1221u421331#2142112223002"d#nw3H%;#'7#53265;!532654&+5!#"4&+5!"$2>32#"&54632!2z&Y0 0+''0 1OT%.230F0RifUm.-'k--],*,.-#NX-&"-(/(*@@)(/n*?7#526=#56545"74#53"&543232>32|Y&'I-&B(!!)z>c#% % fkk (*E(#!)D)+#:+&#*##*#*= .32654#"#!5>5#534&'5!3#632e`23ST,8AA9;#DD'Bd:# KIM3K&6|6>!!7 6v'60/703267654'&+5>=#534.#53"3#320&+Biu"99770FV ڍ (@V3Q&66& #-327'7654&#"72'#"'!5>54&'5"G+U'U`eN-TS2JO'Z5^'#;98OU&U!2MI3&J4[6O&Z7!!?6'4327'7654&#"4&#"567632'#"&'#5>5E#%e'_C8#CT ?Q@PI^GW'Z-4 + 8,N,e&_0EWi,# MOx]xJW&Z/' "!"!5>54&'5!2673 !:9 7eU6 p 6!#>5!&C##5>=4&'5!2673}%&& - %"//"!7 " 3#!5>5#5354&'5!#.+"ɓ!:9>> 7 6U N66!#>6i5!C& !#.+3##5>=#5354&'k -vNN%&11&}7!{6%"/6=/" &E82654.#"!5>54&'5!#.+">32#"&54632~&M*X8#.!:9 7 6U *5!C& -"=`r8Tp <&3%4#"#5>=4&'5!#.+>32#"&54632326dc %&&k -v'1+0Dj`#;2%,; p%"//"}7!0 Kg;s <$i%#&#'.+!5>=#"#52>?>7.'&#"#"&=432;54&'5!3267>32#"&#"" !9;   XE >$X1I]7 := 7]I1X$> EX*;".9(#>+ ']?P">;YCY5!7YCY;>"P?]E%]4632;54&'533267>32#"&#"#.+'&+#5>=#"#5>7>7.#"#"&0$0):6,:)0$)  ""./"+,s" !*6 "s"/.""  )&FFt'  FF&+51 :_ {84  ' _: 15+%D#7332632632#"'732654&#"'7.'732654.+53254&#"` b*He229AfO (.C:-'% &Q+iv/X @002:.#&#'.+!5>54&'5!3267>32#"&#"X*;-  :; := 7YI1X$> C'E% 7#>5!7YCY;>"P?]#:"&#"#.+'&+#5>54&'533267>32) %"26"+,}" !*66,C)0$t+51 9b {84  ''  HF&"@353>7>32#"&#"3#'&'#5#!5>54&'5!"6%8 I1X$> C1(X *6" :; :=l~L1Y;>"P?]C' Dp7#>5!7;#"&#"#'#5##5>54&'53353>32) %"26"n6,666 ('$+51 9b Aq  '' kU:,("C3267>32#"&#"3#'.+!5>5#534&'5!3# 7YI1X$> C1(X  :;KK :=QQlYCY;>"P?]C' &7#>|65 66>#"&#"#'&+#5>=#534&'533#3267>32) %"26"}" ,6??5BBC)0$+51 9b   '6%  6@HF&#?#"#7!3267>32#"&#"3#'.+!5>56T9;# 7YI1X$> C1(X  :;l.R!7YCY;>"P?]C' &7#>I;#"&#"#'&+#5>5#"#7!"3267>322) %"26"}" ,6D- 9 C)0$+51 9b   'K!7} QHF&/%#.+5>=!!5>54&'5!!54&'5!f:>Qh: 8:::/::6H9"?5 "?6666/!#5>=##5>=4&'53354&'53#.ze&%&&%&%&+"/u%"//"%tb/"%/"{840!5>=!!5>54&'5!!54&'5!#.+"f 8: 8:::/: 6U N5 "?5 "?666C& /"#5>=##5>=4&'53354&'5!#.#%&%&&%&k -%"/u%"//"%tb/"}7!&@26754.#"!5>5!!5>54&'5!>32#"&54632&L*X8#. 8: 8:::*5##5>=4&'5!>32#"&54632326gc %&%&&%'1+0Dj`#;2%,; p%"/:%"//"%0 Kg;s < :K"'32673#"&'.546323273#.#"&5463274&#"32  )R";gF[k7s 1J/v kU@Z%?'8!  3 V._}!!$37.O2, |NpA_fe 2 LJ0=".#"632#327#".'.54632254&#"n#$?D" ?=z[!1a$bI%5,%%Ib-D!`r1*0@"G%+%cHP7D:Tg !kLd'J0oUq& ^.DN>')y4327632#"'732654&#"'7.546323273#&#"-LQ.viY (.C:-'% #@p !  7mRWAev4% '- U!!⺢)92#"/.#"3267632#"'732654&#"'7.546?[" =KWD+>$#6 (.C:-'% &Nb=*.aMVm*4 ")%8% '- Z|]nQ!#5>5#"#7!#.+#.n> 6T949U6:>!@.RS-6H9%#.+5>5#"#7!#.+&+,eD-  -Dc/"{84 L!7}}7!<<#%#5>='.'53654'53*0/h# fc/H)(N$ 2-33#!5>=#535'.'5!#7654&''8+ee$CD!llK3$ .'-B 69!Av6j2<)3##5>=#53'.'53654'53rrr0/qqh# fc/e6)(~6N$  :!#563654/#5>?'.'5!"7654&'53#.y23_w4 ,&(CmF=2. U*q()041')>LAPg4 v;2 !:+H96>54'53#.+5>54/3#5>?'.+53  (3S!+,f[O(r^  +.0)*x {84 { #A'%!4&'5!#.#!5>5#"#7!#.+d 8::>Q:6T949U6,5 "?b6H96.RS-'!4&'53#.#!5>5#"#7!#.#%&&+,F%D-  -L%"//"{84%L!7}}7!-!#5>=#"&=4&'5!32754&'5!#.h:HSj::S>RL:::>"?=kU~66=V=66W6H9/72754&'53#.+5>=#"&=4&'531#&%&+,e&-G+U&%60j/"%/"{84"/c2<9T/"%d$"/536754&'5!!5>=#5.=4&'5!I86@8:: 8:8@6d::)9T -66D5 "?/ tpjQ~640536754&'53#5>=#5#"&=4&'53!6&%%&6+U&%qe#D@ j/"%%"/c WJ<9T/")%4&#"!5>54&'5!632!5>5S>RL:: 8:HSj::=V=665 "?=kU~66+%4&#"#5>54&'53632#5>=C61#&%%&-G+U&%$"0j/"% %"/c2<9T/"%d@ 3.#".54632>32!327#"&54 *K/Vlsa<<6JzIvB/0NP)zh*Q+E3&zd08'76s1CW=7U|?e;D""+2!3267#".47.546323>.'"^MK3G!A5M(Q.=eo ,&%2̷cw72*EIN!+;'77(NGE,"1R@BL327327#"&547.547. 54632>32!%.#"'0NP)zh$U)&+4< )4>ZF3 <6J}IvB/ *K/VlKU|?e5D!*$L+!/'.GS '76o1CW= +E3&zd]2;2!3267#327#"&547.547.546323>.'"_MK3G!9:* &,4< ),LUQ.=ef ,&%2̷cw722G *$L+!*&x](!+;'77(@UE,"1;,p'wI'w "&F%4&+!5>54&'5!3267>32#"&#"#"&54632327>- :; := 7YI1X$>  ( 3XN.o)52 *^l|7#>5!7YCY;>"1BT %;]:<0#d%E2654&#"##5>54&'533267>32#"&#"2#"&#"&54632. 0GJ,66C)0$) %NdV )52fsYk  '' HF&+51x[z<o)7232>=4!"3#'7#5>5##"'46E;$02=3/.4y&X40Ul(:`Y.0  ,.#'j ."=n+7232>=4&'5!"3#'7#5265##"'546&#  0'&#*z&Y0 6;>O#6,!*%!/,*'k'4CnY5O22325!!5>54&'5!!54&'5!#"&546 & 8:::/::XQ+87 B5 "?6666^g( &1265##5>=4&'53354&'53#"&54632$%&&%&%VS)52;P%"//"%tb/"%jp<#n/%3#'7#5>=!3!52654!"!54!"#Az&YD"#B@#!B4C"R#C6B"F-'k+EF.1@F,,D>'+Eo-45"3545'7#526=##565b*&$(!!)z&X%'It)!"'ts'#(+"'j!'*E-!"#7>=#"&=4&'5!32754&'5!VQ>:HSj::S>RL:: 89H6=kU~66=V=66D5 /32754&'53#"#7>=#"&=4&'5361#&%%c,+&-G+U&% $"0j/"%%48{"/c2<9T/"%d+n+%3'7#5265##52654&'533"N$Az&YB# @A#'=B"F- 'k-D@EF+-D:8 +En'%>5##5>5453"33'7#)"$, )+Iz&Y#"'2"#0+$_)3I'kU,%73UYGzke"$w(&w_+"$j(W&jI_&x Ue"(w &wF%#"&'!654.#"'>32!3262sR{g*N=ahYZhĠ$QWe&ha#9'jW&j`%?'j-f&ju" "&5463232675."co^`qpn@6 2"&546;265'.#"`|}{ A:7? K65ÀbhegKkbT6QaVG"+'jUW&jSV?'j_&j7 'h,B&hT9'j,[&jTt'|,&|8:'j[&j`&9'jF['j#74>354&'5!!"&'"326 #:dBE%98 4rT9Zk 06'6"#=N6YIOGj*4%26=4!"#!"&54>354&'5!''"326*?2/536-Lcr #:dBE%9769Zk 3:3-!%*MRY\06'6"$6&V/K6O({U54Y%1<*=@U= 7*^ C)K[/A)CE%o+(('/536-Ra!/cQad=9bQ!#)0E +$0S-!%*OS -K2DJ!GS=4!"26=4!"#"&V;$,6=3/43/536-M\ZR>(:`Y.)' ,>D+2Q-!%*MU?t37232>=4&'5!"32654'5#".5##"'4>&#  0'&<)2A3I>6;> O#6,!*%!/:7*^ C)K\F.InY5#>"26=4!"".57!3!52>54!"!54!B"51/536-EX+6"#B& #@4C"R#C6+Ed>-/P-!%*LQ <*F. "I),D>'6%".=##56545"354532654'5>7I>'K")&$(!<)2LZJ1q*E)!"'ts'#(87*^ C +.#"32654!#"&546323273_2H.v"5E?T>;-jľ9p &27EmA*RmI. (gCg!!%%2654&'5#"&54632#".#"2==(eSVi[,B0=KU>(0  Rx{bm% *$,$`NXk*%"&5#"#7!#.+26=4!"#_F6.6" 4 >>443/536- )(,>^ "*)60'782Q-!%*<;(.+32654'5".'#"#7! K=)2>6F=K, T  87*^ C)K[D/K)3||J7 (3"&54626"&54632"&54632"&54632"&54632    S J   s   !  !   "&54632'"&54632'53      u  44c "&54632 [c! "&54623"&5462~ u   [ "&54623"&5462"&5462~ n O    t`<53tȠ44C 53#2#"5463CO ! 44;G<D_j .4632  J. "&5462"&5462"&5462m A R   H G  T 7"&546326 43#3444qI+i%.'67.'>7+ C$*+$  ($   % C%'U'% !,HS64&547.546;237"&4632#"'./2+".'.##67632>G%?& aX3K,1:18 1$32#@%(/( s %3H;%$< "dBGE26 (2(=/M*4H#>*&>/(:.= V"&547;23!7!4&#s((0G6#C#r10!67=Pll.'(V0"&547".5.5##54?>7>54'54&#" 7;   >vx# ' .B   /,Z)Ye. w )T3!2++'"5465!"&545;$  1&T!' < )(8V73!2+#"'"5465!"54#'"#"54654&546324;*  Z4 V!A .V1M;$2 0 =V d0V%2+"&554&#"#"&5467323261 .!!  3&( M E5#8 7 V2"&547#"&54654&54>7"#"&547     17t  !'.% ! + ?/W/1*6('&V""&567"&5473!2+#"&5!A-' ;+ (230-1 Ac -7VB!654&#""546763632!65654&54>7"&54674&#F^/T='$X  ,B%  p ++3+P C( K8$)1*#Y0FB)Fi;7 4g#/J) 40!*9:=Aw"&546732632#4>54&#"v " "# )$6 )%4)43!2+#"'"&5!"546> E*&  V4&&8sZ.,# E6V$"547;2#!7!2654&=4&#eF%1+=$B3=W569'EUJSl,8 1-E.K12!2#"54>='&#%"=7>54&543 # 1.X  L[L  K7*A"G0T IGUq " V!2!>;"!4&#"#!"&4673!:> +  "~/(%36>SN.>D((45 WH%!267!754&#""&=4&5467.5467327>3(@u_,H)  %.( H >P'  Hjy[u&7B4 b#B]6'"/   /"&@A.T=:4"&547+"54654#"z#$U "9 3,0!#m9C%.J 8/V"&547;2#7354&#"$!' 8%+7$#52 -P nbSl %V3;232>54&#!7&547;2+".=4;&?! +A+!/[S#1^Q "I:[E?uH?&=4$ . !<6+F` XH2>57.54>?#"&547;24&#267>=4&&'&54673&P ! !K  ' %'%4*K P "DH' '$N  K4.'U211  =  307"'.5467.547;2#"54654&+"#32632N)#<!KA *: !.2(G $C #婲M fP &>+V77"'.54>?.547;2!7!'.'.+"#32632M  #<-A"!_#1& *9 ", 23 $B#'7VC,dl(5$ ):,4F."##"&574654.5467>7>7.5467 C/(1(9 #-%(= i 0,&E 7 /$]> &,-/ . V>4'!67!4'.54654&+"&54677&546q!)!1(L0:G:4!$ '*V &!,# .%2S ## D,#3  N<M.34/F%4.+".'&547;2#"5467>"4654&=4632(0." ".# *GFOlB4!"   >F$ 2 +;M1 /&#() J&(dJ\p#@$ (%+V"2#"&544&+"&5473P&&  :-* 3 4$=IZ&82 U7!0<V]"&546764&#65#"&467&#3>54&&'&5467!4&5.54>?Q   * k" !|*@&% 4 75* :  /  1+32?  +%b 6 ,Y ' -8, V9;2#"&54&#"#!+&54632.547"&54G8 #&G / V  S aE&":$2#C5$*K#h?1%9V$K2+"&554&#"#"&546732326!2+"&54&#"#"&5467323260  +$!  0  ('!   3'1M E7": ((N E:#8  !V:2#"&554&#"#"&54673"&546732632#7654&#"1 -""   "!# *3(+1lWP E5"9 v%5 *$2'Aw5"&546732632#7654&#"!"&546732632#4654&#"] " "$ ) " "# ($6 )"2($6 *$/2))2#"5467>GL @ $fFz$-Z2#"5467>32#"5467>GM @GM A $gF{# $fF|#c7"&54767632 9#,62"  8<!R7 ,-6 7"&5472+"54&3mE# : 5F8,^E.  IIDFED!,4632"&54654&#"#.'&#"&4632C7C5"!'@#.2CF.$ & #>. Q;#?F,.UI%"&#"32>767.54673(1# L+6' D088F6 4u<0 $$5Z9( e&T"JI#W# [(#54'7 *.qUY~A'7%4&'7!"&547444N A287F 4*665RF@)S*7M~ h%% | !%#"&'&5467'32654&7'7'7HG 6@:<$EA*4#?_777f877lP'2 & (s &P. d7777777{"'7'7!"'&54767!4'&'ACCACC?KO  3 )'vBBCCBBC'P );Z>?# -2.! "'7'?'74.'7!"&547@CC@CCABBWA777F 3*WBBCCBBC7CCB8@N?)R*7K~c)&zl1*.237#"327#&'&5&546767.#">'7J pYK6(N6n%/-@>^3s42 !"55441 >djKP$A=%,.0?; CwHv !o553zl1*237#"327#&'&5&546767.#">J pYK6(N6n%/-@>^3s42 !"51 >djKP$A=%,.0?; CwHv !Wp *.237#"327#&'&5&546767.#">7'7' pYK6(N6n%/-@>^3s42 !"5r,++5 >djKP$A=%,.0?; CwHv !,,+rl%.'7+"=7~  5"87 N$"O )8hCN`&rD'7.'7+"=7/977  4!76  997 $!N (7gBM_&Y%76?>54'E 16hSEF$EOH H 1 dcR&-WY%76?>54'7'7E 16hSEF$;8;;EOH H 1 dcR&-W885|8%254'7#"&'#"+.5473267654'732=7s4(-&% #$:1-?Y!"5>"R CRm? *! k( $JZ$e44$ "-E&!  A/@e9FH*-MC1H8@D8%|8<@D%254'7#"&'#"+.5473267654'732=7'7''7'7s4(-&% #$:1-?Y!"5>"R CRm? *! k( $/11"/11$/11JZ$e44$ "-E&!  A/@e9FH*-MC1H8@D8%---:..,---! %.2##"567>54'7764#"232@$&W\%FS8QkA\-?",x54'77674#"23276'7@$&G]%FS8QkA\-?",x:1JTPg@100 8'!" B[0oVNHNT!45GIHix7RS0008G"76547632#!'%4&#"!6V? sg&(=9%&aM~SE2 @.QO-'88G"&76547632#!'%4&#"!6'7V? sg&(=9%&a].//M~SE2 @.QO-'8A../].&467&'=476;&#"32>73.>>W#A8F5D L b. 7kD#Iioh:54K*>91*8%Q"CK{HL.A$8]8&*467&'=476;&#"32>73.'7>>W#A8F5D L b. 7kD#Iioh:01154K*>91*8%Q"CK{HL.A$8G000+3$-1%46;2#%.'672326;2=.73274&''7P;,1V+""21!!U8M(e$U*/122;}0/@^B\/K6LN$"0 $ =1`2232C'7'7+&5&5473!0367654'&#""5476767'#";27254'&'777f877G_3   `8K_(4!p!) &j7777777N/8-v `zaFt&I 3 %1;53+l,  y5(#%".5473!4&/&'&546?m8QP8*'5#Ob=>= "4[~W3<\qMe M7C@-(MD@BA4 $?0~(A@ 2[-y2"%'72>5&'7#"'"&547;::C[N&(:*HP8 i777'M; `GNF^/jg\aJ:l#"&'&5467'32654&HG 6@:<$EA*4#?lP'2 & (s &P. dI"746;+5>7654'#&57.#"3232@5 Dj;l5w=-"c*- %gAV UpK F5J7)F42f( | +/32&#"32632#".547$7&+"546'7'7!!"]P ?YuRv<S 4h^..c_ACCACC  V%vO5#;>"ksbS]8ABBC"BBC6fC7>7>;:1;:& JC J,87>?>;9.;9 Jq J6C7>;:& J3'#67.546324&#"6 2"]G5  3"  '* @$'I   "2)   ,87>;9 JXl#"'#"&5473326732654'7 !  $+ #-   25a#"546732654's!( 5 )a9"#I"  e23267#"&#">6 "(/7: 1@9#0W$77E(NeNGvrPKG%'7Kojj|}zNT #".'O- >.TxAdl2>7#"'#".'7,! ",K3    92<00 & &aE~uB^D$ep.32>3232>5>32&'#"'#"&54654&'/#$  M< ' &@p> ' #1x-&_r!$k%G|I-2632+#"'.'732>32#&#"a%' 5H0 !A.0 7)D #' >kգ_C,4,"  .='"&54767'7#"'32>3232>54&;(*'h4WP;:<3Ea7  $%D IGcb9g Ia<5b0Q + 2O2'2>7#"5467.546732#"&#" L9TC[?VCu4$+ /.C'g $- .L :2~" B!/>77#"&54/q>a /"v[Z-E0](8a  '67:6C$&ClWdGaV Ml$&547#"&54>32327.#"3%7.21=/0'*!#y" 4" '5-oLx>"'k"&5463267O'#%. 8'90+NeN"&#"32>767.54673   !1e%,$$- " !L$"#:JrB#'7%4.'7!"&547'?'7455 B,79G 4*4555557743C' @(U+7O}e*&7749774{e2 6'7'7'7237#"327#&'&5&546767.#">>??>??>?? rZM6'O7r%0-A?a6o63""5X??==??===>!?fkMO#A@&-/2 @=CyIv "k+ '7''7'77>7654'k455466455 16h ./C&!221G220221EOH H +7a@65-Wy*.#!".5473!654/&'&546?'6m8QP8*3"Ob}= "4[~TW3<[qN22#K4C@-'MD yA4 "ksbS]8AZT767&Z && &&&% %& q%#"&54>732>?32q#   #'+)'" dS   )%2632##"&54?32>?&54632G % *#51&m"% #  #m"& 0 !  J :% $ ?"54?326765.54?6732>?63226732#"'"&#">. +       3 1  R)8K.)R     !1 "  B ,,%"543>?&54?632>3"'2- C.; #M>O1 l &&  *  &2%2#"&54676?64+"6?>#67&H,$(o:?DL9$ ( P:  "% &,'%+*6&H $EH   8l-7232632"54632327>7>54#".546+  ) :^)  f %    $x# 3  6I 726?632#"&54654'4>' VA, ."- # (:! (y / +72>;2#"/4>?>54#"#"=4?6*!VEH,   O@I#%9C9 ED  & @2*   %2#"543232767&546"3264*@K3/)(?3S55 I"%(1&! +$)N4( .$&%"+&54>?2#"&'463:;26765&&)" <"!* +   "oQ e }p4745467'&46763#"#"&54>?'&+(K ):  KcK"k0x      7 >   D" @%2674&/&'4?2?6?2#"'".4>32;2?67&'6325*   ! / 5W  7J '!O        9 SJ  /# &4D7#"&/463232>?4/&546?632#"/.'"72>54/#"ފ( !  R#5970! ]   *<    IL   S $%#"54?2>7>7#&576?>32 +mK"+#/ 6#@0`) _  274672327474/47>72"+"&  ="&.K7  7u'2    +   P'"/.=7>75.5>?2376323>3:32"#"/&'#"76?6;2n%!  , $    h  G K&"F  # *&      ?4  (7'&546?#".'74?2722!36?>32#A<  %  A n%j+   " ?Cgh)7>3#&/&'4>7/"hX  +&)6i  NO0E W:     $, }972>72#"&'"2632&.54>7&546 d +  ?JT@ "%:& ,80" #) "4     X0#  - ,u:DP%2#';2?672#"&54>?&/&54676?674#"7>32674#" 6 h!(2L-"vQR@86  " -*$*" (+  "2/+ "8  S!  3747326?6;2#"&54?67"#".'>?2?6765&/&'1 00 !' '!,v   >[.&   1 $@ )5 }r @#0#"546?'45467'&46763#"#"&54>?'&r!  +(K ):  KcK"k0"#o      7 >   D" #gH74632#"'32?2672#"/&546?>?3232654/".c   50&6\ :rG :   ! .  4- 6'  %5"  N8C2#"&/"/&54?254&54>7>7"36?45 Zk 9)%!. ,#  +3UBU**  /Q 6  $ %;H)4   _ Qa%4632"&'"&546322"&46#"&/463232>?4/&546?632#"/.'"72>54/#"F !   S ! ( !  R#5970! ]   !@ !!*<    IL   S u %%"&546327#"&54>732>?32P  #   #'+)'"   dS   \V %4632"&#"&54?6;2>?32 ! L"!  #&**'" 5  ^dR  m L2#"&5462674&/&'4?2?6?2#"'".4>32;2?67&'6326*   ! / 5W  7J '!m        9 SJ  /# &T 6"&54632"543>?&54?632>3"'" )2- C.; #M>O1  ! &&  *   b F%"&54632'"&546324632"&'&546?#".'74?2722!36?>32#   O   t  ! A<  %  A n% !K  9 ! w+   " ?C 1%2"&46''&546?#".'74?2722!36?>32#! A<  %  A n%3!7+   " ?C Y+2"&46&'&'46;!>?>?2!.'> ! %$ M+ ; /Y! "'  5 *  ( >N4632"&'#"&/463232>?4/&546?632#"/.'"72>54/#" ! 0( !  R#5970! ]   "  :*<    IL   S F >N"&54632#"&/463232>?4/&546?632#"/.'"72>54/#"/  r( !  R#5970! ]     *<    IL   S  54632#"'2>;2#"/4>?>54#"#"=4?6  !!VEH,   O@I#$ !j9C9 ED  & @2*  M 5"&546322>;2#"/4>?>54#"#"=4?6>   !VEH,   O@I#  !9C9 ED  & @2*  v F4632"&'4632"&4672327474/47>72"+"&> !d !  ="&.K7  7u'U ! !    +   V #.".46322#"5463232767&546"32654&   @+J1&/I3S55 G A"%.1!T&  1$)N4('r*#&=467>7632  \j#&5&54>7632463>7632#&5/^1  #  7$7P$|F2"54>7>  |('V$5    N #% BY2#"5467>"&547672}++>p cq JHC ' r"F/J -('rR 46;2#"&'4>7&#"+"#'&'M&6\2I 1=; ! $2a) ,pO@>32"&54>?4#""74632#"#'"'4'4>7674/#".O0&0U#HC% -_&$"&G0k6  G% 4 #" 0# ( \ !  iW272#"/&54?2]'  72 %# U2 'EP '#On=0#"546?632;263226;2#"57>72%1r:9 s  ' lb w-|C9$ V  ,9` G UlX;"54?3272?63"32#"&#'.5#"54?>?";,+ 0"63 "#`"%"$    *V!q"4632"&5654&#"32?632#"&I.=j Q= 5 E%6E/(=M =*z+% $9qI 4632#"7";2654g8&-l.X#0 >;Q+$9P81:'".5232654&5432888l0[;$" ]21 /58881C> KF"3$/0$'888$888t7''SRTSSRTSSTSSTbc367>504=#"#"&'!2#*1#"&=##".'43232>74&#+"&'&'&5432>54#"#"&4632W XBC >>@S;K>2mM4 .4) 2$$! *M/9QV3(Uz U % ?? :&;PJaU J5'( $   -, !>o238bh3>504=*"#"&'!#*1#.5#"&=##".'43232>74&#+".'&5432>54#"#"&4632W ,z% >`>>d@S;K>2mM4 .4) 2$$!#  *M/9)Q43(Uz U(?? : :&;PJaU J5'( $ -, >o23PbB463235#"&'!2+"&#"2632"'.'#".546323267"#"&KIQ&9@ [E>g Be++4 &#-8%@#,'0/ hBa|0%E=<*b1"; +^* FE$./fPWY463235#"&'!.54632#".#"32+"&#"2632"'.'#".546323267"#"&KIQ&9O X3)"U5*&3/? [E>g Be++4 &#-8%@#,'0/ hBa|0%E= _,(549 4",<*b1"; +]+ FE$./f|bH4&#*#!"&'!2#"&+#"&'.'47632326=4&#*+"#"&54;26p &9C#=  %)#4BL] 3  ;*32#"&54?654&#"#".'.'43232654'&+"&'&'3CO   F ?)%,  $H1 @)%,  E91^D83EC$Y 6 ;)$ +;.ERD 6SIM9#  bc25!"#"&'!32#!7&5>32"&#"32632#"&54632'"&=#"&5467.#"#"#.546=c9 = ?ϵ U(T $8 =.)V{W.,N,$ A,=$X"$4<]13?? % Ms"85< q+.HP  ; G > |  = $cbk>35!"#"&'!2#*#!;2>32".54>54&#"#"&54654&#"'"'&546323 dIW <3='0'&7:/ ' 2A'(G,*<=*5Q( AT#*5$'A L7),O!J 7.)R2FYo.:s#R!c?2654'%.=.'!2632#*1##"&5436=##"&'&5432# O47x >9#>W 14/!#:)635;B =5@  c  #E/78p"RA8~{2+.5#"&=##".'43232>74&#+"&'&'&5432654#"#"&4632367>504=#"#"&'!'.#"&54323@ >d@S;K>2mM4 .4) 2$$! Qp9QV3(Uz  XBC >\-6]7>Y[6m" b<: :&;PJaU J5'( $  d" !>o23  % ?E0'?7"m9 8#*+0#.5#"&=##".'43232>74&#+"&'&'&5432>54#"#"&54632367>504=#"#"&'!.'"&#"&'&324&'./.54632328 Q>d@S;K>2mM4 .4) 2$$! *M/9QV3"Uz  XBC >Y&H 8 \A:16vY=: :&;PJaU J5'( $   -, !> o23  % ?2A5`L([ : ^Y<b;O25#"&'!2#!632#"'.547654&#".546=#"&54>2654&=4&#&:/&9=Z&C 4,W?,P)<3325!&/&2654&=4#"33 =E <=@Y%6,F89<XVF Nz6I7?>#6+6(c443246=4&=.'&#*#"+.'!2632#*1#.5##"&7   7 ;>+2,d47 )u ;C : jNYc"D.54654'&'!2632#*1#.=#"&54327>=+"32632#"Y/+ ;>BXQ}O(if  #5 (  )3D#)=) C =.}96 \   %+c?C463235!"#"&'!2632#*#!"&#"2632#".'4323267"#"&%'cJGS<> XG> [FaoR;nG- 9 sEhiD`878{1&E?@ +b/;I:TM2)R8?e)777c-:.=#"&547#"&543!:325!#.'!2632#*1#"326=#?H9!2&<iw<@ >@ >',ibv%.54635!"#"&'!32#!#"&54?>74.'#"&54654/&5463:32#"&#&#"32>7632"32>72654&5"&#" &n9-U=n > W +\# >     It dc:,; #1EP?6& Vi U96#*8$+ v9+-*AX$ $;& Ub772654&'.'!5!"&'!2#*1#.=##".'432"+"$3,<%=>](/UbZ `3(A)s>? < dT&9*OU  Z_ibCX463235#"&'!2#*1#"&="#"'.'#".546323267"#"&26=#"&#"263232KIQ&99=A>C# *)5 &#-8%@#,'0/ hBa [E>)I$3Z|0%E=? :$ != *\- FE$./f *cF2>75!#.'!2632#*1#"&=#"'#"&54322654&#"#"&'&5432G,(-9>AD0) *{ 3 2A & ($a*0 >@ ;"2K!rL' #aI!  6Ac='4>35#*#"&'&'!2632#*#!#"32>7632#".7Z[/  a ? -YU58J!,-  l`=oH*0E#s  A #D,"   "60HOc(;'4>325#"#"'&'!2632#*#!#".%4&'"&#32>:tO  1a ?[zZ:nJ-$" r"::W(63s(A p2BY/FQ 6WH$ %6,+c@463235!"#"&'!2632#*1#"&#"2632#".54323267"#"&cJGS<w > XG> [FaoR3`C3 9 sEhiD`{1&E?B +b/;I,AH7 2)R8?eb1<4>;5!"#"&'!2#"&+#"&54632#".2>54'#JWBH =N&;  ECYJ#8^(X./mQe! ?;'p.> $(C : #7":]3fU>!*&c846;5!"#"&'!2632#*1#.=+"#"&'&4C =x >> $2 3 8   I#2Oo?B <'&S7  r%[c8F4327.54632#326=#"&'!30212#*1#.=#".74&#"2326 '943( +]H,Qt;M%&?-O9mD) #%\*C($-rKAR o=@4 <u';NE )sbP463235#"&'!32#*1##*#"&#"&+"32634632#"#"&/4&#"#"#".XZN':; ?" XW  51&%4 4 9   :iD(V?/Q:@ .>. ,62'#I+3MXcD7"&547&54632"32632#"327>=#"&'!30212#*1#.=Q}2Z3=-. '  )3D#(if ;M%&>B}96L<*(@+! % \ @4 =.c'46;!5!"#"&'!2632#*1#.=##"& %  =x >>%$b6&?B :("_c#IZ8b.%"&5<547.'!32#*1#.='26=+"T'T =?!k8T   / @ ; O9YLN;b7E.=#"'.5<547.'!2#!632#"'.54>54'4&#"'26=+"?$C82>' ?Y$B"0 (/!7U&; 5*W  / @ l {K[w  4 Gh-  3!8Y#{ b#4=25!"#"'&'!32#*1#.=#"&54632654'&#"327TH 1Z =>4]cMS '%#G &''@(? =DC8JZw;'   %B" c34&'"&'235#"&'!30212#*1#"&=##"&546;u(#<aP ;M%&A#_4-?Y$81D@4 :&8  ]%c"&46;5#"&'!2632#*1#"&=##"&735#4< ;A$_?C :%8]Pc(84&+"&'!2632#*1#.=#"&'&56263>26=## G; ;?2GU&'8 5Qt-V>,?C <u({Z #0%o=5:>T fb/3267#"&5!32#*#!.'.U0%8/ > 1"@DA- "R,D$ jN>> 'JH-(L81,F.NAQfb"I@:bC4632327>35!"#"&'!2#*1#.=#"&=4654#".?&XF#l:W < = N$/ ..#ql<80F #o?? < D#? #(&+Q:0) owb)7H>35!#"&'!32#!#"&'#"&54632"32>?4&2>54&#"L R)%8F ? !odI;u8T@M?&I4\7N!(K, L(>#&5(L.F+#A=?   \\E^FdYF\!,ZA2$>K &/# (*=O7 !wb#ILCb#725!"#"'&'!32#*1#.=#"&546"32654.'&TH 1Z =>4]c/<(   C[$@(? =DC8JO 6% A@b,%"&5<547.'!32#*1#.=532>7T'T =?!"("  / @ ; X<&j c3A267>7#"#"&'!2632#*1#.=#"'#".26=# - )C <>?A#Gc -RT WbN3u/%R;@@ :%-5za [& ]0 /bK46;5#"#"'&'!32#*+#*+"32632#"&54>7&#"&'.547.m3 1N =3 '[;>"%:Tv7Qb-2_U#0%@(@ 9q2'H> 1'E7">,- 7-R54./.54>7;2;2#"&#"&+"#"&'4'432%9  " ~`5BV#4)E  > ("1*"&.o7! =57" -j5*> t@K|c.5"&'!:32;#*1#}>;0  >&: ?? ~0.5"&'3=4632.#"3:32#"&+}>;U8H3F* X>/K &: ? 7:2) 0 +),3V !|~).5"&'3.'&#"#"&54632;2#"&+}>;S 6<2R ?aJT/@  &: ?({9* :-bn = MC%'4632#".'&54332654&#"+"&D4jG-HZa& !)7X5:22' ( 'b82*+Y=(55%5 ' +:BX%'4632#".#"32632#"&4).t^D (19M(&21  +&=y #)G`T-@@-&  (  qbNC4>32#"32632#"&'<8( IdN&5#C]& , .% * jbD9467&54>32632#0"#"32>32#"&#"32>72#"& 47@ ' BgY#/ (N#((X&=& +Y4Rv 4*% ! &# , #()+c:s".523>54&54320[;$$ ]21.51C>!KC 3$/0a~#".'"&#"&'2 %0@i> <xVi(:;->qa"#"'&'"&#"&'2.'"#".'&56323  =agUB *c/e d:8:N< " x|s"RK|~(.5"&'3.'+"&56;2;2#"&+}>;S!9S;>U[6m" @  &: ?-9;#?7"m9<|124&'./.543232#*+.5"&'3.'"&#"&54\A:16 vY= >;P&H ?)`L([ : ^Y<: ?2A= / .'"&52 %B*'<>k '#"&'&'32>=4&5432>32#"'&54>7654#"#".543232654.'&#"#"&54>7654&#"#"&54632{878'N>^;3c#&;@0 IV28c<"#$  P#878^2_sb 9"1*?)6$0C@ # -*(  ,67 /50A< #!?+  A (  > 3C<4b;JN25#"&'!2#!632#"'.547654&#".546=#"&54>2654&#"':/&9=Z&C 4,W?,P)<3OS>5#"#"&'!2#*1#.546=#"&54>325!#".2654&=4#"3' . C =>@Y%6,F8>: FS QZGz6I7< J9!0 1g}/xq [6+6(878c*.432<645.'&#.'!2632#*1#.5##"&'747 ;>+2,d878472(v ;C : j^Y~878Ub6:72654&'.'!5!"&'!2#*1#.5##".'432'"+"$3,<%=>](/UbZ `8783(A)s>? <dT&9*OU  Z_*878|c@D463235!"#"&'!2632#*1#"&#"2632#".54323267"#"&'cJGS<w > XG> [FaoR4bB2 9 sEhiD`878{1&E?B +b/;I,AH7 2)R8?e878Ub1@D4>;5!"#"&'!2#"&+#"&54632#".2>54''#JWBH =N&;  ECYJ#8^(X./mQ54'4&#"'26=+"'?$C8o' ?Y$B"0 (/!7U878&; 5^ / @ l {K[w  4 Gh-  3!8Y#{ 878,b25!"#"&'!32#!7&5>32.#"32632#"&1"32>32#".5465.54632&'"&=#"&54>?>7.#"#"&'&54676>c8 = ?ϵ U(- %> / _!:>  822?? % Ms" "@  ! &  )95++)90'; I > c cb>35!"#"&'!2#*#!;2>32#"'";2676;2#"&54>54'&54>54&#"#"&54654&#"'"'&546323 dIW <3='0'&7:/ ' 2H! !9 ,7 +)#20"- .' > 7.)R2FYo.:2 JC2>32#"&54654#"#"&5474&#""&5463232>320 )/0C2 !# + #5 >.1(&3TT9 * P=)   %7"T$Ef2.JU"32632#"&=465'&54654#"#"&'4654#"#"&54>3232>322>2& # )- 4L 2"4 *0+>/#''2T0   + \=)!  &>& U$'*e1:  ga 2.=54l >=aB < a 2.=5432.=54 >= >=a?< B < gk 4>32#"&2>54&#""3+G#3+G&: ' 3A)>I)>@"1+$!( '.$b+8&'>?67&'.'&54?67.546322654#"'& V$iM =x?60  $/r-" ,#'  N n5KF`)JK4) %2"00S"3'i96#"&'.'&"#"&54632;2>54&'&#"#.54632F, 6d $ O'>D2)'/1U=pXgKj771N+J+ = e+izEC%".'&#"#"&546323654&+"&543:;2>5&+"&54;2z '%9DGD ,"N<)p? s)4 < m4!M(CbZfQ2S&= +'@ '>*7 MK:a!174>7.542?632#.>54.53#" cF  @*R.63oe%S 5% b: > TP&9q%  GJ `;'46733267#"&'&=4323267>7432+".'#"&F.  ] > &P   > @..*0b=V(C[-)@@=B}=c9"6AA> kA+8<7HiiM%"&547.54>3:32"&#"32632#"3267654&543#"&'.'"H%P%>9 ") , oU  !==49*:('G 1 2 'I3+ `,&5  G0  = S*%  #B" Bj0 W;a&94323267"&54632#".'4&"32654&5.'& ; +"--)b$RJ-I|Z.@?B5(?6 #R [; R`? $0?G@7wm %8_wfD*,0 F-!2#!"&#"32632#"&5467"#"&547654.'6  ? !r9G[( = :t'Oi$$5  u(e 54'&/547>322654'"&#"AB3!K5&4  $I J*Dr*N786e/K54 $L6k$'u[@6' .2 4>32#"&2>54&#"21=l21=lt.1 . +:s7+:s76(& ~ ##"&'72>72'#"&54632E# +T B !0 ]8"  #%   /V #2654&#"'&/5'&4>32#"&sG*$9!6jfE;))/=7(,C]7-%-$qT}U+:#0L)'GTN# #/732?674&#"72654&#""&54>32#"&54632z$ !"%6D+#31-?3&53;*'IK'Eo7!5-#*FU,+.P)KK531?f.*2!5!#./.'#"&'32654&##"&54>Ql:z[)YQ(M.&!!-1qXeI22<. M y0"'92! ;4'#&/.##"&'32654&##"&54>32!5!632'4&53#'J2 F$]S)M.&&(1Ti: <:b`2H$ZK y0"!?2! sVeI28KrZ324J23!./3267.#"#"'67./#5!7654&#"'#".54;2327?Q%/8 ?CQ@s<>N5^) ?"/k&!!8s-7%)WL3 2 0+j+,.QDD}'110'4(S" 2  /!4(Z67'&547"&'4>732654&#"#"&=467'#5!654&##"&'4?32?6323%+%3VR8>*() B=:(3 !P %+"u} ~!,R  O* XLf 0" H(6-K->-gSVJ UL>) 7S#' )%/'2 <2)I12>0O23!32?632#".'32>54'#"&=#5!?4&#"#".54633()4#z "(6dS*F0'#/O0&;  V*&f' 7-A+? ,7 5$2(.m6Tg -O>c5.B^K5,& #H.#2 (  !7L O23!36?67#./&'2654'#"&=!5!2?4&+"+"&54732>7Ra $  YqX9SA5W/[ .L02 ;9#  '%q426753#/&''./>7'&##"&546J1:)^6B&)4262tt!A7]841 V1+1R?2'20%<2l/W;F5K+O $!&"6L32654&/.'47#654.'"2#"&5464HV>2?ZQL,KjkKK% #$2=.N>>D',=12$ !) +Y@C2@.  ?#-<*3;'.'&#"#"&547326324'632#"&5465 5* HW* 9( >&&1&  $%.39/.ePJ:+7%' l  5  (/"K,?QP'.#.547326324'632#"&5>732654.5>7?4 '(*4!)CO(:#10N %!1(0;*CHffH!axr &1+ 6- $@+P52/-E'h  M5 +8,G+ W$2!=,3 *!>&984632#"&/32654'#"'4632654&#"#"&F7E',RA];"!&9 #.-?8. $,#M3'CUG5@-)?54.5467 +-c/9<+8"W@4]A;%k.9%"%%;2R({^85&&IhiI"! # ,D0 -491=8G6RykBE.&!$ .6&$$+=YN *F(0B54F.+%675!5!#2#"&54>32654&+'.'*Ij+A!|VBy1#)X0 *vRL.(*s#'22&vU(4'3Jpkb03#&/./32654'"&54632>7ST  7S>S=v9f*%0)&"?H'Z=S2 *04! g9)E '-*4C#L *_ 83#'.'632'>54&#"#.5>32&/&=[[2$B*--((6>:I  "Q>[e^# 2-),7*+,!3N&AL )3RgV*1.)27#"'47#5!#/.+"'767#"&26RfA =]q<B+#*:'5 Nlx0:2245KD0 =>2654##".'32654'"&'5&'7632#"'6*<Qw -XB?e:( '4F4 \-J  &W*3I86'A> 29*CQEb|[&5/#"&5#5!A-1!"7EE.<>QP'3-E' )3)"GBp22. 7265/&'%&/&/32654&#"&=#5!!7|F)*FQJV;bt'@710,?(,?F3Hp2$5 ? ! 1I#T:'h& \P5/ ">'22A %5-d.P47#5!!327#"/&47##"&'"3>32#.5472654&'#"&~HsN82KT'   ;s 5 %L 'K<8V. eS#H *3F{7J229McrMN z@7.H! #)J&;N),[%2674'#"&4633254&#7#.''.#"#"&47.#632#"54>72>7!*"!% 2a ]*":9$-fM\*.>N .K `U]#1S/*B'&.!*X78I'20:)i1(2oHI.( \8d03p8OG65!?J:23!3267#"&54632.5#5!754#"""&'>73?QL+m /1>vO!5JJD  F2[ /G52$k-#!69BM$;20;3   *_?72>54'#".547>54'#535&/&5473!7>#5.!60 J6*>16$ ĥ34;%FV-7+_J0,N3,393I6&80-E'(2  NHA"30)[$2=#.(#"&/5#5!!>7#".52654R& -$F[ !N8;_5$ 3R4@RRF22D"3r5H0Dby^$8ea;N+"I.!7"'#5!!>7#"&54632)/Y1P!%) /9.IOd22 W2'$//+K2&2.=&53#'4&#"3'4632#".'&54632R G^6O:> %-3+ WA;) d} >285c.3)&'1" #CW<$ -D=.+/2#./264&#"#"&546%!!B/I(F'!&4W95!00H)1_A 1$0HJ$2>-DV/?hU>/ O6M2(Wn3$("6-+<^2 13#&#'232654&##"&54>;25+"`# WTzO@, %#*=2+O'<' N2 :2hV4  %(%8 N.'#5!!767'&54?CnCBq5cLWA#+[m>E22,RApvNNqf@'4$32?53#'./7"&'4632#"'FeN}6! }T T;~.8*10 +H@]T&IB2UO^1( 0 .2!5!#'.'#"&546/]W#*7&#*"4LbA 22LwB- #(+35?#p .&#"23#'&''764&#""&5632'5;4 "%!DM2#G+ " 1?t $ 9 2-e .* i^~ r.94&#"'./7.'&/&'#5!!632#"&546323279, -4N+: )#,5J{,b Od/% C!)x(7*S~    22I+gH7X_H(0! ".%675!5!#'.'@]dwJ֗\ #<`9H2qk."22&9C/L'.$(2767#./32654'#"&546'!!$BnnV[- @8C*8NP>,?&6$8#>:./b2. '24.'&/#5!#'.'#"&54>?U9-6A  #]U,'0-%$+wA9+\ ,:226p,4#$. .'#5!#'.+"'>N3 ;[\*WFD1G/D 9"z~W%22NqT+6.""&546;2675!5!#'.'@]eCb%%tX (A`4Jd1R#$UB!22?K30.725!5!#'.#.'"&54632+"&54>3246H%U?b2-".0#7 %(, ;P(" D&+!%221%.++*1 !(,!O@&9 >*93#'4&#"#"&'#"&'67'&+'32>7'5 CZ2C4&, #   L A2m208!'  K 2.?` 5'/@#&3($''=$u .,&'5".'#5!#&/.#'>?67&#"Y&+%&hK; "Y ; D, %2 0-2_z*"B(22'&bX(  .025#6?6&#"/#5!#'5.'"#"/7270 $K]<',e2  '-.)! )<  ?o229! "!!9K# @ .+&/3674&#""&567654'#5!#6~BLeq7@k~ *- 7''n*/1@0J 0D$.G3!; <%22  1e8 #"&=4632 %] "* ./2&/3674&#""&5467654'#521>0nm7@k~ *- 7'!S*.".9,+>{D/.G3!; &82>23222&'3#'4&+Q   .ZX2@D.93ev824{1->7'&#"3#'#53'& %?(X4 TVeDV r2Z^,t  "L= A8[)+2/2/-&23#'#53.#"2#>54#"&54B_ rr2UUa2fO+; F5 {ET-;xL222cj*/2  $1(dN#a6>54'5.#"765656=3.'#"&54> +#8W$#5)'%8 " d  ':* N-%  RK!#"&54632'&#"367?,:!-E  )";r5)('0rQ./?8 Zc)n  \@:j2QN <%%N_H#.''&/&/?'?tn *'  -2b 6)n *&O5N% ;j" j2QN%:. ;&'467#"&547#5!:*E1%' $ 5"L_eF.>oF*> #1mry2 C <23#"&5<14>32#.547#53654/.5473;|)MS<8\/,?1= +A$iN-@; A D1 2]=LH#" /.>M6f2 &  ,+* 34&+5732&'3#'&'>7#"&547#5!@D1 . UU0Lg)@3)5"N^fF1-293U724avDCX")1td{2J N4&+576;2&'3#'23&#&54632#".'67#53654./&547@D1!7UU0kiWS ,|& m ("7+1F!  _ #A/* 1-295U3240G2<,Et 14>^Cn2   *,^.3#3#66FN3.2 4 64&#"267>54/&/&'4632#"&'" 65 ###Qg%  } ZG': b/D " ))$,) )  e 4+ ?A^*" dO-.( $N4%.3#'#53654&+"&54732632 hh2RR -k^RcDH 262E+!#;". <4632#"&"'5#5!!>3#".'2>54'%(#0<1 2(1fL1R8,%0L/.4$S5* "":W22  *#g9Yt(>VQX8/NZ>. 6$!D. +4672#"&#"/#5!!3>7#"&54632{  1 A."Z/N $*$2(0#?!kAX>22 V1 'H%. -4632#"&'.+#'67&/&/&'#5!#,0<oF#' !~FC:Z #:'b: 5&"qV"$GQqU=C  #22oI26753#'&/&//&''&/?./>7'&##".'4>J1:)^6B&F-272rr n *'2>wB41  ^+1R?P1"-%<2l :2;N%+'HjK+O )!6Lk%#654#"632#"&54>3265654.'5+654.'"2#"&54632654&/.'47+-@@-" 4    #'7(:;. % #$2=04HV>2?ZQL,KjkKeB!4&$ #@   & !$L)$2@.  ?#->D',=12$ !) +Y@4j#6'#654&#"632#"&54>3265654.'467 )+k!A     "'7=JD #N( #$  ! !$K)! (#* w#8o#64&#"632#"&546326754.'467%#654&#"632#"&54>3265654.'467! +!("!   "%&8(:;.1 )+k!A     "'7=JD-  / $ H  %9L*$+2 #N( #$  ! !$K)! (#* 07 4&#"326%4632#".'&~-6Ij8-!$ /A.0G%.- >}"1!&/265&/.54632K?qC$ 1_G"Ec5 "0?'3?EP5&@*/(I+ $!" 0J%$%#".'32654&'#"&54632 )I.1H@>,M2`*E4'$3J:9s/?3$5Sd{U54.#"&'>7.54>2)7[( A&)+N!5'-+<,>(Z>6f C*33#H^E4U. Q(+ %+9&!* K9+6%R:5= G)/7& /& !F #074>7.'3.327#"&5467-%'/F^-=;&e )(?G112)6u^R+G-;"!K#@'FG 1M+'>j_ (4#.'32>54'"&/"&4632>p_$@(;e=, #0G*)<  @!$>! BFv!$:*Lgy[ *I=@/ !1')!,1*""+#A\!$"36=4/.#&=#"&/46322!N !0Pk28q1T-!!(A  DG"=gt7' 64&#"2657""&'"54632>72>7!#,) k  5)e[: 9& 9 & 9C  #dB   73FZ8.Kj73'654&#"#"&54>32Jj  <~NVs/" 1(! 3FUGDBFC"?&3*-!1 c) <>732>73#"&54322332654&"#"&54632#'#"@-"8bC8! !2TQ3L>  8/%0'0?!1'F-DbVe7Zh6FI2!    ')4J5'9 /'73#"54#632h &(&%9TG&7N-S(("+"=4#6232?>323#"=4">#%F   % $&O_OO&6HF&2! K 8S# 72>74#"'4>32#"&5|+:?!2 0 /(+< Z34S**H(! =V&9 )(=R733&+"467#"54632- '0!%9 Eb  %-6  / /1"*4e '-'J'4$ %0! u20%#"54674&'#"5474&'#53>733##5(19"< MV(262U8 e##8r2@AJ490g nR#+%:AS,9+ U D?3 9#t6#+#5##"54674&'#"5474&'#53>73;T@<2@(19"< MV(262U8 e##8r#AJ490g nR#+%:AS,9+ U D?3 9<5!26;#"/467&'+##5354632#54&"3!##&#":7%f! l=h?g9#N <@22K12J@!6!<,)03C7 .f75_`BW2S*[7#9.1FH1$%,9*.B6<##+#&#"326;#"/467&'#5!354&"#5463235!2@<,)03C7 .f! l=h?g9#N  Ff 9'$_MQ# ++A>$#'CG:9? .BJTrL-<9Y8+*!3H0t#*&74632>5!5!##&'#"&7267.#"#_L1~@&@B&3L]E7Zs m#-7*>gA(q.2D.G9r#D*J0;`O-9Cu[=+.pfrK-1w#,!!2#&'#"&54632654&#!5#5!.#"32N,15L FIW>_YAs9@+# N)PSVt@3b7!=D548F.39L!85##"&5#463!5!5!3254'!e_Vl83EbK8hweD-89@v @"*3#!"3!2#"'.547&5463!5!5!4+326%;5#"@2--2&,nh<$- :0*2@h^-1&43)/-%9ݕ+B2+D F./#0/;\9]@!%###5##67#&543235!5!2@@8` #!#:\89.0!3267#'#"&5463232654&#"#"/7&'#5!%RJP 1C<;8 KY.W;70>A%z :z'3>.݋?LEK "J*G <&&0/A%@99$#!"3!#3263#"5"&547.5#5!5! )=9G7J? >`&ݚ0 9k9>2DM9a,5'7>3:;5!5!#&# 32>;#". $';0J1( X-+g;43# q9'[O4. 99U^/#?[,F674635#5!#2#"&2654&""BBli9skktHx{99{xHLba%G)9KL8*F3%.#"3223265#"'5!##"54632654&#"#"54Sj)@qFl09b22D5hHS;=u327&'!5!#.'&#"327#". l>0)6&". 5$+-S;,?EzTuX?TVGO3Z99(aG$f$+#5O|Sd #M&23265!5!##"&'6732654&#"#"54l09'OhXQzTu?N<)uLFe>;;;h7K=gK>O3)(8-. %5!32'!5!'#5!##5#"&'654TbP_ 2@-CI'i(,T2299#\*Z4:][%#"&'#546;35!5!#!32>3j?gk 8(4nB4 AYu7,G9910 7327!'#5!##5#"&'64jTbP$$i 2@-CI'T?IFA99#z*Z4: $74675#5!##532654&'3?"&]o l^mM #Ir89sJ"MoDiEg99gChG@F;57o o65;H73273##5#"&'64'#53jTbP$r2@-CI'' V.T?I9#z*Z4:+9ReD$"&54;5!5!#!">274#"326@ulT=\vR\&V'E<%&; Y~v99F:>*4715 "&546;5!5!#326=#BR;0h 2VuA*1 Y2?99?Rpo5,~297467&'#5!##"32654&'.'327#"&!>2AS#Ɔ#RBkO20^K'M""N'K^.Nn ]00`3K8j99j6K5F`9F)&M89N%*E9`<29C7467&'#5!##"32654&'.'327#"&!>2"&462AS#Ɔ#RBkO20^K'M""N'K^.Nn ]00`'3K8j99j6K5F`9F)&M89N%*E9`< ##!"3!#3263#".'.546;5!5! F^J92BmH9QD2nݚ9;79"N791.;a9%!32#"&4"546?&'#5!##5# 9% H2@ R ,@'T(B99#;8-!3"546?&'#5!##5#9% H2@ R@'T(B99#;8-7325!5!##"&'&546;#"a\H~}2FV/,D54849l199%=:<6D9Tr7#5nrrr##53|@<99*#54&"3###5354632*@!6!<<@22K12J($%,9#9.1FH1###5354&"#5463232@<s1 SZkx  0#"54632&#"#"5432.- X gmD%F>&V@%4".Zd< #&+"'3;2D4_08,<@F=7 "&5465337632#524&"3#]v ==\@  @rF9 I)o$"#4H2 &##"543532SW"H@WM -$'##5#"&'654'#53!535!322"&462@-CI'' V*rrTbP#\*Z4:][+9T]}53T4 Z )%5#"32!5!####"'&546;2"&46(%/+$LZ2@zZ=9B8a( //+99#}f=9L;F "##5##67#&543235!5!2"&462@@8` #!#:\89& /23265!5!##'#"'#'&543232654&#"#"54$K.@ )OIHH2!LD@,(3I6&N1]a W/990W0JI1L: $TZ% 2*)")/9$."&54;5!5!#!">274#"3262"&46@ulT=\vR\&V'E<%&; Y~v99F:>*471554&#"76yJ:Nur'3OLv72F5,d$wbA]x6*R9EC8Q-F:74&#"5632#'#"/"&5432654&#"#"#"54632326XS_k;Bdi$:Td( Euj?I 8r W4L[%7!4#EJQ98++?1F&("?)6%$.2654&'52+"&547&54632654&"LF9-I]P8aC,Bb8P]I.8>QFhFIbID+29QCN2)CAUW?C)2NDP93* ",12+&))72653#5#"&'654'32[@@&YMz"B3&$91`;HMDVFG:@%"&#"3!!"&547.54>7&546323"&#"2#"&#"32632d(.#:K9#5/.;'x\3r8)A& r"BX:0 *7%!#9B7G @'- >-;5;F5&$ $&1) (*( &54632#52>7654&#"r jQUqNn_T M87C "!!LZcO9 /V87FA5  ".5#463!!;uW$P9W|+JvT.2hdX9X9EbW3;%!3#".5#4633&54632&#"iU@Vu.\Q/H7QWkV 3C=5]4[lE9"9\dDN2HIeKM97>e#654&#"#&5462( 2 &@V@>0 & #((# %%26;#"/467&'#5!##&#"5!,! l=h?g9#N ,)03C7 .f~7%.`BW2S*[799*.B 5_D)16323##"&'.'#5!.#"!!>2654'! +l 9'$_MQ# uIGe z$#'+A>i[9? .BJTrL-<92OG:C3H0t8+*!+@IQ[#54#"&#"!##"'.'&'#53>32632".54632#"&=%!3>4'#326%4&"26@9uC+20H 1" RBD=1- `D*#Yi)F*@\;?X`B<"&@ !+6n'55B55B5O(c:X595g)7?I5*j_G19OxN0"s,&6HE9l :Wf);,c%0'('( 4>32#"&''9.D-%.! BU.%5 - &$:f[ %3?M%32654&#"#"&'4>3232654&#"#"&'4>3232654&#"#"&'4>32*0" 6!/]>BS'8/BSk*0" 6!/]>BS'8/BS*0" 6!/]>BS'8/BS':A2+;DTf:$5 M>':A2+;DTf:$5 M':A2+;DTf:$5 M3b:8CP3273#"5# &5463!654'&'#"54>3234>32654'"3:327!!#(0G' NzL4 ;)}$0*I`L6))*!+-5KlW):`&&+(*$8!3O\FZ .'0I%8)= /:^iv5463!654'&'#"54>3234>7632#".5463232>54&#"3273#"=# &32654'"3:327!' NzL4 ;)}$0*I`L6)2EJ\4`\&SQ5?7UB?VG25"++! XG()*!+-5KlW)%/<%cB#>(*$8!3O\FZ dD/eZ:"@)(%  %1 .S3?/&&gYel4.'0I%8)= B9ny254'"7#"546;2#"&'#"5467&54>32273#"54.#"632654.'.'3232654&'&#">Y45A !E1gO%&JN:%&)7"2QP).|/lkK;9$G_ZRV@!>   C>n{LJuJ6,{VS$@(=4HNB8;QA@Me.}EV}aFcBsTQ,@2_Z-/Hk/HxLIY 0F(6P(5}Bt$uZ:3SJQ9%.D@R9";,,"2 _]E'8VG^.nk::A"UWC,Z&N $A>$1ZF,$M94<,X'Q4>7"#"#"&%4>7"#"#"&#"547!"#32632#"547!32632M( "i#85&G8  !2)G! !/%  )2!IYW 0 'r&(MY+.r&)FW 72654'"7#"54>;2!#!"54>7654&'!745? D1%D+%Dj;' =;/J[!AId.6^<<m#'F(9.QN(( .&,>L73M7"!/=4>KIu(p] Xd4#"32674&#"632#".54>3263!+"32>?#"5463#"32>7#"5%4'"326#!"54>764&'#"54>;2(R)23/(#=;*C' %[5G\I(<  %6\9p-K4e &EUK %EH43A %3 A-NWf&6]=9/J[*Y+"H52&&2$BE:KY#0<(8G:(621# %-R 7# )(RF(9.!("8+?t'J8< .&,=L83N6!!X8E4>3!+"3267#"&5463#"632#".32>54#"-BqE V +!1 1O, 'd &bJ,E$T7)% VHLcR9v1! -<3<.=S3S#;%bn/@O5558(.r.mW8E%#".54>3!+"#"54>545467#"63232>54#"_`H-G%-BqEV .>9ON 1O, 'd &7)% VH`p.@P5LbR9*0/J+  2B.=S3S#;758(.r.FZ |4&#"3267#"&54632632!"&#"32>323254.547232#"'#"'&54327>54&#"32>3#"=4&#"632(*+014'!JcBGTmuO)2K+ r3c %6/5H  2% '(`rk?VY=?ڛ!-8&R?,I $DGP*C' $\5G)'0+!G654'4'.#632#"&54>7632"#".547372#"#"&54632326545767.546323: 2"/(1* " 1 R,}fYO3*pBSmF\q+SY#'OG-C7 4 19,JE&6-=@, F8`u -UDP!7_s\P1( #*>)74 ,"%13Ka3Q U6hOTE ;pg6ngP6;j>^.%,! $<6.A   /)$0#^MM7632"#".547372#".54>32#32>545767.546322>54L/;43: 2"/(1*}9e^/LCC2 *pBSmF\q+SY#'OG-C7 4 19,JE&6J}c{4S. 1: *8 / 5,"?2!7_s\P ""3 (01( #*>)74!.g^=%8`=OTE ;pg6ngP6;j>^.%,! $<6.A  RNQ'/# 2@2%  ! /#:# hN[x  ,"%22Y'F!4X =73276=!"%547#"".54;547!"#32#"54?>74&+ThMP;)T .@b8# |8  eQPCBEATa=K2Eo-_+):4W 0 'WM  =4GHC[N7#"547!"#>3232654>7#!"54;>54&#""#"547#32?2.,G8  D-+3#M+)>)#$5G7) #-%'!fMYW 0 '>4#I0Um >,eA6H ,0&$&+*r&X 073276=!"%547#"!+#".54;547!"+ThMP;)T @b8# |8  =K2Eo-_+0):4W 2 'FZy43232654.#"#".54327>54&#"32>?3#"=4&#"632#"&54>32632!"&#"3267632#"&4&#"326t'$H0-S.8MC5T1! ٛ"EFT>0+ &DGP*C' $\8D]HJQ "4^;uO)2K+ r3c %6//M(@6O(%I3Qf(*+014'!;- (9 Pb1+!1A9,m`Zx ) # 6*R'E'2#BE:H\uP5I;*^\ /C;! 1K%?N|352/OF'0+!G6,Xhu%.#"3267#"&5463#"632#".54>3!+"632#"'&'45476322>%32>54#"J/"+!1 1O, 'd &bJ,E$-BqE V ;3 .%ԓpF(8J5{sd^>`7)% VHvQDy1! -<3<.=S3S#;%bn/@O5LcR92&D,Ј  dE}UJ%D2Mg^v58(.r.\%#!"&54>73 =))2//5  Xw732>54.#"%#".54>3263263!+"32762#"5463#*#"#".5467&#"#".5467&#">327"32654'&%"32654.Y /% )!, aO+E%Vp_lWnWjATV HR  : (C)2K#=3NXT"hT,F&>8HI;WE7[5 &"GG8)@n K 7&.> & '- (/.'#ao-?L6Ye11,+- v1( wlo5A6$=[LD4%Yq->M6J0' !5dB:#;CF]xA@=K3fO8Z5# CX J73276=!"%547#4.+#".54;547!"#32#!"#"5463!2>ThMP;)T E/a@b8# |8  \iU@  /Hn;W+=K2Eo-_++6B-):4W 0 'yYw_H(-Co=;*DCXG7262#"547!"+>32#!"#"5463!2654&#"#"547#, G8  B-*4$?}V  /Hov3* #-%*A( +/YW 2 '?2"J10WS1(-Co=;Qh8F-X($+*r&_Y Xh732654#"".5467&#">32#".5463263!+"32762#"5463#*#"74.#"326X7&)#V++3K%99>HFo>* [5 &cI-F&ͧUd@S V HR  9u.'4'E4%)D77G(q07VP$19,>N7:#;%`p->M5)(v1( wlXn73!2654>7))>=))D )j>,/5   \%265#"#432#!"&54>73&7MRO|lcX=))2Svry/5  #\'%#!"&'#&54>73274>73!2654>7#)>4,;Xh)AB))D )j>,"%Gc KeI   mX/72>32#"547!+"#"54>54>3#"i 4(GBV /=6-7- A AYS, 1/J+  "$71s'`=42325432632+"#"5&546;2654#"#"54#"#".5a$&O-UeC  /Hy_\*2&(QLF!, k(0h42Ki8(-C"- =;sk>;43yvu[.*X<J%#".54>3232=4./632#"=4#">324&#"32>f$99:V%=ds=4D! tW $*G=w7W0 [5 &O+/E7&% ;V,Ws:VN'@G6ǭ$3& aq{,.377(/XIX%262#"5463#"3262#"54#">32#".54>32>3!+"%4#"326Z.,G _!.,Gq] [5*,#998N! 2L^W$v"22sVZ+ /)#B(LYv&(LZZru:!C.;V,BaGFvK6J&$, n5kr" '- G \P%265#".5!"&54>73!432+;2+"#".5463232>>5SR-"=)) e+HTV@MO Z"5"/5`?0L+ ! L?7J$&2Hv /0/5  rNj6X/' !2:2!'0# &2 6G#683z[AM4.#">32#".54>32!2654>7#!"54>4#"326*V91F:/G01U#99-F$/J\Z(;]6$ -(7 ))>@080Y'0 :7)"0KU: %:jD7,KV;V,/@P3BsM8#5HC#8dG- >, )3p;r)'$\F$X z%4#"326">54&+#"'676?!"54>54.#">32#".547632!767.54>32'3254.Y'0 :7)"L'8 O7 - AE6d 0 0D*6,A -, *V91F:/G01U"77.G%?m;]7# V0)'WS!.8)-G'<M>! b; r)'$\F#3)Bd -&)=M0'3"&j):`:KU: %:jD7,KV;V,/@O5eV#5HC#e&*81#uA,F'*3% &< =2#1::  (\J\2#"=4#"#"54.#">32#".54>3263232=4./64&#"32>I8I $-- ,'6V0! [5 &aQ:V%,BqFt65_[@tX%$+/&  /% \le{%M203G.G#-=O3:#;%`pWs;LcR8azǭBI R2> '- (/$V w%4#"3264>54.#">32#".54>323265432632#!"#"5463!2>54#"#"54#"#!"Z'0 :7)#` -, *V91F:/H0 &cJ7P#/UN;]7# U1`%$Q.UeB  /H @W.\*2&(QL-;Aq)'$\Gt):`:KU: %:jD7,#;%]sCaI6ugB#5HC#g'h42Li8)-Co== ?L3>;43yvu+(X+62#"547!+"3262#"5463#"32 ,!GBV# ,!H !j*.YS+`'(*.Y1r&)#"#&54676323?62#"54.2M, 7i.0.HBx&M".,G*;6T#/)</8.D#7$"F-&#LYGl=' t %323254&#"&54632#"&54&@A-j@XxW6N4;6D*N;*3 T([!Z@1l*8;1( b354'#"&=4'!263!2# 6%  yG_L% +.1( 2c_ 9?'23267654'&#"32+"&=!26;!2#"&5<5467354'#4 ':nHS-2FTjaG'6$ #R~J.`{l"01"]LUSdtXc!/027Uwn=s{~In% Ev J%2654&#"4.#".54632#"&'&5463232>?2#"5)-!-,&3IYE%JR?)">$*[A 96 4eGb9,MjU< 2#DJF832#"&5467.5462654&#"4#,-!0V 96 |g4Ojc2tY!56F^* c54.#"%#".54>32632#"54>54&#"#".5467&#">324&#"326Y /% )!, iC-G%Vp\hHbBi?)VK.7._-:gT7P#9:HF;WE7[5 &V[%"GG828 '- (/.'#jf->N4Ye.-#5GA!S=+;qBgYq@^I28% !5dB:#;]CFrv':?w&@:zv'4?".54632X!, > * %$&#/(%$ * YGV%262#"54#">32#".547632>3!+"3262#"563#"'4#"3265.,Es] [5*,#99-F$?mu#22sV ".,G_Z+ /)#B(KYZru:!C.;V,.?O4eWK&$+n5(KXw&kr" '- GK\ 2#"&5462654&#"I?H=;QK;2B;1?65S5CWY@>K7,2;E+((\$ )7"546324632#""3274&3254&#"H#'#c,"!HC.)B,.K%'!(`(", ,%2,,(!H?73254#"32#"5437&5432#".54632#"54732654#"w/+. "H(,%O96P%/-'$? TV9-)&%M *C>0 9=%-A55>'#B "?QG(&Z(.6A%#"&54632#"=32654'53"&54632'654#"'"32654gh1/#"?8<.M< !!"+$!/+hPg6E'$; 3 )5  :*,#%%/(*R 'V,=H%#"&54>54'#".54632>54#"+"'&"#"&54632632%3267&#" Q$5 C/V0 B8  r-!3)_,1$%E [6 "&  #!0;I25!  #%22pS'&-/'MU^g%#"&547##".'#53>74.5432676323223&54632#"'654#"24#"'4&#"#32>)"$-XB(5&SRP7"!&AN@#0El")")5[R95 I4$5  =,.!N$+1$ BM >+8P 58L1 P4#,%((& $ kN&u4D,!(1'LT%254#"7".#"3:;!32?3254&#"&54632#"'#"&54>7&4632f)*W9!;! +#, !X  4$%N:-?,M&B* m!a# $v&3$+%B" $#[.::9@D(5+ 4& BTzQ[d~%#"&47##"'#"&5467&5432632&5432#".#"!&5462#"54654"254&#"'3254&#"254&##"&47#32?1%-%$" ,:.B2-5N= T 9)+G%>& d31+)&X !$,$3 %"(5/H-4E;!I3Ge$&.) 1!#!3)"-' (.05!{B# $"4#*#)-$YB6k%2654.543232654&'&543232654'&5432#"&'#"&'#"'#"&54>54+"&5463232>7H$'# D-.0.:)/D*2-0c !)@5(77&%7D4 ,#0,5,5 '. #'*3*5 $")5,? RW -)4D4@ _O&'1Ce"L5BR-&&*+#N7:&*!-! $'%!)#-3(6)e532654&'263#"&54654"&#"#"54632>32T&43 o#/W I#  0+ N0# &,P@3I//"A#' #*dm L#1W#0)Wj",723254.'&5432#"'#"&546254&#"&%I23" 9F+,8 6!-(&48"&,&^9N(C36032&23254.'&5432#"'#"&546254&#"o))/-0&%I23" Fr+,8 6!-(&48"C*8*#- w&,&^9N(k"32654L4& 4&+-%0.'#, $=*!*   .&,  ;#!F[-/**0%$/,! ;A/0    / -: 20[;=%32673254'432#".'#"&54>54#"&54>70;0<*& +'< .%'  %62;251' -&+(26$,1&.  .%"0(-( 4  [D"&5473.5432232673254'432#".'#"&54>541'E  +%2<2<*& +'< .%& $%62;2( 3@*) , *!1'+(27#,1&.  .%"0(- ]^&#"32"&'47##32673254'432#".'#"&54>54#"&547#53654'"#"&#"4323!2H%;7=D1&,2<2<*& +'< .%. B%62;251'+0#U? )6 0+$,%-!1'+(27#,1&.) O.%"0(-( 4/' *+%#Te3*%#".543232654.54632#".#"eJ>(;   D8,.AA.6-+H & YGTG\0;-# 4"  ("!0 +Y49BL2#"'#"547#"&4632654&##"&5463232654.546&#"3262654&"jD(/ 32+$)D",+,,{0%&cA3 -*O/10!4V[-/#!2'D :0)/*,# '"z;22A,5 ?W1#2#"&4>54.#"#"&54>IX8  6%-R9 6@1dM.c  8 %-I5=Fd/5>*Zt3 J7"3254&7232654&'&54632#"&'#"'#"547#"&54323254&'"5465q(P)3+/<'%PH,)-M3  !! )I ! ! [B*}$*nO$'->:E  hOME1!G,>!Q!/"I V;K Z3E"&5463237332>73254'432#"547#"&54>76541'.)!-4VI!4  .=  O T&11"' 2$&$ ^^"' # .--1#L  O4&!,S902#"'#"&547.5463232>33254.54Nac5 #2"$ X&&=%! 1H!//!9lU><%0 '!,-.1,V3F T962#"'#"547#"&547.5463232>33254.54Nab2-#2"$ X&&=# 1H!//!9jU1:,&?);%0 '!+"1+U2E Y<P%2#"'#"&54>7654#"&54323254.'&5432#"&'32>73254'44$I$6- *:(Y#)7C  /"7 L,5   H> x1%.Y 7$  . 5I& !-,!#0)"( S/ 832#"'"547#"&54323254&'6323264&'&546 $=34 4 .54'#"&54632>54#"#4#"#"&546326323533#C/H0]Bb1  K)-BG.S K; =') =0\I!^C0(-*  #1'!$ <I7L  $(52r"-U>G%2654.5432#"'#"&5467.5432#"&5472>32'254#"e$) & $A7A080:>5 $$ V& O--./(4->gH:W>32#".2654&#"7#"&5432] @+FTPE#8!2QD3:EDa'.:'VEJ]'/%[9B2@F4/D(\/1:%432#"&'#"&54632#".#"32>23254'#"7254#"7FB?,7 06/kXp  9,GV&!&$IV7<<%'%{=U5?4U2QfLZD!*&%L>4$\/I%254#"'432#"&'&54747#".54632#".#"3276323254'#"&s%'%,FC& 3 -%1kXq 9,GV!&A IV7%[$"32#"&54632>54#"&#"3"532>32#"&5464&=&54632254&#!.#[, &4'0 U")CL mq %'54'*51b"+!,O7#"&'4632.'7#"&5465). '%@@S"6%  /"$JX]EG^2! '!; )A+! "%* gGCYSD/,^1 :7"&546324&#"32>32326%4632#"'"547#"&#.G<*5$D!:)!aOGT?(/,$),  ?M <*]$#E+VmjOF32326^aOGT?(3*),1 7%+5$D";(!lXmlOG<87BT-. =)^$$F+^1.%4&#"32>32326%4632#"'"547#"&#.G<*5$D!:)!aOGT?(/,$),?M <*]$#E+VmjOF54#"&5463232>32E"&# $+/$7;"0+5+6!&.J*1*2""(2.A  i:";2>@:%)!.!#(F)#*#1-X7G2#"&'#"5467#"54>54&#"&5463232>323254'&5476)@& ]  'N)2) &+ #'(1(9($8Eu27*:7u00+ 6O , # ((-.1'Q ]174>32#".2654&#"] @+FTPE#8!2QD3:ED.:'VEJ]'/%[9B2@F4/DS-*5%#"&54632#"&54732654&'"5432'4#"326"77H[<1F$ +0,9X%#  +3L%bI9Q@$I#2 :C(4 7&MH2#"&54>2654&#"2H!#@(Ee#@2@B0/CBH*=1 %2)`J $2)D.1A@20B8'2"&42"&4672654&"2654&#"iD11D1S<1D11"" /H//H(+$//H/ LGUh74632632632#".54>7&#"#4.#"#"&547&#".2654'2654+53264&'Lt`F+4Gv.3[`B?QB&8 &1!'N;6T .(B20(J0C"042 i<;RL`Ygz74632632632#"'732654.'#".54>7&#"#4.#"#"&547&#".2654'2654+53264&'Lt`F+4Gv.3[{?ZWkD4$&`|1%QB&8 &1!'N;6T .(B20(J0C"042 i<;RL`9E3"3!!"&5463!2654&#"#54&#"632#"&54632632#%2654&#"!:\2>>2uEPN>'0TH56Y$:0?D2>2uEPN>'0TH56Y$:0?D26@4CTmYD] $:0?D2=IjGi5!# !QjJKACd'II-A1 6hWOc( h<3SA  \z-*I:%,7dLViA28HnMZG^t.KL}1%"/-#'0OK/;FU2#".547&54632#"'32>5#"&5462654.#"%3254&#"2654.#"BPxx?zS2\b;xxQA4@?3?&{9SI&)>4>?A!!#=#y,GE#%HF+gM)^1. ?-`+MgE59I>\A !@/>J84F0$ !%."WT#1W".;90* *0R+5?2#".5467&"#4&#"#"&5463262654'!2654'fUD)< :0`AS1&10: <(BWf]>D'6Ug6H(7gU4qQm.C5:r$.%5H&p:6C.lRqGGuI8nHQl3GF4lQIm7JN>6>2'654&#"33#".5#5654&#"&54632354626=#k2ygT\nS?4(< H:+0@1<\KHb${"-¯mgx1#u5G&>> -O/9F9G.[M]YJ:*0' =7MN@OW%#"/32654&+532654&#"33#"&5#5654&#"&54632354>3226=#'5K< #2)&UE"DA(S?3@PH:+0@1<\KHb${"5GC"?`.", R>Jb?=-6V^g2'654&#"33#".5#5654&#"&546323546!2'654&#"632#"&54626=#%264&"j2zjRZpS?4(< H9+2>0<]JHb${ay1W^J)A% ,=2C?4AN"-q&'@()°lf{1#u7E&>> -O.:G8F.[M]YJ:*0ɄnHAxYp"/>*HQ@9GmTy' =7M-H1.H0NJ1=2#"/32654&+532654.#"632#"&54>2654&#"f]|EPP<# % '/(((!<9,?1BB6;IsT<_9$m.%#0-$-(N R^2#".'332654&#"#546!2#"/32654&+532654.#"632#"&54>2654&#"'O`^N*@ 2'3C:1'4 V~]|EPP<# % '/(((!<9,?1BB6;IsT<_9$m.%#0-$-(N:lx4632632#"&=332654&#"#54&#"#&5465%2#"/32654&+532654.#"632#"&54>2654&#"]FN/6LH681cCQo!+)7O`I:",T1 ) ]|EPP<# % '/(((!<9,?1BB6;IsT<_9$m.%#0-$-(K)08C2#"/32654&+#"'#"&546;4632#4&#"325#32=#"H?C1&!'2ETER'!A:IRU%N?%:E8,+44*f?"bT57I/3'4&fPPV:H1Vk#.=#:PM=I=R? %`UM$02!3!5654&#"632#"&5462654&#"7^VSIebI)A$ ,=2CB6>K !)' *&zdkXGJtPi"/>)HS<:HeS~l.%#0-$'.M+2'>54&#"#"&547326=46N_ =-$3 J6%<ZCUe|42I<%8au_9KC6I2#"/3254.+532654&#"#4&#"632#"&54>3262654&#"zGbBJ_G) 8U--'$.717/ASS,-?1AD9=CQ7Sr+7$)#* + 9(R>I-G"?/"80! $. H1>%4632#"&547&#"!532654&"#&546323&2654&'udbECR@8Jo$Mf_"-(D- +H;AQ2<'1%fe|QL`ZrXFZmWx;">-*3.%=IY=D,TB@F>TTc!1 KLYb2+"32$32#"&547'#"&546;2654&#"#54&#"632#"&5463262654&#"324#"3>+,W;,8!>2,86-#< ?`/8fS9L5'(0R@0=$(&'*5.lS\:!1** ?*.-&t3H,-!Z3&5AC5+57,Vg#0& 9E;$BR56f fLKW"'#"&=4.#"#".5467&#"&546326323265332654.'2654'X*9 k9.RB_:-(lUD)< 9/-M^^!kwb?4.MJX<)"?S2):N 3#D)5We(@D3cMLaLa :2ZzRl.B6;n% nW~?Mj`M]LD,#D4>iM-94K6oIPo #,MR=GQ2'654&#"#"&5467&#"#4&#"632#"&54>3263262654'264&#"Xo{1WkY mSB?P9/"6CSS,->2B>6@N1QR+RE9\7.8P+3Wf6 >&' *iHBv\{ [|RjdS54&+"&54>32&#"36HT%=> D=o6-.5a:J(O7D5i?L) ?5*= G9 ''F4/.G80)"M 2"&5462>54&#"'dyQ1<*bGHa"Ihd{afn!H0Id`G3>+M@#"'#"&=74&#".5463232653327654&'W)8 "/:)S92YHa5!(0 6.*; qK7\G-50S(.5*.G)@D08X1 MLePSG>%M2I2#"'#"&=4&#".54632326533265#"&5462654&#";Hxa]D3XIa4"8Mo*; jS//E+6.S!0';`+)1@E=")' &$mWrPNiVEKAkO8BG2`'M5HSH;A$5 cr%#R;7K.")1/J1LK>J74>32632632'654&#"#4&#"#4&#"632#"&2654&#"L$8\:i0/Xj/*SN:A 3)+hK;'3S@2&6SS,-> !*E4>Lw,(*&%HJ8#OMHJ=Df3U6 ARf-$3B),)5G =*:Hj0,#'0-$'.L -72'654&#"#"&5467&#"&5463262654' t5'1VqSnSB@P9/&0H#^!kX:84M*5We2Öf,<=Cpa~]zTheR;n%0G=~?Nl rH8oIPo4EM 2!33546"!54& \uqTps@P#RyciWg3YFιSaM*2#"/32654&+532654&#"&54623K"KOgL%-1;G4+*4==2M]( .% @K;P 7)"'2,)"$/yfO` rL{M.#"'#"'&54>732>5332654.'a&,nQV98PJ9; <*#*0B9(,S2*9M0" 6R0gMM@Dc4F?o54.#"#4.#"632#"&5463262654&#"eTdUIm#? 6%)8S40-;/>=2>Kj\C4$%&'s`HGmQ44-!,$. HR<;IkRuQOn.#%1.H1MC%2#"/32654.5463232654.#"&54>32#"&#"326+8PWDM /  "7 /^AIf }BLo9#3( +'M "2!546!54&#4&#"6!7>.Nk % 9 "BUFI &e $8dA,/6 jm36 4݅{O!/@%2654'7#"'#"&54632632'>54&#"%327.54&#"!WmL%Xn8*7VEK,@T*?@!-7-.>D "2R31D1#&1"x]nBN{n sSoVV*=4M4:)@UTČt]pWG[x]o@Jgp>H=UTc:8L2'654&#".546/]t"4-bXADY0#*.~f3V6)2vK\]M(82 5P/iM2!!3!546"!54&^uSsv@U(Pj/Gl0UC6%N[JM.=G"3!!"&46;2>54춮&#"632#"&54632#'2654&"!:w1<>/ . =$)7QBRl$:/@B78LtAQ7II$4+"$4 !)I6V@#5/$*4L98G98J\Cg} ?+=+B$3 1#$/-H2M&12#"'73254'"&5473&546>54&#"o$9 PK ?4c%F>]xK%#G9+O"==/%#*$, 7\+3F6<mMT6#+=@W?PMDL-)75+KL233!5654&#".546)\{SSvkZBFT+ )7zy\GNcL_bJ'51!AD/dM-72#"&547&#"#"&54>7326=463254&'iPA8Px(*2I[HRb >+'5!/' $:i[?MlÔtVnWG`"_HIOe~_7HC:@,2J!BJCZi:8{(lWK.4>%>73!5654&#"&5463235".54>3273"54SpH8.1A4D`MJc%/9( 6&B2e5' 7G-O.:B4B$5WK[ZJ9)?* #+RT# _%O g*<. w>L8#"&=4&#"#4&#"&5463263232654.'H/>^PGbD-)+S8"3',snOU91TDd<05A 4&FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7K22'654&#"!5>54&#"&546323&546a|"6,aZHF\L8@(!7,0=5D\KIa&M~h5V4)2qKa\LH^ E-6=.G!2[FVSE7.EjlM 2#".5332654&#"#546O`^N*@ 2'4B;0'4 R†cb'9/'=jNIa10  EbY2#4&#"#>q=QT1'&2"VYI=-,70'AN*Y!2#4&#"#"&5462654&#BTS4' #,$%1Q*"YI=-3B' $-2'4C#&9,  "7#"&547654'72654.#" #>20A]6rR) " '' 4"2EK4gvN$D Z. !",#",(#"&547654'7'&#"32'3265#"Z>Y2k6[5(- $d%%%E2`rE#@!Xj/U+- !+)"J }(2>54.'&5473#"&54632264&";']Q#*8aG5V@5(5(?)'@(# ?3&/[!&4 >8E223 -B.-"8L(2'654&#"632#"&546264&"9ay1W^J)A% ,=2C?4AN &'@()„nHAxYp"/>*HQ@9GmTym-H1.H0L#,62"&547&#"327&54632#"&5462654'>54&#"4Hb3R6* DQRC+:)&3aGj~ =**2D6'0.%/%mq-(1-&6Bec742*1-L8(HQ2'654&#"632#"&546264&"2'654&#"632#"&546264&"Uay1W^J)A% ,=2C?4AN &'@()vay1W^J)A% ,=2C?4AN &'@()„nHAxYp"/>*HQ@:FmTym-H1.H0nHAxYp"/>*HQ@9GmTym-H1.H0Ph>(BFkw2#!".54632>=4&#!"34632"=332654#"##53%2'654&#"632#"&5462654&#">U$5++5$V= +$W;b=U$5*2Az/$I'#%VV/A4%t.UZB%=" *8/ ;1=G{ #$'0>U=*? ?*O=U6!@SU>*? 4DCxHE(:P)'F,gU?^AZ&1!:(# /9RD\.(#$!P>)EIpx2#!".54632>54&#!"34632"=33254#"##532#".54>32#"&547&#"327&54674'324.#"6}+4$$5*f+5$V=v+5$U>=U$5*:9zSJ %WW&RC2H& 6: BSE3ii .L."(".> >**? ?*O=U ?*>UU>*? @L;{ O($+5":="4J&4+H $,-&l1 )/+' L64632632#"&=332654&#"#54&#"#&=6M_CQ-6LH681cCSm!+)7O`H;0T2 ) QjJKADc(JH,C/ iVMe!'h;4 @, X2654'3#"&5473k$0*Q=;NM.-$  =ID8 )L64632632#"&=332654&#"#54&#"#&=6M_CQ-6LH681cCSm!+)7O`H;0T2 ) QjJKADc(JH,C/ iVMe!'h;4 @, O/:FTu73265#"&54632#".547&54632#"%2654&#"%3254&#"2654&#"72'654&#"#54#"&546326xr|0<2>A1AO6\`65b]7P@1A=3>{%3!$B"" a~d&II,$0?) '%+"2 80('fTWoQR@;NtX0j0E##E0k5WuM D,<"!Mn<IS"&547632632#72654.'#"&5467&#"#4&#"%2>54'%2654'AXEDh[C@fGz@Vo[@U ,&PA/9JE$c*NS1&. 194  9?-1(7gU4 nPjPQPRVNuQ_w;aN0BYwH5=e l-!5H&o;(7-<-$ GI*(&F4lQIm6KIj7>3!#%"32654'3#"&IS>2(24&'2!> X@73546"!54&[v-8& Mtr@T(UuW (7)(F]8M;۲MdM23!5654.#".5464WuSk>*IVm>J}~_e\"Nc65!YJuD(t@kN%23#5654&#"#4&#"&546326@THJ:*'!@%/D[gU@NaiQ"WlLi2;4eKnUj|_HHO#2#"&5".5463532654&#|kRDYBx'T AYi9T0;iV1Âl[~J7gJ:0SzEfS;Qc#NANG2#654.#"3254퀆&#".54632#"&546ElA* C5hGvsIj8)Ib#)d1<);U 1W9N8Wsk5 1)?s;qpD;&1g(lPRO*I;b 4#\s5;+џPC52#"/32>54#"#4#"#4#"&543263261)9 =FiP4.I$?;#[?:C&TH"Y5&EC#0[kGqbr9E[.]'"W~KYD@7;MC$12#"/32654'&#"632#"&5462>54&#"~pP6 /QTnJJeYk4GB[);0Nj( ;"@:ëDtfFGjLCQ<*? vWog(&.(*!+<PC$233#"/3265!654&#"&5461]tTTp*Y ==mPjU?E[k]~FChM";2H7F``FpHEePh*22#"&=#"#4.#"&54632>3534&#322H% 5$-7"+G"! f_ h\IA':4k.=)B1QQ*#CC(aG4' zAPdF)SfhO3r 64>32#"& 1'<h 2#"&546"2654&Hd10FGe`L %.EfJEaGF24cHEd- 4"3JI51F2 #/7#"/4632'"32654&'"&54632'"32654&D* 7(,=i&- ).-?4),@5<$.!)45.H(;9 (")++d6.);:,(:*" +, #( {l9HX2>7#"/27#"'5#"&5463224/"#"&543327&#%4&5747326Nl G7(7'$@&8[ :Y(qP  "D[.' 0lU90=+ G'9 *"( փct&HOQu kUI&,<$"$cs2#".#"37>54&'.'5;23267>54&'&/"32?"&54632#"'&54676323#".546232654&#"@+%   &= K|AXc 4e!.eH/R2LB&h-$5NC9?KD'*QFiG=XE1e!+ &7/*A 0P &56.!9#  !9&'   )T)Hr  3% e5  J98CI@Gb1W{!,=hA" 1*$6 ,% F4B 6'-6.j Eamx4632#"&74&#"2672322#'"'.54>76?>74&'#":32>767'4632#"&74&#"26[+ #/. 0 *aAQ  d"%D0a:IM,B!$8XQr(FQ qbx VG3V +CH$(2$'#/. 0 * ..# .03d 1\ vX:l!@C5=`;8#5-O (Tb6!+ ;g.#/>1.# .0 ZC%#"'.547>7632326374&/"#"&/4;2#' 32654'71HyJFN oH8Ly ( - -&*-l -8C/yPT aJ`P8/բB PD*  Ki2*A+# Q}*$ ),7;?#3,7? N̐xp< A3 !T@, x8I$"$6 &Q;# : s4&#"3274.#"'>32#"'#"&5463232654&'#"&4632#"&54654&#"32>532>$$$A\tU"eMrU .N1z"?(bp^b#'Z?JO%" 2+>=+?igHPr+);*?27J 9)&<& ("(\O3;+'YjS9n&~w$ :($2<6 %21N3U<;IIA: #-J/"/D" /&@$#Yd32654&#";>2+"/3264'&#*#"2#"/#"'&#"#"'>7674&#"#"&5'4632>yz4=UDE-23##,' \HNMo 261JY@AH5V. I"H*  6q] % "=#_K9=2.MuV;?kw, Ix<\4* uTS$3$G9GuQr%I+yG"^/  54&">32#"&54>323237>7>&g%4(+ )%r% 6?euy&~#3E7Y@K+50di5$A5'MU 1X7j "+Akf.*3!7`B! ;<;A4^G^M/ @A'7T'1OQC/$;*'=c9N?-pf*?5  ZE (?\[%+'.'&54632&#";2>5&'&'4>32#"/7;7267654&'&#"672ek -0," ~A@Rh8RE 45(I".AN9q]*8M!  #. ::V!4Jb,,Lf -6D p\7T* 'K  *5U2" v4?$  =l^x" XH !@:q4&#"2>7>'"2654&4>75.'4&'.#"#"'6;2#"'#"&5467#"&5463#"32?673274APO ![ *O?6?$s2uy&<3u( -/hkJ5mPp'+!R>-45A32#".54>7#"&5434&#"#"&5467#"32>54.#"=MrUWK=SxE.\eL1(3(J(*%91Gd@]PXI/ $8MJO5+4gr/ebN0'=eA'"  #66 :&-E"*9D) L~S?# g% '#32767&#"7654&#"303232'467 54&'#"&'#4>767654632632#*#"&546?632;4.'"+"&54632"&#"m" 0  :4!2+ '/  j#:acFi#G+@ F+=|$k0G<KbTN<"6 4  bX2ATPCGg#  #* " "%(9"y::F7*(9 85."'>?>2.IHsE(~=P #:(N6'B K" n2654&#2654&'&+46?6?632632#"&54732#"&546?632;&'"+"&54632+"'#"n5!@A<{=0 :D, ))E6B .( *%! A;T#30ݣN<"6 4 ObX2X. 5/ Gg#:ac!, @T,I>\~! !1*0 -""D;v~=P K :(H4B:(9"0a"&5467#".547>3632.'&#"#"&5&#"2#"&5#"'&#'>74&#"#"&54632>32672&#"#"67232726532654.#"632440+-'-9wE:rw8 ->,.*Y !QVkY#"VQ76&(eC-.?-|n,1  _D*6 Dzb#F9=`_ /GA^0rB= )"/+#%>p-S>31HQf)!@w( H=N6k=m6/ ,+<'(F"7>7>"&5467#".547>32.'&#"#"'&#"#"232#"'&5476322654&#"4632632&#">767IE H,  ; 40''%)9wC22:,.*Y 0^HF9t~YZ28W+6$B-A&N4<  F=I6k=o7)! ,+<* sR6#dZ\{p[e,.!))-? W3,z $#E.  -1&a,(   ( ,(*:6'>32#".54>32&#"!2654&#"MMrUJWG* %=OrD>OK?&(>'b"/;1H# 鞟+$8GD@&&QaXU=% &3N.#6(,/.{*LW!"&'#"&/467"32>5;2>=&'#".547./3267&'(+='6WUqw?g1R,0:(4@_ 4H'*= " +R]F  2JH6<I 0DMa*iCX)T1"F/(-Lr!$X?##3(2: *YcQP$/6#2E[>:W%4>74.#"'>32#"&'#"&5467#5!4&#"#"&54632'"3232732>A\sV"eMrU\{H !4Z:9``:Uq",HF3+L B/-B#"+ Z>*(3M%I6\O2;+=&'#".547./#".'#"&546?#"543!4.73267&'MA#2my4&#"632#"&57#"./.'#"&'>?&54654632%67:32632#"&5732654&=4./"2654&#"%2327>54.'.54632#'.'4&#"3267&#":D '/ $-1F=,-D6?BZ%?;(3  [aD83C)]p<" 'eP2$D;(*=058%"' &%&$6&23"KOs4L"#!  O<'5&%,A17#8&#$"?7WPjY&> ;'!B1+;$?G?  ,7#47"0&(!1s % F8&5 " /?$'!2 0'+: #$ %!&$JD !R[m4&#"#"&54>32>322+"/3267654&#"2#"&/&''>?64.#"2326& $&+4(* #HA%,9RB .z*!e|& 1")B& & #.+>lCWi*;?0.6 *B+:K=+(*2* >3I .E!+1EU%'/;".547'&'#"&547>32&#"32654&''327.'%9 0 V`.,E9SZ@ag-Q}*$ ),7;?#3,7? N̐xo42"p`!7 x8I$"$6 &Q;#0M_C"&5467#".54>32.#"#"&5672&#"32676740+/2(ngH>EkYA>/ D3Y !.C6)e 6QF2q*A V7)% >=N"9W.6R3 !<'/ <&* (I-Wj>$ ,( :E4.#"'>32#"'#".54>3"326732>;Wo^)eMrU\{H-[=i7 5 0K) *#1$"4(+V@BW"K<3I%WR6;+5'&#"#"/46;>72"'7;>74&#*#"#";267>54&'1D6' KGRq329." ++!-rF  *zZ0eaF"' N - 7 I C6)#  (!CD(32B> .R4 &;ODV X99%2#/-:q%91 2X9J*Ka( 0 Ib%)-*'  5*<@FlU"#".'>322654&".5467#"&'.54632&'"2327327} )@*QN>' .RCD)7-+ 4r$L>GU;4C;I=*qZ9F :#+2'0C.D KR! 0> D))S,hd"G.  )D*M}# )$4- :iJU!"&546?632;4.'"+"&54632+"'#"2654&'&+'46;24&#"?27N<"6 4  bX2AT5/ Gg#:acF@A<{gI '/c݃L&0Zd`, ~=P #:(N6'B:(9"@T,I 2i 4-#~v/D5%'GS".547./#"&54>724/"#"&/4632&#""3:32654&''327.'%9 0 V`0eH% > PD*  Ki2*A+# Q}*$ ),7;?#3,7? N̔t#>@*A3 !T@, x8I$"$6 &Q;# ; ]7"32654&%4.#"'>32#"54732654&#"4632#"&'&5>32#"'36"*%+"6JIN8eCrO:`S\@* "2X6!3_Z%B@% 7'+?<*%.6"2B;c} d#ͤ'4)&)DsM;";%"E\X UlX< +"-! 3$A&?9*);#EQ@d;&v]{$#s^I4632#"'72654&/"#".547#"547!4&#"&54632"32>54_ou&F"#D[`W!Dd%jN|'>32#".54>3232654'#"&'4632#"&54674&#"32654.#"&!K)")UMrUW~K6`U#DFN;'%,! ;0]BUhG15%5 74:>+ .T6J5 #u!5GIM<!+F ,*+8kjAoG6FkA6Z5%3"?02NA>)F2&:C#D+#/&>5$J$(Q6KnjCqM=$: 4&#"3264.#"'>32#".54>54&#"#"&54>3232654&'"&54632#"&54654&#"32654&54>3232>#< ")A\sV"eMrU\{H 1R4 (+(*/'$4,dn%W>3 I68U 4L3L)1OdEF[JB /9+ 49* q#1G)(D#&@\O2;+73267454&+4>32#"#.'#"#".4&#"32>,u]&-# -6Ebad   ,>*NAd;,A:=P2{a7k 7"6A3"7Dm"'@  j$sF@V /2@CR:X-D!72$i:t|^)-&8_!0a i'B2#'&/&'4>76?>?2324&'#"3267>5 &7a; a8FHiH.?-O (3d 1Vf,0l' +D0bTY2#"&'&547'"'672#'254.#"327>54&'7#'.'.5>7>{04Lx$0&%L[BHa%  U?  $ 5 #1R,&!Oo6ID0MtTRy} &   $[0? JC7f*H0,p= DPF'4$7 4:JuU4'@4<&*:B'>32#".54>374&#"#"5467#"32>54.#"=MrUKsR/6^V.X]E,&O6zJ( ,91G2W_8MyI07W\+Cdb>pG*?kD 3%#6% l+= +:8BrnL/mXe%67&#2632'2674.#"2+&/&546?632&#"32?4&#"4>32.#".54>#5 *,%/  !2[;Wb ,$ /S5W'%b_J1*B@/5< >r^&+/7rG08 &($ -48(<56*   (,=1#8@1 )7. Vm   54&#"3263232%""&547>32#"2;>54'#"&546;7&+"'4632#".54634t<#1**!iG/d )F@H.װ !T+iO?O.obj`""#!&D#[9 ME !2 9(L,$$!1!!9PbD@ \)|5{^ZmW/BhQb32654&+"'46322#"&/#"&5467#&547!4#""&547>32#";265%654&#"3263232"F0QaN=T+iOAR @{bEOTAcz&1I =e]93Gh,V%Q8CI3G/32&+"#"&54632&+32654&#"#&546?2"/63232>74.#"6$"#2[o~C.Q  X/c(  . `M ;y"$Nl^y67D *# +Z8*,&4&Hei @0P o$' !8c tDQ5&) _ y$h3 <&?zV0f[o%#"'&546?632/"32>54'432#'".'54'32654.547632"#"&'76323324 !8Db%+kjuW`cr !0&-Ke 2\; r0LbP7z 0/  $ 95P({R94632>32+'#"'526754&##4&#"327"&(j=`D`w%g)6+Vn b74&'eO,:0">YJ?(,${6BN+NO ]YUu ,\=v +L.<\,#,".'54654&#"#"'&5463232632'3254#" (5&[ !)/ B W7 (+%.687P]+"'4632#".'53267654'4&i# L6 +6-  ,L#4 1*#0 =33M@)>*6!)% 52<'?S~&54367!37#.54?67 # 29T \(ci)W&/{  ~X;J* s]HE490#"&'.5467#57+*#"&'4?732?232| B?)9332}$!& 8g5&6#![2RQ)' 6):#76W8 &.#$XE#/.$.B % "+N' (2;7!"&463/";26bg"/?J7 (9M&7HQhA % -&1/=#"#"&54632&#"326327.(?]_2( "H@.9; c' 5G;$: #)3I B , oZ#474>32674&#"'>32'&#".763267& &7-/HI:#B W/9O%!),9*/!0:'75P':G_$$.7[W/SD%' N+#*#"Rs!!in5A#.54632#"&'&547632'&#"32654&'&#'"32654&"/ J,B3)qSRfW}# $#3;)$2<[(6@7=N*$M>fgP3A^`  RTjUkWG>?X?1 /5*/E'!19BMbb<   #%5>aE O*aZV;e<)F  U,305z7gUmTF@  **0  :LF;-7%#!5354>54&#""&546;2326534&"26&9'%"#&4&F1BHGZ$$R"0&<% %)0 "00"5GL/ 02 (x((((F:8B4>3263232653#!5354>54&#"#4&#""74&"26F& ($.@KZ&7!'!#&4B$$D4 *)F3 02 ("0.H#/#  !)0 "0R((((F7'134.54632#4&#"4>32#"'4&"26 {]d}ZKDHV 0"*#(P$$Hn7S0Wp}k2cW@3,33 !.C((((F 73=4632632#4&#"#4&#"54>32#"'#4.%4&"26FQ<:#C;AZ$%,<  0!)#(U"$$nYp66gU?1')Y.2+03 !.Fl7T((((FC:@JT4>326323#.'#"&546754>54&#"#4&#""74&"2632=F& ($.>-bZZ '>'P848/!'!#&4B$$ "# D4 *)F3 02 =:"4@+ rXL+,C .H#/#  !)0 "0R((((45YF74632#7#"74&"26&./:UB$$D260/tAR((((F7",2#54&'+"&5463254.#"'>4&"26 ^Z+*$&,%F:,+oBrU$$7hTe.  30"%0G0,@ ^>H((((Fl7+1;2#"=#5#"&4632>754&#"'>254'%4&"26$a/848P'>' U&&./:c,PFvEz&FF$$7gU C,+LXr +@4"0D2609<zEU_ :L4LY((((F\+5@%#!5354>54&#""&546;26=3%4&"2654'326&7!'!'%"#&4&F1;E&Z13d$$&GIR"0.H#/)0 "00"5G;*`C> ((((c!W0(F\6CM4>326326=3#!5354>54&#"#4&#""54'3264&"26F& ($-9'Z13d&7!'! #&4H&K$$D4 *)<(cC> "0.H#/#!!)0 "0a)0 (((((F7:@J23#4.'#"&546754&#"632#"&=467.'>2=4&"26aK.ZY 2"P848/PFf?*I&&./:,305zFFY$$7gU/;;, rXL+,C |EUB 0D260*0  :L945Yr((((F72JT^232653+4&#"632#"&=467.'>2654'3#"&54632#"'74&"26%4&"26aRZ&V;f?*I  &&./:,305zX(1JRT>I.+&&$$$$7gU("0mTFB  0D260*0  :LVH e{Q2'60D0"r((((((((F 27=GR2#&'#"&546326534&#"#"&546325467.'>4&"26&#"326QaZ&5 E'6FA<87-V;f?_(?2'#& 0 z_$$43$-:$77gUD+&,2! 7-6TFB@ 3D5"0%1  :L((((#(F 27BLW2#'#4'#"&5463265374&#"#"&546325467.'>4&"26&#"326QaP7.( 8,951,/'-V;f?_(?2'#&1 z_$$**$/+7gU80#(2! 7#'3% eeTFB@ 3D5"0$0 :L((((#(F3-R\fp22673#"&#"632#4'"&5463254#">4632#'#&'"&54632775#"4&"264&"26&#"32 k  ,bL>5_JZG &4&-$45<,aB%,*-?3)%+#%( .2*$$l$$ .1 -!BPL4"00"'/0 eMkD251BB6$$( ! JEz((((((((F}<@J%632#4&#"#4>54&#"#4&#""&4>32632'4&"26CMP@%8W)(#"Z##&4&& ($-2>$$|8"(e w~.H#/"!)0 "00D4 *)D5/\0((((F7FPV2#.546326323#4.'#"&546754&#"#&#">7.5464&"262= '!&/&\%%V/@"C:<K.ZY 2"P848/$;+11 '%#E$$+FF9I@^.L{g5hl66dT/;;, rXL+,C @0'BPA+NV1 /"4S((((45YF47;AK2673#"=#4&#"632#"&=467.'>254'4&"26a.KU/848P"2 YV;f?*I  &&./:,305zFF>$$7gU/C C,+LXr ,;;mTFB  0D260*0  :L4LY'((((F7(23.54632#4&#"67.546324&"26|[d}ZMB8[1 + %#) (&/&O$$?k32632#4&#"#&#"7.5464&"26 (&/&\%%.)@"C;AZ$;+11 8%#E$$1!PFc.L{g56W/66gU?1'BPA+NVc/"4S((((F7(22#4&#"632#"&=467.'>4&"26aZV;f?*I  &&./:,305z1$$7gUmTFB  0D260*0  :L((((F<<)%632#4&#"##"&4632'4&"26MP@%8W))"!U&&./:U$$|8"(et0D260((((F3",22673#"&#"632#!53>54&+326 k  ,bL:8To&&a8<P.1 -!BHS"0iMk$71(Fk7!+54632>73#"&=##"254.'4&"26F&./:],Z/848&/&;' T" $$D260:<C C,+L-+r +@4"4Y5((((F!7"463232653#!53#"74&"26F&./:Z&7B$$D260G("0R((((F!""463232653#!53#"74&"26F&./:Z&7B$$D260G(0"0R((((F72#"'3#'#464&"26.&&ZZ]:k$$73!"006T((((F#2#"'3#'#464&"26.&&ZZ]:k$$73!"006T((((FY746323# ##"74&"26F&./:~~Zest_B$$D260PR((((FY#46323# ##"74&"26F&./:~~Zest_B$$D260PR((((F27*42#4&#"#"&5463254>7.'>4&"26QaZV;f?_(:/.&&%# z_$$7gUmTFB@ 063!"0#  :L((((F 8 *446323#.'#"&54675#"74&"2632=F&./:-aZY '>'P848/B$$E"# D260<:"4@+ rXL+,C R((((45YF9,62653"&=4675.=4632#"'74&"26!(! "!?Z>Zrr?%:0;0/&&Q$$$  8;0*;;*<4II43=?  :"(;>3D0@((((F3)322673#"&#"632#"&5463254#">4&"26 k  ,bK:8hB:/.&&=*a$$.1 -!B LN063!"0fMk((((F7(22#4&#"632#"&=467.'>4&"26aZV;f?*I  &&./:,305z1$$7gU_TFB  0D260*0  :L((((F7(22#5.#"632#"&=463254.#"'>4&"26 ^Z H/4!&&./:PHb1,+oBr8$$7hT4FC?W0D260IXS8,@ ^>H((((F 27(22#4&#"#"&54632547.'>4&"26QaZV;f?_(:/.&&P z_$$7gU`TFB@ 063!"0J :L((((F7&4.#"'>32#"&=46324&"26-+oBr:\:/.&'$$m,A^>HbW063!!.C((((FV!4>34.54632673#4'#"'3267&#"4>4&"26 {]Y?[)Z!*(&1 ]HV 0W$$Hn7S0Wp6#2N84E25)!.!_W@3,3S((((Fw72<F4632326=#.54632#"'3273673#!53#"4&"26'4&"26F&./: ?H.+&&)Z6T&74$$$$D260G(Q2'40D0!C3KuC"0.((((((((F U-4>$#"&=463267.#"'>32673#5.#"632754'4&"26#&./:PH", E'oBr:Z>[&Z H/4!!m$$mD260IX ! *^>H/2I6$c4FC?W-! ((((F=>%/9%>7&5462#4&#"##"&463274&"26%4&"26(3&.@. X!,F2[&&./:$$$$_. &%55%. ),)0D260((((((((F &0:46326=3# ##"&4632#"&57";54&4&"26'.*9&@7-est_&&./:~~+6?# $$"2.)+=0SP0D260 1%>#4#C%((((F7&02"&=4632#"'26=4.#"'>4&"26 ^rr:/.&&?Z>,+oBr7$$7hT4II4063!"0|*;;*,@ ^>H((((Fd*4>4632653"&=4632#"'26=4'#"7"327&4&"26FzLDB;22rr:/.&&?Z>WVL3"D7).$$Y&'+A-2I4II4063!"0g*;;*;&*g "#((((F<(2".=4632#"'3274>32#4&#"'4&"26#3 .+&&= #-W  -$$],# (60D0M ##5%:'#+ ((((F6+5?#"&54632#"'3267#"&54632#"'32674&"264&"26xX>I.+&&,0FJxX>I.+&&,0F$$$$6_Q2'60D0!]f_Q2'60D0!]f((((((((g|\#"&54632#"'32674&"26xX>I.+&&,0F$$\_Q2'60D0!]fR((((By7 !#4&#"'632yZ$,=<Xd/L33X GVy"&462#4&#"'6324&"2M-@--@YZ$,=<Xd/L$$D//D/33X GV &&I[4"#"54632&.#"326320_D2J%sXN>(4v%S!-?* O 7S%&[[o"#"5463253&.#"326320_D6,?sXN>(4v%SP/IO 7S%&I[n+"#"5463254632&64&"2.#"326320_D"!"$/sI N>(4v%S""'3b O~7S%&[[o "#"54675353&.#"326321\C>?w\N>(4v$S;B P/IO 7S%& 4632#5#"74&"26%,*-@B$$D251vR(((($463226=3+"&=#"74&"26%,*-@!N!B$$D251rѸ 22 +R((((VL "&5462;%&$ .!~!"uQ"*29@%+#5!5>54&'5!53'4'>"#"4'&'6&#Q1^? B>"">B+v$' e*#6)"77  1#o 0Xd F7 $#"&536324&"26&./:U$$lD260SR((((F7 #-$#"&53632#"&536324&"26'4&"26&./:U&./:U $$$$lD260S0D260SR((((((((P%*42632#"&54#"463232673#"&#"64&"26>hB&&./:=*s@%(   ,^Z:2$$LN0D260fJn  -!B ((((P'1;$#"&54&#"&54632#"&546326324&"264&"26P&./:=%$2%&$!+JY>?[$$$$lD260-BA.#"10"#/Y5>YY> ((((((((P!+>32632#"&54&#"&54324&"26D,%9&&./:`$$j[R9$0D260=(!?[::((((7 #4&#"'632Z$,=<Xd/L33X GVV <2<4632>32#7>54&#"#.#"632#".4&"26V>/%' 22 3W3 ('0$&&( y$$9?OO?9 )0B#&0D0DC5((((]|5?4>3232657632327.54632#".#".%4&"26] C0=,.6PSE 2 %$% <0   :@$$**'41&'!-? ,!$/(%1CN$((((Z#"&'\a]]%232>73#"'567#"&44&"26*%&;7aABS]$6* C/%B:"#'6  #]0:4>3263232>73#"'5654&#"#4&#""&74&"26#%%   %';hc8 *T#0"!** C/Nu >!&''   : ##5#53533Y7-::-7;;*::z 4632326?"#"&74&"265>  !&-9&!"'o'< )& -'+  |"&4624&"2Y-@--@ $$D//D/d&&}#4>32&#"&"327#"&4632& %9& ($ 1"11"2{   ? &-!07N74G}6$4&"26"&4624&"2"&462AZAAZꦦꉔҔ%SvSSvZAAZAꦦ|ҔҔ8vSSvS<"&4624&"263SzSSzS"|||NkkNMll<+52#"&54632'654.#"3267#"&5464&"26$-V.Cc]\M<G#+ 7Y1%&  &*>$$9*6tLX|X95z/L* pIOj/(0!"2S((((*=G%"&54632>32#".=4'7326=4&#"#.#"63274&"26 '6F6/ .=eIY?;D.VVaI' + &" $$z^154&#"#.#"327.546274&"26*6-gD< 'O.[IE'$/*  -1*# &4&R:$$ -K.Y{UTi[?uFIR$4  p;1J% -"00"8?w((((=v3=74>=73263&5432#"'&#"#"&%4&"26=<`tt`<9ci{&$bOE B\&& HL'f#(Rd$$?[3(%-P7GQ74>7&5462>=7#3263&5432#"'&#"#"&4&"64&"26<%C/R(2F2DX;UFgMBbOE B\&& HL'f#(Sei 1B$$$<&' .#22#XA :W+ -'E(2H&Rh0D0#$ %$\w$((((-774632#"'3264&#"'654&'7632#".74&"26<2!&&2C6DD6!O,F/LX:=TvvT-H) }$$*32 "0Gjj#%.Dz M(||(1$((((<NX'>54&#"#.#"327.5462#".54632632>54'.'4&"26;`<. :}U'$/*  -1*# &4&R/*6-gD< 'O.[&$BC ec.$$*3D:C%OauFIR$4  p;1J% -"00"8? -K.Y{UTi[+l$U33um((((<g=G27#"&#"&5432327#"&4632#".#".5>324&"26r 3"&''<UY!&&$5) ([H$2H"mO!X$$V";/\V5%>9>>0D086#4 .-%/@7Uh,((((<==G2657#"&#"#.5.#"&5462#".546326324&"26 ! :"y4P&!-1G&4&9,*D' gD< 56$$c#6$CB(3]#)4G16:)p;M]%"00"./"132#'54&#"#".=4632#"'74&"26cV%#1V  7#3 .+&& $$7mΘ7%56%-,:'#+ ,# (60D0_(((($>(/7?GPW`gp67&546267&546267&546267&546327&54267&5476;#""&547'"547.'"&547&'"&547&'"&547.'"&547.'"&547&'#".54>32#"&54632#"'32>54.#"32>7&546324"6'4#"64'32'4#"6654/'"6544'32'4#"6654'54#"64'24+"64'24'32Y& -% &   .      (   "&&#2& "&m5D7&,CD":;"/)-?0 "*)''26?=(1MH!:bD.,&$ 7  S  \ v    !   ,MF?,01$; $!L'.  +( 1? $  "("  0(  $ #" $""  ,;<"+  11 : ,4  -6)j34LB*?mEJu@!(T<9T(09*= 8!.&J23I%=lDNt:9`jZ6,fQA13 *"7Nyc=Sz(J/ThM1a?;G3d32632#"&'&/.#"54&#"26BIwGrP>!"G28;1AD`E_*[((P]=$`%MH1 #B/3#1g'*11255DB.. 33! i8D(!H3] <% N )%"&54>332654&#"#"&54632Xl 4$9*(<3#$4?"_QZko ]N"*"&&""'%$/)/BO[gUmM <%"&54>3326=4&+5326=4&#"#"&54632Vk:) 9(';11$5"#2(]L`b \ aI20  '%"t *%#1 '!BPje/<M -:2#"&=4>=4&#"3"5463254&#"325%7>*VkNs2GF2),+aHI`0;&A9'a)#&=(a>#%#%$%M "0%#654&'"#"&546326324&#"326FG12$:lUSmgZFLB8!3&>"&;=#':Xj,4!*3)Pnh\*Nf11"C-l1*!#.)M '732#".54>32#7>54&#" )9)R84M(8-%7ET)387"#9<+ *&"M-2#".54>3326=4&+5;2=4a#>mR6R):*8$"B00 &9%b 9&@Z)<320(31x!(N MR%.'&#"#572.54326326327>=4&#"#54&#"#54&#"M@1P'f%@U| =F3.9/<3<00;F2 ( ,H,)S''+>&JD+ #9'& +-H,//00=< x3#%``/%#``1/Z3% BD!MM #1%#"&463254.#"#"&546354&#"326%T9MrqP6* *%8'wGPp`02&87+&87F0qr "6) ((9^oPG6*'99L %3#"&'"632#".5432324&#"3265 ,+a 0/*:= %S=%<+ C2E5,)6<%(6/ "O<(>C%&M4R"&#%'!1)M .%#654&##54&#"632#.54632632N?17!$0I;%&; 4@pQX-4P5:(Tm&8-$$1*!M3(wG2Bn$$)H+M ;%#".54632326=4&+532=4.'&5467)P<:A-%;%*8110 =$'W*<+`*@8!@()() +$< (  7 $M )2673#"54633265+5326=*N0(=';=8$50">':S? J6+)!&O/x )4G5- L =%#6=4&#"#54&"#"&'&546?67>32632BP25!$1I:L:('$1 Ix-. *J4X9 Q:V)+W4H"Zd0.-#%!',">#%Tw.b'!?100$/&&&?< $#".55763232654.543,8)1U";(!RbV-5"'J1 5!%/')!6fD 0BO%#"&54672>=4./326=4632#"&547.54632'54&#"3260$5V4pc,%]4@9+&0 -"+AO)&=,j#sX0>B2!^l%l1B8$0*/  6*P './1d#,k1/1#M 092#"&546732654&#"#54&#"#"&5432#"'26326CRSn9@ ;%':.Ha%g&PBVS(Nz)%#%$I``) I+ LG @;I#"&546326=4&+532=4&#"#"54>3263254&#"326@bb'T;Ul@:9N;010$  $O7B%<$$BLG"  tV_ ;?%[K%S"&&"0H%, &7F$$=!L 1%#"&546332654&#"2#"&54632557673'Q8Rm=:%'.33% 8"g@3.010*.9>?TR%&6 M F%.'ȳ.=463263:32#6=4&"#54&#"BJvFrP>, cAI/1BOTFL1+:,U+  $0 27T.# 'A/1!:!h9E11Bc3I-""ll# T! 0#dM*%#".4>3265#"&54>3326=3Ͻ7S):* 9N9/GO\ 3%4'-8aͿ);3&20  "&&"7X1.208M -;%#"&5463254&#"#54#""&463263254&#"326)O7WjlU4-,H*+NN=",#"BR`>#&;8- =$>8 ZfWj"II085X4?FB/+ !'&M !-%#>=4&#"#46326324&#"2>eC 1:VaSV>S"S,A(( 3..726=4&+532654.5472t#*#T(/X?6( CjB$$$!; %1 :!$>&4PB#.9J21+p8WV9w2..'6 L '%#".5463254&'4543254&#"326qQ*8/!qO2/7*Hxa7,&77*'8Ns )H,Nr'8 sO+66*(99M --6#>=4&#"#54&#"632+463263254'"2-  "I 078 :7!aIH;$$7*6%U-.L` 1yyI$G1qfBB$$*a`E M 7B4632'4#"#"&#.'326327672#"/#5#".5&#"32MS7, ' !*0-"1.TV .`&66%7.G<& &! ,*: lR :7 k )%#"&557632637354.#"326pPOq0\*7/00` *%:+&8NpqP ah'ܒ "9' #9M{/-%"'#674/#'763273#*#"7/0(xr6 0%~7 7.T`##s*#0r V; @*W'$$ + N M37632#"&5463232>=4&+532654&+532654&#"5467 '0'. U/2)R8Om$% a HH%HH'5R& 6><65 CH.H x,$(%$7K DM#"&5463232=4.+532654&+532654&5467>54#"g % %)''N)%&T;WeG8*0F3gZ !!!: 3(' "$5:M03MOEQp;1<= $&($ OdGK0IR 3$4%#"'#"5432327&54632326'4&">3-HD26,/#;&}\CE[W/<+q,8,!SIG+  GVh*OG2*a20j'/M.2+>54&/4?"#".547232>iD1Noo$@\<%Q9 A9.#5,L+ %:C3];# (BR%#F '5" &M E2#"5463;2>=4+532>=4.54632".'"%2A '?(@9;&** +5+A("D %2;2.43 U&!I+j  #&+/*-! 8M !,5##"&54634.#*#"546323#3'54&#"'"32IJU@YWYCEWIII"6CD4<=5OICY;%"DJCA`x ($$`&"Ǩ.`H! (#".5432326=4'&54>7.4.[i32654&#"2636"VP$-"+ ! +'K "6%>zέ<*! J60$-+HH/ <)3G6"<"!  )/A(`d: <#f!/0؄ <% !*#".5>73>54&##"&546326N&8)7,&86!$.*^JO$5!/1 '&!5#$/*AO!>#"&'54>7";>=4&+532>=4&'#"#"&54632gWVk 2#D$:112$ 1%'YO^cb+9RRmYP!)))(s"&#$0"&AOIGn :-! 0A%#"&=47>=4'#""'5463254&#"32>[fUlq9)D,$bG58$80'6(`:%&<@ :VKEaR2, m8"I  lF= 7$(*5!&% #% ! (77432>732#>=4&'#"#"%5.'#"26!#3 -/!/` GI ,%/ 0) .'&7=F?׸ 67#4Vh & %.%G`a#&.0! (2#7>=4&##".546)9/!'1?#$;$3 o)J/3L$)0*/-D6Zl!,#"&'&5467326=4&+532=4&'52lQ?i@8 9&(90;%4*c[a(9SZe.&"+2Iz!%#$1x!%HGQ2=Q.'.'5632.5432>326732#2>=4&'#"#54&#"#54&'#"Dzgy-;+.=> @/<FI &"CH,S )/.U<6D_*$ 7S6/5[ x,H``/ !``100b# 2G`! !/%"&5463254&#"#"&5467254&'"26oQQpqP6*7)5 +mQ]e`5+*66*)7NqrNPq&9C "'@LqM-38('8;! (7227#"&'"6732+".546354&#"3260S:?"#i%:06(d_ ("(OI5,)64+)5 :/ )E,nV'?'RDK"&#%"%$! 87"&54747632>3#6=4&'#"#54&+6321<2a$A$QY`100$ 1I=#'7" fVI[$Q> Nq00*%$/$$! ;#"&'54732326=4&+532=4.54 I>$6. B,.4&O-T  )(!+$<$)!*73265#+5326=32653"&546;%$<&:, S< `.b/%M5a^: 0y '-G( M##='j>#R! >26=4&'#"#54&#"32+.=46?67>3267IU F.35" 1I=#&:<*9]bE}!XIDN&:])!hMa)\L?,$$/+#(3:-Rg(<C[N06+ &$! '%#".55763232654.5463!:@&+9)1U !;(!T&&:2$#2 'J2 5!%0&>P$(95&=!.!FT#"&54632>=4.'32=4;#"&547.=4732'54&"3267`;t{M: ?8$7%* M18NkaBqW(!#OJ1^j %5f7%$6  /$!55*P (%ZW K o00@2632#".54673254&#"#54&#"#"&54632#"'32>')2@H&K3>>(>:<([G X!   )-PB)9&#A)4FEy"$G%#,__*E  $$!HU%##"&54>3326=4&'&5463>=4&'""&5467263254&#"26   aoSLu/ 9&(92. DEIM?WA#BGM6!% &D^WfaK " !%#$ #!H@N?QFG$(C4!!525572>73#"&'54>332654'"#"5467.E01 0TmgU 7' D &0T6 0HR<$e[Z@ "-$&x'%#3$# -f,E!RD%>=4&"#54&#"&'&'563.=46;6732 &+8,T+ 0C/! 6%MU :'"\F#,"/C>]Gl.""kk" S* (/D)r.X9"f7F/3370Q!(#"&'4>3265#"&5463326=3_^Ot9( 9N9/GTWD4<#,5aT\c]L22  '&"6S=8Y18 1D743254&'"#54&'".'546;672#"&'&%4.+"3265F4-$H4$M8%)2^c4s #+&  4-@/II1*)4 Lm6:&#   '*! ","#4632>726=4&74&#"26(-aPY?R164$WRI2( 61_tL]D6<;)`"L!54632"&=4>72=4&+532654.!&(#)#3,0Yubs7'/wv###"O% ."?IAoue.8I0138ux6(-)! $%#"&'5463254&'5254&'#"326qQNqqO2/7*Osa6+&75*'8NsqPNr'8qQ(86*(8:),#'>=."#54&#"!#'467326;2#DG$("H )->+P&$6bL); .. xx! {,2&8&$G!KX$"/#"5767;>=4.'5#"&'5463254&#".5727632/&#";6  0%/`C sB*0"9ME8# I ')"bS0  TT < 0$g>H#h!;d"#-!` L*3E *  V< lS k! &%"&557>32637354&'"26rNSo00*7/00_7)+68)*6QorO  ah&ݒ&89'(8:F6%"&/#52654ȷ'&#"&5467267#7327F;.L=4&'";C=03A,E2 &TIFZ12%#(+RH$    ITH'QE4H^? 00x-(x+!-2>32#>54.'67"#".5432$WA hD0Cet4'+N,#Q)8DG/#0/ !=4.+5326=4.546;2 " 07WB'K2!;@&;>,!') **-,4,>'%*E(^;"c):* "G3&M3z #  +6%6 - ) ! )3##"&'54635#"'54623#3'54&'#"'"326ISI@WesYYIII6CD4<#?DJFGB`DJI;`x*$$`&"Ǩ.`H+E173267654.5476?2#"&54654.54>?632#&52**+3P^-?Z&  ' !(^4j~D'!5 ?GS1U&6, EE%#"&5""#"&574654.5463232>54.546?6322>722)9:  27>32#".#"##!H"+ 8(y+ R @M@ (  C% ;)8# 5 6P /!V  &P"N0*&#  *"X87"547#"&546547632327654'4&5456?632+!H"+H!y :7  gg  06P .!U a %^<  (2,Y=L747+".54654&547>32327>54&547>3232#"&74#"'326#$ K K3 8 O -l*56m. F 3K# U  +J%|% *+j+N )+,  <aA3232>54654&54'&54632#".5465#"54>54&547>323!4g!;8! [&7>54&'&5476726.#">j#$*N /;-?T" "! ))%/   U X$  %D'((:'5&-#%U    :"()PRy)!!  G" %011!\.7467'.=4?2632+".'+"1J 5 '*.,W)%GO S cm* M*3u\z2 JkE8Q& 2\@7467.54>122672#"&'+".'.'+"2R '  52/*h$)'89+T 2K Y`r!@   %F1[: 2 1-S  Wp# o%* 1\C7467.54>123>467632#"'"+"/.'.'+"&1Q '  !' !#;.1H#=  2g Jck @  <$2$3%Z'O(  *!2 2~t1`* &8#\1+"&54>767&546?2632+".'?9\ H 2(9 6  ?##Vl7 42#B+- P4?+;7  )2\0=7467.5476?232"#"+".'&'+"%4&+32652Q '  *.P&fVM1E"( 2pI9(/ &bn!@  P0V.% /c! ^Q-MU8D7467&54632+"&'.'&#">32#"&732654&#"-RDJ 0%+ W $  KTE(3'%,$ /,d$#Hv!W 1 .)P0)iC- -3Ft1 8%'  >4*, 1uUO[74>7.546?632>7>7>32#"#&".547+".'.'+""32654&1@b0& 7  !  7 ! '3u0?(@E#"/qI!!cIz?  097&[ % @  + !a! M ( !9v\Z7"&54>7&546?263232>72632#"&5#"&54654&5467.'.'#T 4K>9 6  F !  c 0-8'%71%.ec )4a@'P"L1tA  1 6)00 /  D8EU.JS74>3654.547>322+"&5>54.#+"5467"+"&5Rwd" O WqP6,.3  M)+G7)EpBd1 "&T8I  7#8  ?j$ ; )S72$ -Jk74>36=4.547>322267>32#"&5+"54654.#+"54?"+"&5Rwd" O M[O\1/ )(;c I4M8 M) BQ7EpBd1  "3   1 5+ $ D  &G0C ?j$ ;B%S9 +  -Jf+"54>37>=4.547>323263>32#"'#"&+"54654&'+"&546gG_-H#5GAB"  O 2? D. 3,GH @o_ E3,A=&%U.M1& ,+\   U " 2 3&T DO@h% $I`7+".5467>3>54'.547>37632+"&5>7'.#+"/&5467, <1){4   "Fe +:I5 @  7'6# ,6=m  (P1W C/"2 b  ])JT`74>36=4.547>3222++"54654.#+"5467"+"&5%232654&Rwd" O [kLRd^KE4M8 M)BQ7 E) pBd1  "'M2*# + (E/C @h% ;%S9+ -ME"b4.'632>322+"&5>54.#+"5467"+"&=4>3>54#"#'6 -'"* 1'WqP6,.3  M)+G7)ERwd"O")6F     = &T8I  7#8  ?j$ ;)S7# -0Bd1 IZ74>3>54'.547>376322+"#"5474'&'"+"&547+"&58O_G  "_oN & (  B:S+ , p5W2" ;n ! @) 7 9 %@#'9)/(tIq7+".5467>3>54'.547>376322>32#"&5"#'#"54654&#+"/&5467#"&54654&54767272632, <1){4   "\qONB )(9 $}] @  7'6#29,&U57   ,6=m  'Q5C   0 6+%QEU b  ]) 'K69\]Kbt%".#"0&#"#"&54>323276323632363632#"5+"&54?>54'&#"&#"326326?64+"6323>k U(0&DsB '  $%.  ?>,i) = 6 <$ - % ,^ P9 .  (1a3(LQ; *7Q/!  m1&f3."',@&#2M1 {:\OVm%0.#"0&#"#"&5467632326323632326327>323#"'#'&+"54?4654#"&#"326326?63232654&+"k U(0W*HR1B6$.  0 E.9I, BJ;.@, )/# s?$ - % ,^  )=1a2&5m248" / 40B %#) *"',@&#2v2.(`Meo4&#"##"54>?6363233263767>323#"'+"547""+"&5464.#"#3:>467632?,  >PxmHDfZ ' C$NH N"[$) B'$ E9$&" " fNJ/]I /\9X) 9312. 3JM'Z  W) <>(#E.d>ak%467"#".'&54654'&#"###"54>?3263232+"4&+"##3:3263263:32676;?4#Ll%$ ';PxmH $A!  *$  )  fNJ/]IJ&D  %c )\9X) *.42'! Y >H(#E+dIlz%>7"#".'&54654'&#"###"54>?32632322+"#"&+"54&+"##3:3263263:326763023?"326=4'"&#?Ll%$ ';PxmH $1> Nq&6,   1  *$  )  f  NJ/]I %"5[-"  %c )\9X) ,.0##*  A! Y >H #E+ );dFXe3"5467>7&547>32$32#".=4&'"+"#"+"4&#"#326=26=J 311546 ?toR$E<  %  'R&  1 %355"JR* 6 # ^81  V?6G ) !^ /JN&O0'/1376323#".=4.5+"&4&#"#326=%346.+7N."| 0$VCx 1/7$37263232632327>321+"&5##"&'&54654&5467&4&#"#326327:32676;2?[$)  '$: (I?PzY$5l   ^W /*;[Tj9,(f f $&& eNM[~HP+Y! 8 9#2K&2'3/7  * 4-&I 2 'W*CL$O>Ud#"'#"&'.54654&54;26323232637>7>54&5467>4&54;232654.5476;2632(T7674&5467>54&54;26323254&5476;232632*(:9   6k)H4G 5M L 5  + 'hC5m    7+ 6- #2  !0!  *   L( 7U =H .*L9%4>7"'&#"#+#"&54654&56;232>765<147654&'454;263234674.5476;2326363>32#".#"+"#"#"&+"%`>  {&$, ;& ' IV  A t  "G+/2$  .  $M0pb -$U  _ !  ) , (7]#7"65!- 9[%467".1"##"&54654&56;232>76?>54&54326323>74.54;2+"&6*"  W$, KF  IV Kt BT0 -$U  _ A" &904 7! !CEDo}%467"'&#"###"#"&54654&5476;2;2634676474>54&5476;23>54'&43021;232+"#"&+"7.#&#326= )  +II#+ , # / % 3 @ ] XcDO%  1"#- V+?1#V a %>  &:439 4/54'4;23654&5476;232654'&54;2#".#"#"#"/&#"+"vw>) ,"!=< gL%02b<$X>, "4  #'[  n5D >1' 27.+"&5465454&56;232632726?654&5476;23274&5456;2632#"'+"`:kH%"+=" 3  0 ot 3   -aAZ8ED8 7b1#^  !N' U.)2 f; 0;(`\cvG8%467"&#"#+#"&54654&56;232>7>54&5454;23>74&5476;237>32#"&5+"#"&'&54654'&5467&57>372327>32I5#MdvDX. G $9DE9$0(915(  * , B7^T/>E2  -M71.0A%+5   RP&?7467"&54>=46;232>2#"&5#"+"&9TGTG > /BB/7L765 0 '9.9 r0;* 0L0y!4O$@9K k  #@-, IS% 2!+ $#,3'F6%) GM0'P%#"&5#"&54>76=46;2632327>;>32()::$  f<;\B_aJ -  7MPN7+#!) Oyi 5," & '5=6W>;P0 -J5/< %)$/'=" 11+?K%2##"'#.54>74>?263232>7&547>3>32654&#"3%6%B@N778!?\]F 8 ;9NL(/,!$<Hy+$4(0  2#3V@?V2  ,J8)2=M"= #/ i*,!-'H%"'#".5&54&5>7272632;2#"&5"32>7>73I0J1*,sd:/ X 1+A)5"H3 1@( * , 2$& 2 +3F $ "#  -~IHV%"'#".5&54&5>727263232632#"&#"#".47+3263>732654.#"I0J1*,nh1 *"E%73<9"-  >MU)G@( *! $ , 2$$ 4 5(&9 )'rQ'"#  ( #0{r".54>5"&#"#"&54654.54632;>;23>32#"&+327>;>32#"&5/.FdcF6. (= . AHF* ) +6,#32KWK2a!) Oy'):* U / ;Y;=\=   -$  )4 #  6[9:.A$_'=" 45,) %-HK4674'4&546?26322##"&=>54&#"#"=4&-sO C   9G)45! 3& KZ0    1 ~"  J 71'M5 & CQ C -Hm4674'4&546?26323;2632#"&5#"#"5465>54&#"#"=4&-sO C  Ha 1*9] ;E-D] 3& KZ0    1 t6 2 6,  ?; j8/_M % >J C ,Hb4674'4&546?26322327>26467>;23#"'#"'&565>54&#"#"=.,vM C  gO  @" : @Kr< F+B` 2 ' J\0    1 FB% + 4^!80aM% ) BK C>v,HN4674'4&546?26322##.5<5>54&#"#".'.,f] C   (A//;) 3 %7b0    1 ~" n-6!I2)7(4-HTb4674'4&546?263222+"#"&5465>54&#"#&=4&4&+;26-sO C   &6,1 F, "0' 4% ;"1 'K[0    1 }M j80$A)Z\@! 0 -GL467./&'&543763263:32#"5465>54&#"+"=4&-h= 6& VYE*Bb 2 & GZ  = a# v~580`N% ) BK A -HS4>74'4&546?26323#"54654&#"#"&=474&-CS, C  IR  9 @/19'  %8  "1N& 0    1 ?7c/+6!E.; $+ 9: ;3.t Gm467&54763:3726322332632#"&5''#"'&54654'&547>34654&#"##".'4&.BC   ((:;8T2%()E+19'  7  $CbG  6{5/- 1 8) 11.  D80"F\A  >pj2>7>;2#".#"632#"=4&5>54&#"#"&/&546?6=##"'>54'46?6@ ?;N!C* $F%* 1$=2;09&.5$ Z 6E(,P1 !X3 # 0 ]5*" ( +6)#G/# +E;;2M Z! #  2>7>;2#".#"2632632#"&5"#*#"#"54&54654&#"#"&/&546?6=##"'>54'46?6@ ?;N!C* $F%* 1 M;?o (+7 )  T9&.5$ Z 6E(,P1 !X3 # 0 ]=) -, 2 8(u 0#1*#G/# +E;;2M Z! # 0{2>7>;2#".#"63232?>76323+"'#"&54654&#"3#"&/&54676=##"'>54'46?6@ ?;N!C* $F%* 10- = Q  4 P W1! <#-5$ Z XK,P1 !X3 # 0 ] /@;* 1 3 0*"F.5 +E;;FM Z! # pd2>7>;2#".#"2632#"54&54654&#"#.'&54>75##"'>54'46?6@ ?;N!C* $F%* 1 X9+:h 4 2F:,P1 !X3 # 0 ^p-* 0,&.\CK'P (D&d! # y26726;67323#".'&#"322+"#"'&546=4&#"2#".'&54675##"'>54&'6;234&+;2658C9^ /0# 7FR %6,_ 8) "+#Z  mGBO1  &.! "/ '& 8  /  ]52~M 25$, $=&\1   M_ e"#73 ${4'6;23263>76;23#".#3263#"=4654&#"2'#"&=4&=4>7&/##"'>[5 Y8(!#!5$#'  4MY9&>Y <  );5; 1 "l ! !  -  0 2<# 0.+4(^K (( d%A'ZA#pu2>7>;2#".#"2632#"'&54&54654&#"##".'&54>76=##"'>54'46?6@ ?;N!C* $F%* 1 =] R8& ",$  R  6-!,P1 !X3 # 0 ]3;\ . e#,":$'   %;' Z! # (4>75#"#"'"54654&546323:32>72723>32##"&+2632;2632#"&5+"''##"'&54654'&54763:32;&546=4&#"2#".J2G:,%-  '08   " HC1 *  ))"5#$V +(9. 9U9,+?<>=&G[7)E'c   ! 5A $ Rp:  1 7+8C*  6( .)h8GA4@{G@Q]"5054>7#"&=4>?4654.5476372632###3263>7%4&#">-  '0R7L[P  _ &J@-YQ *|K !"L9!!))GP +;  M 2L-# $(>Y%1+& "@GUfr"&5>7#"&=4>?4654.5476372632#>7272>323#"'""33263>7%4&#">+'0R7L[P  _ &J@-YQ ) 6)+3J .  ZK !"L9!!)$i +;  M 2L-# $\,41 (>Y%1+& "@GN_k"54>7#"&=4>?4654.5476372632#3:367>32#"'&#"#3263>7%4&#">,  '0R7L[P  _ &J@-YQ# C- ;*5COK !"L9!!)5 K4 +;  M 2L-# $ !,!* (>Y%1+& "GJ[c4>3>54.5476372632##"&54654&4763232;267>7"5473272765654.'w>]K _/X$/35$3Rj8)3   A -U:)x% !0 m",+> -3 38*8))> 0 %) 6}* >&@{G8IUc"54>7#"&=4>?4654.5476372632#2+3263>7%4&#">4&+;265,  '0R7L[P  _ &J@-YQ@>4K !"L9!!)!, *4 J5 +;  M 2L-# $;L% (>Y%1+& "J?{Oam4&'632632632####"=4>7#"&54654>?4654&##"'>3263>7%4&#">B34 %- &J@-YQ *  ,1N6LZQ  ") K   L9!!)X 5J-# $)GP +:  T &>Y!2+& "A3CP\m%"&=470"&'.54>765654&54>32632#654&#"32?4&#""2>7>5N84 FTI>"F.**?+0"I^ 5:>K   .#7 &k( % -4  2< F / .&, ,(= ( $ 7 nS$.Y MY$U  @GWht"=47#"&=4>?4654.5476372632#32326;2632+"#".547#3263>7%4&#">32654&#".!'0R7L[P  _ &J@-YQB )+Q )52; %F(W QK !"L9!!).#$) +;  M 2L-# $&6(%7! I(>Y%1+& "*")!@Gy"5054>7#"546547:3274654.54763726;22>54.5476;232632#"&5"&+"54?####32?%4&#">.  8+~   _ 0b 8 A R 4'8/$  OzGoz7"&547467>7>54.54763722#;2+"&54654#"#"&#"#"#"&'&54654&476723>7&547732767"267654.'LNtM (   _ w^$$WT 4 .   8 '&9 % # ^ 4{JzI %:F 7/6?8 7& ,  T$4  4   H j 1zL2* lzGSkv$467#"&54>7>54.54763722#32"'"&"#"&54654&547>7'263767>57">5&'4&+;265 !WB2IH7  ^ w]2XO-1:(.|u  ^;,&%yG[  -'L.M="'$ +<j"!0D? 16@8#!>M 1  7=>,! ).S :@Gp"5054>7#"&=4>?4654.54763726323:3274654&5476;2>32#"&547####3263>7%4&#">-  '0R7L[P  _ ?Q /   D '+*4/Y%1+& "ju}4'6323263:32>'>3232#"'6;2"#"54?65"#"54654>?#"&#>32637%&#">L'/ ! !l#%.  @" 5+JA' !0BX T!66R?@! V1"kA&Mb L:- 3] ` #   <5 @.<%7 ! "- ,K,4'6323263:32>'>3232#"'632"27272>323#"'"#"#"565"#"54654>?#"&#>32637%&#">L'/ ! !l#%.  @" 5+JA"Nf '/7 % 6)+3JE   W 66R?@! V1"kA&Mb L:- 3] 3+     ,4 4<%7 ! "- ,K,u4'6323263:32>'>3232#"'6;2";67>32#"'&#"##"5465"#"54654>?#"&#>32637%&#">L'/ ! !l#%.  @" 5+JA' b  # C- ;*5CN 66R?@! V1"kA&Mb L:- 3] ` ** ']  !,!* 0<%7 ! "- ,K,gpz4'6323263:32>'>3232#"'632##"&54654&4763233265#"547:326=#"&#>2>54&#2635)- ! !l#%.  @" 5+J`e6 :S5"-Xj8)3   !GCe21 @" V1"D %.; ?/'- 3 b%3" !4,)> 0 @L 8x_! "-141dow4'6323263:32>'>3232#"'632#"2+#"5465"#"54654>?#"&#>32637%&#">4&+;265L'/ ! !l#%.  @" 5+JA"Fq9D4@>.D! 66R?@! V1"kA&Mb L:!-% *- 3] .4"  "K& 4<%7 ! "- ,K,1 $|%"&=4>?#"&547"&+"54654&54632;2326;26?>7632#".#""7632632####"547"'32637>5.# T:6U8: n) )&8C!  - -')"   )9"'(G !<;# YU  +" +'@ &$(;5 %6 ; 5" 3#  9   (   1I.!<"-AXo|4'6322>32"632+"&=47"&'.54>765654.5467&'#"'26%4&54;2632#"&546654&#"32?4&#""2>7>-'"*& *5H3& 0"I^ 5:>K   XN84 FTI &&-5#V <  8'#t.#7 &k( % -4  2< l! " 9* '!( $ 7 F / 7 (#   !2 #S$.Y MY$U  4'6323263:32>'>3232#"'632"32326;2632+"#".547##"54?65"#"54654>?#"&#>32637%&#">32654&#"L'/ ! !l#%.  @" 5+JA( 9=$1v( G (!R 18O (_8* !66R?@! V1"kA&Mb L:-#$- 3] ( %  "$;! 9  5 @.<%7 ! "- ,K,*")!4'6323263:32>'>3232#"'6322>54.5476;232632#"&5"&+"54?#"#"54?65"#"&=4>?#"&#>;7%4&+">M)- ! !l#%.  @" 5+JA!'>3232#"'632";2632+"&54?'"#"&""#"&5>7654&54;263&5465#'.54676?#"&#>;67>=4&#L'/ ! !l#%.  @" 5+JA( 3?."HT 5 0 < 7  F'`  6P /.FB@! V1"iH,$,=<- 3H %    *D)    >: "  35j! "1|8- ."9+O4'6323263:32>'>3232#"'632"#"32+"'#"&54654&54>7&5465#'.54676?#"&#>;67>=4&#4&+;265L'/ ! !l#%.  @" 5+JA#>?&"CL  f]%7* -# ^;+%%/r, 6P /.FB@! V1"iH,$,=N 1  35j! "1|8- ."9+1 4'6323263:32>'>3232#"'2>323:3274654&5476;2>32#"&547#"#"54?65"#"54654>?#"&#>32637%&#">L'/ ! !l#%.  @" 5+JA *J>/   D '+*4/ T!66R?@! V1!kA&Mb L:- 3] 1& E V  2 BK  <5 @.<%7 ! !- ,K,4D74&54632""#"&=465>54654.#"#&546 vOd ,--;`  %ag|I<45" . $3&4dt ' =4V%"'"2#"&5465>=4&#"#"=4&54>3267>32wK 0 >0/1 0 ' 2EV=Nc* G)# <3*d4! - - "5 4?+W;@>5S- F:h"/ 4O"'0"&546?54.#"#"54&'46763232?>323I' 00 2 & 2HRQ)LA <G.B&4")#E / -X=)[i ;EG>`#)?248 !- 4B4>32""#"5474654654.#"#&54654&2GV<Od ,&' AW  P $ Z4R. I<45H,  / oQf '  ?P4DT232#"#"&=46?4654&#"#"54&54>4&+;26,:;%l]"4&"W@1%1  0 ' 0DT=0"3! '4 7&-, #";%E+>(R7'{vA?6T/ $ 1  4N"&54&'#"&54654&547>726?>32#"=4654'&#"9 `B$% K]H*K?   ( !E// @!*3% 3A 3 4L"@1*(D 04.;+X; 414>32"&=4654&#"#"&=4&1DT<+LA E.D.+5$ 4% Q7U/ @2(& #%0='R8  !"*t4e#"'&54654'&5476727&5465465.#"#"=4&54>3232632#"&5'&#"#$8-)x3!5)@V  F) 1FU=*L>"z ((:<A 8 &I,  #67++oR59)  A W4R- @146 ' 1 6*7'l226372>7632#"'##"ʎ&'64&54632""#"&=465>54654.#"#&546ED6  :+4H$$ S26. vOd ,--;`  %2    )"3  " /g|I<45" . $3&4dt ' ='~226372>7632#"'##"ʎ&'6"'"2#"&=465>=4&#"#"=4&54>3267>32ED6  :+4H$$ S26.WK 0 >0/1 0 ' 2EV=Nc* G)# <2    )"3  " /D3*d4! $ - "5 4?+W;@>5S- F:h"/ 'v226372>7632#"'##"ʎ&'6"'"&546?54.#"#"54&'46763232?>323ED6  :+4H$$ S26.fI' 00 2 & 2HRQ)LA <G.B2    )"3  " /14")#E / -X=)[i ;EG>`#)?248 !- 7'j226372>7632#"'##"ʎ&'64>32""#"5474654654.#"#&54654&ED6  :+4H$$ S26.2GV<Od ,&' AW  P $ 2    )"3  " /4R. I<45H,  / oQf '  ?P'jz226372>7632#"'##"ʎ&'6232#"#"&=46?54&#"#"54&54>4&+;26ED6  :+4H$$ S26. :;%l]"4&"W95 %1  0 ' 0DT=0"3! '2    )"3  " /u 7&-, $ "E'E(R7'{vA?6T/ $ 1  /'v226372>7632#"'##"ʎ&'6"&54&'#"&54654&547>726?>32#"=4654'&#"=D6  :+4H$$ S26.! `B$% K]H*K?   ( !E// @2    )"3  " /S!*3% 3A 3 4L"@1*(D 04.;+X; 7'Y226372>7632#"'##"ʎ&'64>32"&=4654&#"#"&=4&ED6  :+4H$$ S26.1DT<+LA E.D.+5$ 4% 2    )"3  " /7U/ @2(& #%0='R8  !"*t'226372>7632#"'##"ʎ&'6#"'&54654'&5476727&5465465.#"#"=4&54>3232?632#"&5'&#"#ED6  :+4H$$ S26.8-)x3!5)@V  F) "9@E0Oc69, *':!8C 8 2    )"3  " /:&I,  #67++oR59)  A]+G-!I<46 1 6+%GV%467#"&54654&54>7265>54.547>3227>32#"&5##"#" i3%&).Z* RU= :  1*9#:' V. - 01 2  *7  d 1 7*%Gu%467#"&54654&54>7265>54.547>32267632#"&5#>?67632#"'"##" i3%&).Z* Rj2&  1*9&> !Q!)5K  &,5 01 2  *7  ` 1 7*-. 3  %Gn"54#"&54654&54>7265>54.547>32267632#"&5#327263>32#".##- &i3%&).Z* Rh7!  1*9%>  C- +5& 1! 01 2  *7  d 1 7*   *#G_4>74654.546322632#"&5#"##"&54654&543232>7>5#"&54654&25X A +(87 $5Up$ 2 #N7I&A% )Vr !#V, 7* a-6+,  . 06'< $3  3 %GWh%47#"&54654&54>7265>54.547>32267632#"&5#2+#"7";26564'4# !i3%&).Z* R`9  1*9%5A> . ~ $'H4 $ 01 2  *7  b 1 7*(L% *'%o>54.5+"#"54654&54632;2>7>32#"&5#"'###"547#"&54654'&54672>38  <  #041 # w :  1);+3   3$l +,/Z-5 v W" 6V  3 8)H  .   #( 1 3Zg"&54>7#"&54654&54>7265654654.54>32#>67672#"&5+654&#"0 cG& &)\, (;37J .'& )-4(8e  PV.#7 E:$CJ<95 #4 8,!2 , !  8)z/! wS$.Y 'nG%4#"&54654&5467265>54.547>32267632#"&5#263632#".5&#""'#"&54654'&547673>3& &iA$(S Rh:"  2*92 "3%0 # 4W& g <1  4A 2  *7  b 2 7*1  3 *' ., ;zx26;>7>323#".#"#>7632#"&5"'3##"&547#"&54654'&547>;>?##"'2654'>323&o& :C6;*8% H x8! "+8d  Hf$ &J L [ t !1"" !$,#3h !9(   +  !2  *   A$!;z26;>7>323#".#"#>7632#"&5"'67272>32#".#"2##"&54?>7#"&54654'&547>;>?##"'2654'>323&o& :C6;*8% H x8! "+8d& 5)!  ;'% < E f$ &J L [ t !1"" !$,#3h !9(  1 5  C''  !2  *   A$ ;z2703263>323#"'.#">7632#"&5"'32?2>3#"&'#"#"&545#"&54654'&547>;>?#"'>54'46@ 6 C6   :;+x8! "+8d <4$$ 8%0 $ f$ &J L Qv  :S3% 2 " 3h !9(  /U  /  '  !2  *   A#1z63237>323#"#"&'>7632#"&'#"'##"&54654'&5432332676?#"&54654&54732632674654654&#+#"'7>54'4632  YC6." $. 7  u=  /(74)Vz9(2A 3[b2%(nR  Ou :D $- s # 7*dV%0.: .  %?e  21 4  ;A :nw63276?6323#"'>7>72#"&5#"'32+#"&545#"&54654&546;>?"#""ਫ਼'46324&#"#326;265 W H:02Fa d ,+'(;G.Ep&6,#"&f$ &D(L "! ;,!:B' .! '. '"3    06) #) &  "4 1 #!6X74654&547673>?#"&5467"&+"54654&54632;2>;7>323#".'32>3>32#"&5#"'+"545#"&u  dL : o) (:3 K 5#:@"-R 8 l 8( )*:H @Ee3%'7 7 (7,   0' S     $  ?2 c 2  878>54'5>323:;&54654&54763:;2#"'>72#"&5+"5467#0#"&54654&5476327654.54>7'&#"#"4.#"32>$ %#)   Q    ?0$+W-_B9 (,9A   O0 L  -%&4>U  08 =0C#' #   *  (+71J 8 >4" _'  '/  9   (,( A T%,,;nz26;>7>323#".#"#>7632#"&5"'32632#"&'#"'""'#"&'&54654'&54>7&547#"&54654'&547>;>?##"'2654'>323&o& :C6;*8% H x8! "+8d &,7*  0V% )-x( f$ &J L [ t !1"" !$,#3h !9(    400 #3  1  #  !2  *   A$!,CX43232632632654&54;2;2+"&546754'#"/&#"#"&="#"&54654'4&5U!g  7 A:E7   ++'C  % S % *  *84  Ct4;2326326326=4&1476;2;232672#"&5#"+"&54654'#"&#"#"&="#"&54654'&4J ! d  3  :,?0 (*9-    E: -  $ ', 'L#C 1 7+ 8> *!  "1 , Cx4;2326326326=4&1476;23:;232?267632+"'"#""&+"54?464'#"&#"#"&="#"&54654'&4J ! d  3  (":& \ 0" M -0 -  $ ', 'L .0 0 . 3?6  "1 , %C_4&546?632654&54;23:32##"&54654'&546;232>54&'.+"5465#"&'&546LN}) 7 ? 2@n;$1 J-WX6 3 R*% *  C  % S w-+?!7$1 ,   A-f!  $5  9C[h43232632632654&54;2;22++"&546754'#"/&#"#"&="#"&54654'4&326=4U!g  7 @'CB#@8   ++' .(&8C  % S %L% ,   *84  ( 7DU"5465"#*+"&546762725654&547632;2;2+"&546754'#"/&#"I0Z 0 V  5  A:E7  !=8  I`  %N % * 0Nfr47#"&54654&547>727>32633>72632#"&#"#"&5473273632+"&54654&#"+"%2654&#"(DG+5i1 h-#?<,/5 . #,),+N*   = X* @!"=,$=8 1  &,-C $$ !E0=>z  -&Cz43263:32654&54;2;23263232632#"&#"#"&547#*#"+"&546754'#"/&#"#"&="#"&54654'&2654&#"5W.U  7 BA! ( 8*56- / 3'47 -  E7   l2%&2  C  % S ) 6'(67&!  ,  00/ !!'C4307263:326=4&1476;23:;23:324654.5476323:;232632#"&5#"5467#"&#"+"&54654'#"&#"#"&="#"&54654'&5W.< 3  (!4   ' .0i 2'<     E: -  l15&, 'L ,1 4 n 7, 1C#0 *!  "P2 TC4307263:326=4&1476;2;23:;2#"&+"&54654+"'#"&54654&54>7&54654'#"&#"#"&="#"'&54654'&5W.< 3  ;1; 7   4 '!& <-$ <  1 l15,, 'L 8 %.  T  ,T2   "P1 Cx43263:32654&54;2;22"#"#"&+"'"'&54654'.547>7&54654'#"&#"#"&="#"&54654'&4&+"32655W.U  7 ?oW"5$ $ o2J"/x@ ;  2 l2%&) $)&C  % S ' e-  872     00/ 6 >C43263:32654&54;2;23>54&547632;2>32#"&547+"&546754'#"/&#"#"&="#"&54654'&5W.U  7 B9   7 E 130  G8   l2%&C  % S !+ VZ 1 A 2t,(*   00/ 0ZB<;2#*#"#"&5454&+'&'4654&#&54636BAe _! 8B$m /     kAT%"&5#*#""&=454&#"#"54654&54;632263232632*7, & I ' & C") i *6, %RF    ! k  k M ! lAC"'##"&547654.'&"#"54654&54;6326327>3}J;F u ' & COI,":3  ! k  k  "- ?)I#"&'32632632+"54654&#""+#"54>7267263213(7"*:3(  l' <8 3 ?*O2 5 \ 6) a:@D  )  R'5," /]AAO%++"54765&#"#"54?4654.54763:36327226=4&#;(:-#91w0 #G,J^(!+ ! V! % " @ ! i  ]8)W @ 2'O4&#"#"&54654&54>?632;2#"'4?>54'&#*+"54?66 -2#&3N=n  P9*m  G  t N     56 3   4 Z# ? D!?fT`"&54732>7276;632+"'4654#""+"54>726332>32#"&#"72654&#"u",),+ ) ?.( C@$3@/#7.?> ' ; .>!"y'! !E0=> ( $Q+F( - ! -&%tk)g46727&4654&#"#"54>7>32632#"&'3263263237>32#"&5##"&54654&;2R4! Y+E)X< 2(5"*:3(  l) d ((<=Uj<0#  S5A0( 2 6) a:@?d    4, 1E0 Izu4'46323>7232>56;23#".'"#"#"#32637632+#"&5454&##"&54?654#"+#"'>; b &[..&  " & z#$s !" /.  F    NA#Hz2>7232>5672#".'&"#"#3263232632#"&5#*#"##"&54>76545.'"54654#"#"&##"'2654'46?6A 2&B &NE%  #   0% i  **7(Y  <D&E1z "S3 +/ _   5 ! 6,  +V% j@$" Hz2>7232>5672#".'&"#"#32?26323272>73#"'+"#"&54>?>545.'"54654#"#"&##"'2654'46?6A 2&B &NE%  # &$F 5 /*$:+3N Q 5 OE1z "S3 +/ _  D5  )"3   ! % j@$" 32>7>32#".'*3267263632#".'"&#"32632632+"&54654&#"##"54>7>26&67#+"'>54'6E9cN !*  8"$ !$/) ( #H4E& n( +  ; @&# 4 O1 o2  . :  *+V?>=  Q6$ " !$+i|2>?672326763232#"'326372632++".'4>?65.#"&54654'"&#>54'56"32632>5654&#&D ( % 8  Q 6+GI'*(:.#9 b H;-"0A-$a32 / 4k  O9 @! #  i #!,]  6v&5467#"#"'"54654/&54322326;:3267>32##"&+"2;2#*#"#&546?674+"54?654&'"#"&54654&47>3,*   5)GV. >'&  .)!4) Q1 6s(!J! ,3&&v%   6( ",     ] " # 6 8  55 2  34'632723263>32#"&'237:32;2632#"&#"#"&547.#"3263:32732632+"#"&54654&###"546747#+"'>2654&#"i 2B   , N"  3+ 4E -: 4&!/# 6 *%<4D& L)  ! B @w: 4 Q0$$ 2$ / >) &)"$ X@;A    TF[E"$+6t7"54>76567#"+&54654&5432;2;26;23267>32##"#*#"&+"2632#".'"&#"+"#"'3272>373263237>32#"&5##"&54654&546727&4654&#"+?:DA2 ,' 5)F3 0  ?'   !*  T( # % ',% d ((<=Uj<0$2R4! ? P5J! !5( "-   & 4+ (/$<$   4, 1E 0   /8O7467#".'&54;2322+".'.#"#"&+"#"&5/gvXL)7  $,;,  H 47L ;  $Gk: u ' 4.U% $O-&?! /8[7467#".'&54;232232672#"&5#+".'.#"#"&+"#"&5/gvXL)8+rT *?01*94+B  63N ;  $Gk: u )5J 2 5+#t "V1"=! /*8d7467#".'&54;2322272>7632#"'"&+".'.#"1#"&+"&5/gvXL)8+, 6#)5K:  M , 2 ; $Gk: u )' Z/9  ) 1  $A$   &s7!/8O7467#"&'&54;2322+".'.'"&#"&#"5#"&+*1"5&5/VTL)8;'3B. $#A   +# %  BL,)^ u(  |{ "R0 32  /8Zf7467#".'&54;2322632++"#".'.#*#"#"&+"#"&5%4&+23265/gvXL)8++ aT&7/A  , : ;  E#$4 %$Gk: u )-L. "T.  _V Ei(Ll4'>32#"'>4>7#*+"54?>32;263:;2+".'.'"&#"#"&+"#")!hN-3rbe +1   2  ' !/7-  4    [ 72# 5?d  -     5.d, #S0  sO% / 8L7467#".'&54;2322+*#".'.#"+"&5/fwXL)7  $'@-    2   :5HL !Hl: u '  #"  *"&>  }4'632326;>7>;2#"&'322+".'.#"#"&+"#"&5467#"#"'&'&#""#"'#"8#! 1'B(+B$    9&/07  $,;,  H 47L ;  gvK    ( }# 1 L/ ' 4.U% $O-&?! Gk ` @#BmX7467#"'&54?65454&#&5463637632632#"=46=4.#"#".'4&B: % $'OQ33 #& )# 4Q#)   Lb S!   *k/ 5$  B.+(v   nAmf7467#"54?65454&#&546?632632672#"&5#"&54654&#"#"5'.A; %  $'OR%B7'*99  &  7'7P .& J` S!   *k/=0?   6* )# !(-8wF,UBmj7467#"'&54?65454&#&5463637632632327>6467>32+"'#"54654654&##".'4&B: % $'MR>b C#!  1 M ~) ;%5O$)   Lb S!   *k/;C#  ,3D 91y  nJmO47"#"'&5654'.'&5463637632632#"=46=4&#"#"&JG% $GX14#(7'8J H ]=   c( 6&57C  ,5qX!& 0AmSa7467#"'&54?65454&#&54636376326322#"&546=4&#"#&5'.26=4&#3A; % $'OQ%B8 eX%@7S  $ ''1J` S!   *k/32u=B   $'XE43 + )7,29! %   \ F7 |)o( 5#08?>/5 [6"*P0  BmT7467#"'&54?65454&#&5463637632632##"&54654.#"1#"&5'&B;% $'OR22  %")&6R (  La S!   *k/ 4#b  %r&0 s ""0Q>Ct4&54;032#*+"546"&547#+"&'&54654.#"+"54&5'&54>32:32;26;232632#"&#"7"32654&L  0 1r)5]7 .#7M9  "1V5Jq * /  ( 2 +54+ 5 .9"!#  7S Lw5'yY +E92;22B$ 6F9'SH6(&7!! >C4&54;032#*+"54647#+"&'&54654.#"+"54&5'&54>232>763:;23:;2632#"&5#+"&L  0 1*i7  )7M9  "2VjQ(f P9 [ 0.8.G  7S L &Uf +E92; $*A$ 6F:(&8.', Y  2 7* QoCt4&54;032#*+"546232?674654654&+"+"&54>3232+"&54674'"&#"#"&'&54654&547632_  0 1i@XO ) 8 *L0Wx9  6  =$(    7S LC kOK8QC ;PA.s]  1  / :22QCt}4&54;2#"&+"546##"&#"&#"#"&54654'&54323267654&546=4654&##*+"&54654>32324&+326_<  3xYi (/:#2$E`A2-0 8 )U8Wy!.:(f%5  V L.  *.,  $ %&IY7    M[?t^ l>hCz4&54;2#"&+"546"&5"#+"&'&54654&#"+"&5.5>76323:;254654.'&54;22632L<  3(8 7 5*'.! 7 =08F4[ N% T* V L9) 33PY  1?J,+(L*W9  Cn &-)  6  <,3  63237>322#".'&#"#632#"=46=4.#"#".'4&5467#"'&54?465454#&##"+"'2654'5632} gD) 00& 1OQ33 #& )# 4Q#)   : %. $_&#/*=#. n/ 5$  =.+(v   nLb V  .%  63237>322#".'&#"#632672#"&5##"&54654&#"#"5'.5467#"'&54?465454#&##"+"'2654'5632} gD) 00& 1OR%B7'*99     7'7P .& ; %. $_&#/*=#. n/=0?   6* R ) # !(-8wF,UJ` V  .%  4'5632>?>32632#"'632327>6467>32+"'#"54654654&##".'4&5467#"'&54?465454#&##"+"'26?#/*-? v%   7)I:MR>b C#!  1 M ~) ;%5O$)   : %. $_&$%  . 4x/;C#  ,3D 91y  nLb V  . x63237>322#".'&#"#632#"=46=4&#"#"&547"#"'&54654#"##"+"'2654'5632} gD) 00& 1GX14#(7'8J H G%. $_&#/*=#. 'J( 6&57C  ,5qX!& 0E]=r  .%  Z63237>322#".'&#"#6322#"&546=4&#"#&5'.5467#"'&54?465454#&##"+"'2654'563226=4&#3} gD) 00& 1OQ%B8 eX%@7S  $ ; %. $_&#/*''1=#. n/322#".'&#"#632##"54654&#">32#"&5&547#"'&547#"'&54?654'&##"+"'2654'5632} gD) 00& 1XE43 + )6,29! %  =B. $_&#/*=#. L ( 5#08?>/5 [6"*P0    \ F7J%  .%  63237>322#".'&#"#632##"&54654.#"1#"&5'&5467#"'&54?465454#&##"+"'2654'5632} gD) 00& 1OR22  %")&6R (  ;%. $_&#/*=#. n/ 4#b  %r&0 s ""0QLa V  .%  663237>322#".'&#"#63222636322632#"&#"#"&547#*#"#"=654&#"#".'4&5467#"'&54?465454#&##"+"'2654'56322>4.#"} gD) 00& 1OQ32V+  /0 )55+2 0 )4: / ):%5Q$)   : %. $_&#/*#=#. n/ 6% 6$)77'@:2v  nLb V  .% D " e2>72326;>32#".'&#"#"63232>763:;23:;232632#"&5#+"&546547###"&=4654654&#"#"&'&54>7"#"5>54#"#"&#+"'>54'6323 ?. [ C1 ##' &\G21] P8 a -)9.L^  >"4S .  "6  2O-  7 >%.  V. 6%((* T   7+  $! 7/x,FV6V" v ! # 2672326;>;2#".'&#"#63232+"&54674.5##"&'&54654'&5432323?674754654'.#"#*+"&547>7#"54654'&"##"&#+"'2654'56323:A [ D*5"&% 1+8Zw9   6 Ig8+& :X1(4 , 2#)$  #O-'#3! > #. _#s]#  0  / 1;*   @8@('{;2   !)w b! #/2672326;>;2#".'&#"#63232##"&#"&#"#"&'&?654&5476;326765<=4&546=4654&#"#+"&567#"54654'&"##"&#+"'2654'563234&+326:A [ D*5"&% 1.3W}!.:(Yi /+ 8%(  "  ]C)$14H)$  #O-'#3! 0%5 > #. _#q[  .  &/   $ =\wi- b! #Ul  63237>322#".'&#"#6323265654'&54;:322632#"&5###"54654&#"#"5'.5467#"'&54?465454#&##"+"'2654'5632} gD) 00& 1OR8]) M P2*8   ( %<#5Q G' ; %. $_&#/*=#. n/30-  <  2 6+35I.25/v F,UJ` V  .% @Y4BQ2>3232632;#"+"#"&+"##"#"&5467>&#"326%4&#"327>@ 1  XZ""-a+  *   NT!s4;  3, !/:& = "7>;23#".'"##"&5"+"#"&#"#"54676327>7654#&#"%4&#"327>.7! hf//.  A& 9 :%( A=   -K&$@$R<2 %::& = " ;UAv /  h($@;  /6.{A2 c73J\2672632#"&543232654&#"3263>32#"'+".5>7#"&54>32>7"&#"('4-@T %?', ?(# @HC.3,FU04)134 "M&,&73EW"547#"&54>37263>67>32#"543232654&#""32>7"&#"!!?J4L=1  2=VX3A  =& -  ) )" $7" =2/DM9#$,0 <@*9X g"M&,&Kv4GT`"54?67#"&54673263>2>762"#"5463>74&#"2#"32>7"2654'4&+:=Hwk  "P=5 G  )<!    "=<$=9!D+  :S#"*# !%{: ;2BY!1))-$#SABx< %  g" "I&Y L @YP]p26;03030327>32#".#""#"#*#"+"#"&#"##"#"&5467>&#"326%4&#"327>A %pYG C- -3! !%<(!  <!PR#s2<  3, !08& ->"HE  #  6K',90p%1:#?5a4)4?K7"5054>?67"&54>7326;2#*#"+32674&+2326D/A+'n_ /S6 'Wi_9%  !G_1 5 9G3$*3 3# %!#) :$"/'P?>T -::$ ;6 !=58&A2N4".54767632632+"73>76=4654.'!*;|   .0P8J" s *2A)(SAM8{A[  EP2h' e /.(:8%2EN3K"&54>76326322672#".5+"73>76=4654.'/ +?9#  -&-)  2&0 R4MR*2A)(TwxAb;&  6$7 0 *( p (= /.(:8%2F<WNd4.547#*#"&+"&54632326327>3#"'"&+".'4654?6%32632>54&#"  4@z(?  E]H,"2%T:  B  <" 1+4Nb( :,L^v'M#    "- 2   @!,S./K<0W1G%"5474?654.547#*#"&+"&54632;2#32632>54&#"# R  4@z(F g  " 1+4Nb" :,L^v'M  !,S./K;NASb4&5465+"#"&5467632;23+"#"&+"&546?>'2654&#"3724&'"&"3256#!95&?OY#C * #A?  8 6 ?4L#*"+   K1H <(1=#F-P  @$  }$!::?$6 .& #1Q% A0/D7467&/.5&54;2"2"#"&73267654654.'A@Z @  (Z :,n #8g: E1+ot, #95%$:$$+ #OX{^4 -; >R@C+N*77"&54>767&=47>32+"+2654#"t!C.Mr>YO H1A{ F4u 8E@N)($,Q63?+S +EJ~x ]"N7>54.5472172632#"&=67###"5454'.547>32  ($ . 80   % &/ B*H K )#$"" !#BJ$"e7>54'.54763632>72#"&5#"&547###"5454'.547>32  !#g. *(;=  $#   % &/ B*H K$ !"0 5+M.(*!#BJ$"j7>54.546763232?267>32#0"1"'&'�"#"&=4?###"&5454'.547>32  '% .$  C% *18e    %/ B*H K"#!(  "" "&F!#%J$"M7>54.5472172632#"&=67"#"#"5654.547636372 ($ . 80$  K(. 9 d K )#$"" D  ? $"Qe7>54'.547>322#"#"&547###"5454'.547>3226=4654&+"3  = "4&!E$   % &/ B*"+"!+  H K$ & %BK   !#BJ$(% c2>74654'.54763632#"&=467##"54?654&+"#"&54654&546326B& *  O###!&  #BCA "% %6  1"M7>54.545>32'"#"547###"5454'.547>32   D). ) (   % &/ B*H<1 >9&g!#BJ$"t7>5<54'.54763263232>?232#"&5"#"'#"'#"&54654&547>2727&54?"#"#"5654.547636372  B+/ ;; " )*9 0  : W -)e&  $  K(. 9 d LB"$ 17) !) 2 ?D  ? $&5p707>?2632#"&'6#&=467#"#"54?654&#"#"&=4654'4&54>76;2 =' s1.&8&! , *#$   #   ! '  <+&:S*3##M%.+ 2 5' 4( A  #D FA $# ?2632#"&'>2#"&5"#"&=467#"#"54?654&#"#"&=4654'4&54>76;2 =' s1.&8  7f* *(;/ $#    #   ! '  <+&:S*3##M%.+ 2 5'%&H$0 5+$!" #D FA $# ?2632#"&'327>467>32#".#"#"=4>7#"#"54?654&#"#"&=4654'4&54>76;2 =' s1%&84!   9+ ,6$ _(  #   ! '  <+&:S*3##M%.+ 3 5'"3F  " B ~P #D FA $# ?2632#"&'6#&=467#&'4&5>54&#"+"&54654&547>763:.\C =' s1.&8&! , *#$   I   & +}*@ M%.+ 2 5' 4( A   * /;]&!  &9  2 &5q707>?2632#"&'2+"##"5467#"#"54?654&#"#"&=4654'4&54>76;226=4654&+"3 =' s1.&84%5- #)  #   ! '  <+&:S*3##+"!+  #M%.+ 2 5'"0;n?M A  #D FA $# 7635#"#"'"54654&54323:;2326;23267>32#*##"&+#67267>?2>72#".'#"54&5467"#"#"5454#"(4S ,'+  4'>, - #  A'3 %(!6 #]KD, @2(#,1 0 %# '!)f   ^%.-$ 3   A   !+# "-#  8 ,! "'3 &  -&%  @ $  !@!6=< &9 &4z2672>?>7>32#"&'#"&5467#"#"54?654&#"#"&=4654'4&54>76;2 *r0 3&9" (!'#   ! '  <+&:S*3## )' 1 5'  2k#D FA $# ?2632#"&'32632#"&5"#'"#"'#"&'&54654'&547>;263&=467#&'4&5>54&#"+"&54654&547>763:.\C =' s1.&8.# " } +(: '  . I& & A6 !  I   & +}*@ M%.+ 2 5'$  8 6*#3 0     * /;]&!  &9  2 0(-;##"&+"&=4.54>;2'">74} %  '! #:eB;2#327272632">74)9   - 15qQ65'4F-! ## e *'3"7Q%i5,` 9d"6)!;<$$(@$     1  E/'5).0(Yg%"&5<5#+"&=4.54>;2#254.47632;232632#"&5">74U C )7sQ @3} &B  7) i1*:'3"7Q%z B &T1#!::"'Mf# ; 7+ E/'5).%OD+=723267.54632#"&"#"ʎ'56">54&!E 4"o] 7  BTC6*K!4)8- g ^W-`v\Mg  5." ,7&!:%&0L(IZg%"&#"+"&547&'+"&=4.54!32#3326322632">54&"32654. = ( #<"  4 <1y$ T 0. !'% )!.G'"X ' L ' T /&'Ne&   '&">( #+  4iDQ]7232327.54632#;254.54763:;2+"'#'&#""&54654'&5463:"654&m6.,nz !)@  + 7>)F#- 5(*  (; | %4Xu]Mf&9& O8 !&  #> 2 +@2$%0(GU"&5"#"&##+"&=4.54>;2>32%">74X*9< $-Y5% +8oM<-+J 2'3"7Q%8)"] 'S'8*::$&5.   E/'5).%26DP72327.5<547632#32632#"&5'#"&54654'4&5&54">54&VA(B AGEu ; U .':4:)1%,D3?+% _F$+ "-Lg\ 2 6, 0< 3 Uh"B++GDx2327&54>32#326?63232632#"&5#*#"#"#"54654&##".#"#"&54654&5476%2>54&#"W"B6*DE$%+)( ,3i )):6H l  ;#3 .6'(./ ; 86+>Z* #  6, )D% #  +2 1.7")<,7+/D}2327&54>32#26372632326372>32#".'&#"##"&54?64&+#".#"#"&54654&5476%2>54&#"W"B6*DE$%+)(   ($ H =3& 4&' ( ,  L  ;#3 .6'(./ ; 86+>Z*    -  &v  +2 1.7")<,7+`D`o22327&54>32#32637632#*#"#"&54?674#"#".#"#"&54654&5476%2>54&#"V*< 0*DE$%+)( #("  43  0n  <(1 .6'(./ : 86+>Z*      (  (8 8 /7")<,7%6GS]72327.5<547632#332>32#"&#"#"&547'#"&54654'4&5&54">54&"264&VA(B AGEu ; " ,'C;(! 2 ) (5:)1%,D3?+%, _F$+ "-Lg\ >%!))" 0< 3 Uh"B+c"*%6_k72327.5<=4>3232672#"&5#"'"#32632#"&5'#"&54654'4&5&54">54&VA(A 0eIHF,1B. *+7A  $)T4 ; U /':4:)1%,D3?+% ]C#?A'"-41 2 7*\ 3 6, 0< 3 Uh"B+QEAQ7467&54>3232632#"&5"/.#+"&">54&QmbA .T5A`:WD?:, B" 0,:: =K *c/?)<(/IAL$3*)04L% * 5. }D XD #!( '+tD2327&54>32327>36323:32632#"&5#"&#"##"&'&54654&5467263&54?654#""#"'&#"#"&54654&5476%2>54&#"W"B6*DE$$5C4"H0  )):B6 3 15(1T6 ;o$  9&1 .6'(./ ; 86+>[$7   1 6+#Q 2    +(5 1.7")<,7%l.T]46;2+"&5232>7'&54632#7>32#"./.##"&54654&54"654&1 @  D #>!aQ97!i1s7 )( " 031 %D/  E  C dF1Tp +FS' 2  'F 3:h#0=4632;2#*+"&5<52327.54632#3263263232672#"&5#"2#"547>54+#"&'4654&5476">54&  1  1-;-)+v_k &:51B. *(9 . Q7 %81# , &.. %.)&%  7  s'BQZFS'  2 8*0 %  )  2=<-0/)f=4632;2#*+"&5<54654&54763223>7.54632#3263?2632676323+"'"#"#"54?654.#*#"#"&"7>54&  0  1 =#%&-xb1M5"## % %.+  T 1 NN9 =w!<(1D &'(%  9 #3 w'CR\*= ? >0 .3   )9 3"6 %&=gv4632;2#*+"&5<52327.54632#326376322#"547>54+#"&'4654&5476">54&  1  1-;-)+v_k '"#; Q7 %81# , &.. %.)&%  7  s'BQZFS>" %  )  2=<-0/)%S.T^h46;2+"&5232>7'&54632#32>32#"&#"#"&547'#"&54654&54"654&"264&1 .  >#>!aQ97!i' E<(! . & ',031 %'/* <  B dF1Tp +FSv *>&!))6( F 3  TM$h#00,%.kt46;2+"&5045232>7.54>3232632#"&5##7>32#"./.##"&54654&54"654&1 B  @ #>!&J3 0U()8De1s7 )( " 031 %D/  G B XK#??(] 5,>R' 2  (F 3  :h#04=Xg4632;2#*+"&5<5467.54632#32632#"&5"/&#"#"&+"&">54&N  1  1hh!!zbk2d2 G ,'7831Y  &b.. %.)&%  7 Jz!`#EO[ES*  3 9* tR  <-0/)Xv46;2#*+"&5<52127275.54632#326323023262#"&5#"#"'&54654'&547>3&4?654#"#"&54654'&54?>54&#"326 0  0)8*&-ycl%A66 - +'9y$C2%'.+.+& 9+18Y%'5 _ 8  v'DQ\DS? 2 6+  000   $k$    < 3x B4(559%@2>7>;26?2>762#"'"+*#"5467""&#>54'>232>7'&54632#7>32#"./.##"&54654&5&54"654&B 1 8 < $8L 7  B 5'Z! 37#>!aQ97!i1s7 )( " 031%D/_3   03 *) 1)#"  dF1Tp +FS' 2  (F 3  :h#0/2?0327>;2#"'+"&5467##"'>54'62327.54632#3263263232672#"&5#"2#"547>54+#"&'4654&5476">54&BI'wD* ;+4IS 8 4P2  -;-)+v_k &:51B. *(9 . Q7 %81# , &.. %.)&n3 # ,!3L 1! $ s'BQZFS'  2 8*0 %  )  2=<-0/)fB2>32>;2".'&#"#*+"&547&#"'>54'6323264654&54763223>7.54632#3263?2632676323+"'"#"#"54?654.#*#"#"&"7>54&D-=D*$ 8:& +  7 '  S!  3"# 2& =#%&-xb1M5"## % %.-  T  1 NN9 =w!<(1D &'(K#/ D 7 # 3 w'CR\*= ? >0 .3   )9 3"6 %&/z2?0327>;2#"'+"&5467##"'>54'62327.54632#326376322#"547>54+#"&'4654&5476">54&BI'wD* ;+4IS 8 4P2  -;-)+v_k '"#; Q7 %81# , &.. %.)&n3 # ,!3L 1! $ s'BQZFS>" %  )  2=<-0/)%SM2>7>;2636?2>76322+"'"#*+*#"'&5467""&#>54'>232>7'&54632#2637632#"&#"#"&547'#"&54654&54"654&"264&B 1 )     $. L 7  9  5'Z! 37#>!aQ97!i'  E<(! . & ',031 %D/*_3   03 71)#"  dF1Tp +FSv *>&!))6( F 3  $h#00,%M2>7>;2636?2>76322+"'"#*+*#"'&5467""&#>54'>232>7.54>3232632#"&5##7>32#"./&/&/"&##"&54654&54"654&B 1 )     $. L 7  9  5'Z! 37#>!&J3 0U()8De1s7 )( .%7 " 031 %D/_3   03 71)#"  XK#??(] 5,>R' 2    F 3 $h#04/kz2?0327>;2#"'+"&5467##"'>54'6467.54632#32632#"&5"/&#"#"&+"&">54&BI'wD* ;+4IS 8 4P2  Vhh!!zbk2d2 G ,'7831Y  &b.. %.)&n3 # ,!3L 1! $NJz!`#EO[ES*  3 9* tR  <-0/) X?4'632323?26;>7>32".#"#*+"&5<=#"'>2327275.54632#326323023262#"&5#"#"'&54654'&547>3&4?654#"#"&54654'&54?>54&#"326E)-"  -B" B&   (6%  ? 86 V0 "(8*&-ycl%A66 - +'9y$C2%'.+.+& 9+18Y%'5 M 1  : 2"# v'DQ\DS? 2 6+  000   $k$    < 3x B4(559#54%45.'""&54654&54673>3"#"G4$9+')?'61LH  (3d$: -J0  K0 #5I"54765.'"#"&54654&547263>72#".'"(& 44$B#'{T&0MF]$ 3 #3   6B $: 5D4 K0 1 *   #5=%45.'""&54654&5467376323267>323#".#"H4$:+%+=-,.TH 6E4:+4& )3l $: .J0  G8  % '%B2I4.#"#"&'&5467654&54>7632##"&54654&547>;2>54&5" H& *j%$+$M )8^iO;+,g1Ke6 0  >: , :0Y:Q;$*P 4 "CO6!!#E58F2#"##"54?654&##"&=4654&546732634&+;262rX#6%! *& )7% ;,%+<W#0M/!/ ' .:.b @:G4  J2?'$53>&54?6765.##"&#"#"&5463226322654&"# -4'!6-3'bM!#j,OG 2%&"2 >#<'*4 *;HE7 )3PG4#"#"&546=4&547672765<=4.47>322"&54?>i  +'X+ EJJ > U) . %+2   + & H&F"  T )#@5Ub%45.'"#"&54654&547673>3;267232632#"&#"#"&547#""#""32654&G4$B#'U)71LU & 9 *47- - 0 )3e *  ( +!3d$: 5D2  I6Z  6R38%  6###<5k$4?4&'"#"&54654&547263;2464.547632;222632#"&5"&+"5467###&$%5$2%&{T&5H A  ) ,6P-*9;# B/  M#'9 332Q+.&22p 1 7, 5+ 5]4'"&##"&54654&5473263232+"#"&=4654'&+"#"&'4654&54>?>II G(^y0G76?>?67654&#""#"&54654&54673>;22#"74.'"32561GD2&$ 2&,  ^7$!"& %(?=U 5KLG_&7/<  (FY  88 4     = 4 %5  2 H& *! M=% #5a$4?4&'"#"&54654&5472633:326746=4&5476;2632#"&5+"+##&$%5$2%&{T&5H 8  C U3,7 !W/  M#'9 332Q+.&H ,= 1 9/+ T0e4'56323?267>;23#".'"#"45.'""&54654&54673>3"#"-),/,  D' ;$' >+7G4$9+')?'61LH  (^!   -  d$: -J 0  K0 -v4'56323?267>32#".'"#""54765.'"#"&54654&547263>72#".'"-),/,  D' ;$' >+75& 44$B#'{T&0MF]$ 3 #3   ^!   -  6B $: 5D4 K0  1 *   0n4'56323?267>;23#".'"#"45.'""&54654&5467376323267>323#".#"-),/,  D' ;$' <,7H4$:+%+=-,.TH 6E4:+4& )^!   -  l $: .J0  G8  % '%1y22672>7>32#".'##"#"ʎ'56"##"&'&54654'&54632632##"&54654&547>7654&=4&!)   D% *1'  ZQ$+6) $ ' I*^!2R2a{`;+, i|8  "    2!!2 *  ?H CX; *P 4 .00Z <40cq4'56323?267>;23#".'"#"45.'"#"&54654&54726322+"#"74&+;265-),/,  D' ;$' >+7H4$ +&z\-Q2m^%8,#)# +^!   -  c $:  %* 1 H6 -!`9T.`l226726&67632#".##"">54'56#&56?.#"##"&#"#"&546322>322654&#"d@ ! :*6 $  ZQ8, * 2%$04'!6+5 'cK&:;5LH2    )" " 7L#<")6 )":G Q*6*)Fg267>77>;2+".#2"&54?>54#"#"&546=4&5463267654&=+"'>54'6U@ ( - 8A1 *4#  &JJ > U) i B$&R &6 Q0 !p3%#[&F"  T ).5D3   >"#?p463>32632###.=4&'&#"#"&5465?#"=46567>d &259g ".F)  C 2# =)  =/& +    *r]3   "   G#&'$!    >V-O^?463>32632767323#".'"#"#"##&=4&54.'&#"#"&5465?#"=46567>d &44(8/$A ^)6%    #&$ ,:  C 2# =)  %E,7  D" . 4PX' &    G#&'$!    >V-O^?463>3263232?>76;2#".#""#&=4.'&#"##"&5465?#"=46567>d &):6a    <&& 52% -7  F 2# =)  6..    1 ;3Z`(  G#&'$!    >V-O^>Y4>7467232#*##"'454&'#"##"54?67"#*#"#"54&>8ab96WpL (*9_R' ! ) :E3 5'49R*92  ,]-6  5 -e#"F.  5?k}263232+##".=4'.#"#"&5465?#"=46567>3463>4&+;265 -67c#3E/&8)) $B)! F 2# =)W "0' (7/)x # $(   G#&'$!    >V-O^   1F465"#*+"=>32#*+"=.'32+"&54?#"&62?+ 0BcO: 3 +0)) 9 ( Ua/ E0 (Ij(M2  "4 ;R K :ww?U"=4674326;232623##"54654'"##"5467"e&;  BQH $,  % ( %5,#  <  2'a 9lc  1 9 '>sK/?W463>32>323267263#"&5"#'"#"'#"&'&54654&547>;263&=<54&'&#"6##"#"&5456567#*##&546d %6a [1 3(:*  . ;34& <-#)/    ( Zb -l   :/+', 7)Q 0 # 0 JR n  P] C n?)mx263232+#"#&=4.'&#"32+#"54654672+#"#&5467>34632>4&+32546%4&+325464&#"#326 ;M+K1 SO!0& 8%4H; XM!0& Z) V^P!0& 8%"z %2 #?4%#?P'#$,*$+m/! 9-JZ3 4 . 0 ("lU-! =H[$1Tl+ -?+ l?a263263:;2672#"&5#32+#"#&=4.'&#"32+#"54654672+#"#&5467>34632>4&+32546%4&+325464&#"#326 =J9k KD'-)9jSO!0& 8%4H; XM!0& Z) V^P!0& 8%"z %2 #?4%#?P'#$,6* 2 6,2r/! 9-JZ3 4 . 0 ("lU-! =H[$1Tl+ -?+ l?ko{2632;2632#"&5"&#"#"&=4.'&#"32+#"54654672+#"#&5467>34632>4&+325464&#"#326 =JM[ *(: - !* 3I": XM!0& Z) V^P!0& 8%"z %#?P'#$,\Y8o,  1 8*,_e 3#. 0 ("lU-! =H[$1T-?+ l*et>34637632232632322+#.5?=4#:32;#+"&5467#2##"&546574#"326546!4&+232654&+326514QX&$ $UL87J  -  !.VF**$ _o=QVFZ> &_'(B"& "&N//  } /% ;b'L "*  4 *#") + /- ll?26323:;>3>32+"#"&5#32+#"#&=4.'&#"32+#"54654672+#"#&5467>34632>"32654&4&+32546%4&+325464&#"#326 =K|I ;# B'53<O "9JSO!0& 8%4H; XM!0& Z) V^P!0& 8%"z [! "!%2 #?4%#?P'#$,m 7)#8.5Q>(#".)"w& )S0=Wj8&-0 7I /") ;b45 F. 7 ' I[E/% ; '!&Fu 0  + ?Qi463:376326323262#"&5#"'"#"'#"&'&54654&547673>7&=4'.#"32#+#"5465"2###"&=464&#"&#"&546;265%4.#"#326 ,  9NM ( )(<*  , <9+ ) b %R.BUJMO#& O^J <)#?3) #!B)l ,^Y?h+ 0 5+*D 0&%(- 8.1 $ o/ }p lF6^Wd7467.54>765<=46;22#"&#"#".5.'4&+"+"2654&#"FY698*11 8 8ZM`NP  >F ..\B%/ 67@A('4  +  991*>$*)   D v6 2=$(%'# $3G^fs7467.54>765<=46;2232672#"&5+"&6'.'4.+"+"2654&#"GW798*11 8 8ZM`%&m .-9C  413F  4 ,\B%/ 65BA('4  +  991*>$  1 7(J! %F u: 2=$(%'# $3F%^hu7467.54>765<=46;223272>7632#"'"#""&+".5.'4&+"+"2654&#"FY698*11 8 8ZM`nP  )5K%   ?L #,/\B%/ 67@A('4  +  991*>$%G" - 1  R mA 2=$(%'# $386^bo74>7.547265<=46;22+"&6'.'4&+"&5<5+".72654&#"8#2) (7 0 z304  3&I  ,*  ;M;!(*54 <)]. % W /  6?   %G - 6*#- + #5F^Xes7467.54>765<=46;2232+"#"&#*+./.'4&+"+"&2654&#"4&#"#3265FY698*11 8 8ZM`RQoW^(   $MF <\B%/ 6s' $5BA('4  +  991*>$- * "N w5 =$(%'# $3,+F^s7467.54>765<=46;2;2632#"&5#*#"2#"&#"#".5.'4&+"+"2654&#"FY698*11 8 +0; \ 1*9: NP  >F ..\B%/ 67@A('4  +  9 +1 5+/4*)   D v6 2=$(%'# $3F^JW7467.54>765<=46;22#*+"&'4&54&+"+"&2654&#"FY698*11 8 8ZM`ZY -/OE <\B%/ 65BA('4  +  991*>$% /  x5 =$(%'# $38v^74>7.547265<=46;2237>32#"&'"/##"&'&54654'&54>7267&=4&'4&+"&5<5+".72654&#"8#2) (7 0 z304zV"N)&6,< I$ &  DZ%N  ,*  ;M;!(*54 <)]. % W / 'D00 8&  "2 2   P - 6*#- + #5F6 HU7467.54>322#"&#"#".5.'4&+"+"2654&#"FY698'??" >?&,/INO  >F ..\B%/ 67@B($5 1!2 *)   D v6 2=$(%'# $3G Wd7467.54>32232672#"&5+"&6'.'4.+"+"2654&#"GW798'??" >?&,/I$&m .-9C  413F  4 ,\B%/ 65BB($5 1!2  1 7(J! %F u: 2=$(%'# $3F% Yf7467.54>3223272>7632#"'"#""&+".5.'4&+"+"2654&#"FY698'??" >?&,/InP  )5K%   ?L #,/\B%/ 67@B($5 1!2%G" - 1  R mA 2=$(%'# $386 7E74>7.546322+".'.+"&5+".72654&#"8#2) *4[jXl214 3&H  ,*;M;! "54 >(1NA8 0   $RC -  6*#-%#5F IVd7467.54>32232+"#"&#*+./.'4&+"+"&2654&#"4&#"#3265FY698'??" >?&,/IRQoW^(   $MF <\B%/ 6s' $5BB($5 1!2- * "N w5 =$(%'# $3,+F ^k7467.54>32;2632#"&5#*#"2#"&#"#".5.'4&+"+"2654&#"FY67:'??"Xk; \ 1*9: NP  >F ..\B%/ 67@B($5 ?41 5+/4*)   D v6 2=$(%'# $3F ;H7467.54>322#*+"&'4&54&+"+"&2654&#"FY698'??" >?&,/IZY -/OE <\B%/ 65BB($5 1!2% /  x5 =$(%'# $38v u74>7.54632237>32#"&'"/##"&'&54654'&54>7267&=4&'4&+"&5<5+".72654&#"8#2) *4[jXl214zV"N)&6,< I$ &  DZ%N  ,*  ;M;! "54 >(1NA8 0 'D00 8&  "2 2   P - 6*#-%#5Z4G74&547632632+*#"#"#".7>?26=4.'32676=]( /L'+( % o] # #   ^%9:@J7|(7=E "!!+!b/)=& %#[2FV%#"&5+"#"'.54>326322672%>?26=4.'37>765)(9A+:$K .?85EDu] #  ! K=+(D % 6+U +UeCj@)I="` /[ "*7 ) 3G -@f""A&6JV7"&54>7>7"&54>726327>3#"'#"&#4.#">7263:32765 7j!G/*AT FXH-!"2,J(    I0 "  )!z8-(2'[0 >:-  !, 3   ;,%M&"&':G7"54?>7"&54>72632+4.">7263:32765& >h H2()@ ,4NX( w +2 #!./7-'3'"2) 3X? !$;' O! "&)=IV74>7".546726322+"+"&544.#">7263:32765"232654& %LM0YM(?W\Lr%6+  E   I0 " *"s B) +2W Y- $#*    ;,%M&#<  A00AK2"2#"'.54767&'46;2654&'.'>2=! (Z .-@$/ >)% @ $   VP:0#95%&A#2 (@49% {  A *E2T'/ @7C+N*197"&54>767&=47>32+"+.#">=t!C.Mr>YO H1A{ tN#7 8E@N)($,Q63?+S (sM6-ZIBDR%#".+*+#"&4>54.'&54?632>26;2>763%32654&#""*6 '775IA\\A $9 '!;;J!6T" ($ ]! 7D2;+' 6+a?j]GEW0A)G:.8-"! 7Q)#203!GIGXj7"'054?>7#"&54>54./&476376326;27>32#"'2+;2>7654'  !=/9(88( #*KB !.P-" *2J S:  Q5F  ,  $  C +$";+)5  949 <0  ", s + %  IAU263236;265463:;2+"##"&54>54.'&476?6.#"#""3265'7pS6$,)$9( @ E(#9_,:NA\\A 9 T 2    7(7$I?5XZC"0*#97  ?W $B54^GFX0  ,,'"*(%!/IHcw%"&'4&5>7"#"&54>54&/&54763726>;2332672#"&5"&#*#"+"7>54+1 EB9*==* H %5_ +!&  R 2*9 )    ~-$<)(2 2*>=    D 1 6, ` E, " #9IP^k"&547"&#"#"&#"#"&4>54.'&54?632632632;26323263#"&#"%32654&#"2654.#"A-+ #'' .6';MA\\A $9 '>^A:1E.  !$-A,2;;29#;"%5* $)QA Aj]HEW0>)B@L4#7!*!2J8 +$#63(  #1't%"54?>7"#"&=4>7632;2632#"&547#"2>54.54;2;2632#"&5#"+ >R8/RN:F7   4)AH*: ++E*6 Hd  ();`  ?%,O)-7Q0  -(85*K! #?1 7+ G# *JT^m%#".+"##"&5&54>7263232632#"&#"#".5476326;2>322654&"32654&#"+1$ +%-K).I(9Q3267'>7"#"&54>54&/&54763726>2;2>72632#"&5*#"3263632#".5"+"&#"#"&546"7>54+A'&(GEB9*==* H %5_ $0  8X1*9 (c 3%0 = 9@$2  %   ^-$<)(2 2*>=   ?  / 6+ [  1 *' 3C0|, " #&dB%45#"&54654&54>?>323>;2#"&5#"*R1%,(D-FB2 W(): Y !E 25 3    2 5, ] &dY%4?#"&54654&54>?>323>;2#"&5767323#".#"#"&+R1%,(D-FB2 W(): ; ]:*0!) *J L" 25 3    2 5, i6  '%j & #&dZ%4>7#"&54654&54>?>323>;2#"&532636723#"'#"&#"#"#"&+R1%,(D-FB2 W():$5 m  :$JG  8IOٖ 25 3    2 5, B:= 1 3  Y[47""#"&'467654&54726323>32#"&5##"&54654&54763:;6367>5p;& %m]w& ro 2+8 d:$%  Wp=X>#4  (2 7( y)\8J[2, #?K?&dCR%45#"&54654&54>?>323>;2#"&52#"574&+;265+R1%,(D-FB2 W(): k]<&")F"+ (I 25 3    2 5, -:.B) CeY67#"&54654&547>7>37>323>32632#"&532#*#".547#"Iz2$&( & U  -*:*V(* 2 9%k  01 2   2 5, &50 <(d["&54>7674'#"&54674&546;2?>?>323>;2#"&5##E;]dc 2%*GF& X():O7Z_f$ 716V5292  11 ,    2 5,3,32;&545#"&54654&54>?>323>;2#"&532632#"&5#@#/ 7R1%,(D-FB2 W():%` *(<B9 3  25 3    2 5, ]  36,1qd2>7>;2>7264676322+"'3267654&47>32#"&54>7>5"#"&#>54'56A 1 )' ! 1 N63td/! L  32#+"&+6363>3:32321#"&+"&'&5467"*#".'.54654'4.#"#"&#"##"#".%4#"#"#326363>2637.*>" !/8  :' HE(%  *)"4 &   .  :4s$ 4^N%7 e$D"@I7Q3ZI[A    5  &7 #  >9,-! / ^ ) +"`5 X 3; 5# 1qhw2>7>;2?264676322#"'6326;265463:;2+"#"&54>5#"&#>54'56"32654&#"< 0 ) : ! :;&F2/6e'EG- 9( ? F(>\-:N,BLB,7 T2!,?!7(="2)I3   '"3 ,T4W (5( 97 =X #B6*O;C;O)"%|<((%&;+(0-4376320""#"=4>3>72#"=0Q   > ;  i  >   ?  E C4J[43763032"#"="5<=46?632#"4>72##"=74>72#"= S ? A =3  L 65 i  > ?W> >  3  A 3A:X\D-@2#"54>764672"#"=43762#&=H )_* ĥ X  ; PA D      2  A ??:2]+I^2"#"54?62#"&5<=43764>732##"5"5467632D)#" .  Lm2M :" < (_+ > ?  7     ;i-)B>32"+"5<=42"#"546>32+"=4d -   - 3d $   / @   /@ 0-D437632"#"=4&#"#"54?>724672"#"=4&0L , ?L*)_!X  :  > @ x |  2 A0(n*B2#"=4632632##"=46"=4676;2##"  M  L L >  >n  5   C A  A ? ?  0(n5Nf}2#"=<5467632#"&5<1=4376!2#"&5<=437632##"5<=<546764672"#"=4&4>72"#"54376;2"#"=  L { .  L .  L [ H!X  :  68  : L    W n 5 Ab> ?  > ?  qA  @   2A   2 " =   ?2t|'Nb"&'#"&54654'&5432632++"&5467>54&/&546;22>54&+"3:3"&5"&5467654&5476326329(8 % *g  3VhU /81-S(  ;3",4%"+ 4 l   *8 +8$R *3. #3  3 ' >O6Da '" )$$4-2)>&6+ #(%' 1 #t2(U_#"&5#"&54654'&54323>2#"';2654&+"5476;2+"&'.54>32"254&#"&5#"&54654&547>;263221,8BO13&v j#!, H,M#)!1/FecQ32"&5+"&57>3:;2632632"&5#"&54654&5476;2632M1(<9.+b _~)$ a*9p B  D x[ & ):9-, Yi** 5+ 'K 1   07+ %  *g6+ 'K 0' 0 LtM)=Ms#"&5#"&54654'&5476323>324>3#".7"32654&'&"&5#"&54654&5476;2632M1(<9.+b _~)$ 2J>7E.u]4Q- o !5,A  ):9-, Yi** 5+ 'K 1   03M&'O532#"'#"&54>54632;232632#"&5#*#"323763>323"&5#"&54654'&5476;263231)<9-&b _~)$ B&0A'77'  5/T1*95 X'f I-*89-% Yi*) 4, (J/  A ,%>- ;./=" / 1 7+ E7% #'$-6+ (K1 ' 1 `2&fy#"&5#"&54654&5476;26324&'6322726322#+".'4&547>7654'+#"&#>4&#";2564#"&5#"&54654&54763263220,9\ZH. Wj #3  n LD_YiB 3 % M/#F, Q',9\Z% %O|  6(  ;8 /' 0 . *"-  6U !#) % 6(  "3 3' 2O`-2632#"&'#"&5467654&547>34&#"#"&'&5467654&547>32632263>3232726&676;2#".'"#"+"#"=4?654#"&5#"&54654&5432632i)-7\Z$ )D ? 2%( J[ ,( !#  ;)8&  \/ } 0-8Z]++&^} d' 3 6(  "2      32 % 6     *"9 6(  *81' 1QZ'>32#"&5#"&54654&5476;2"&54654'&54>7#"&54654'&54326;2632#".'2632#"&5##"&5#"&54654&54763232632V}t  *(<{A$, L'(k3PA&)vM1K* #R0 .*8TW_3,,8|?'% > ( h  u  36+D: 3 x 0  * 0C . + + 16* 01T 9( *C3  'OtO)Xf#"&5#"&54654&547672632326322>?>54.54>32#"&54654&54?63232>7"&'#"&5467654&54>32632O2)99-* I A   N0-=\3@X$) 5) )8 +%  '&.C ,) 5+ (J 3 ( 247I9CQG0X  &#%=N)#Z2. #( '2 2`2&Kq#"&5#"&54654&5476;2632>54.54763732+"&'4&#"&5#"&54654&54763263220,9\ZH% Wj 9 ; &5 #1`',9\Z% %O|  6(  ;8 .' 0s  6     6(  "3 3' 2%d%2632#"&5#"&54654&54324>54'#"&54654&54;2$76;2#"&52#*+"&'4+"+"&5"&5#"&54654&54;2>32e ));G&Xv,,`2%&j (*#  1+9a 5C+ 7 d T  Aw+9j09-%M \{B 1r")5, :735+,;!  112  6+  */*%Ald'#6+ (I2  fd$h"&5"&54654&54323263246;2#*+*#"&'&54654&#"#"&546323265"&'#"&54654&5476;2632^)9 *8&X^*]H XR * ,"65Ccg8 !%*8f37,2 Hx  0 6+  "'3" 1 FT6Iu $t36H)#2J$ZGTm #F/(aP@3. 'J2 !1 Hf)"&5#"&54654&54&5476;2632"5&54?67&'#"&546545&54;232635465.54;2>54&54;2+#"&5#"&54654'&5476;2632A.72$, N#f  )P  .?;dJ*$ 5  :  5 HDJC>)(;f3& % O#c6) .. 1  !2 W #3  ,G  B #V  # : U!   5* "1 /  ! 26f)p#"&5#"&54654&54;26323>32467#"&54654&5476;232?632>54.5476;+"&#"&5#"&54654&54;263232632&-7|++%Io% 3'" 8 !#$C ID0-8|H&KQ 7(  )72&; 2F Q   a   )   6)  :72! 1Cd+o#"&5#"&54654&5476323>32"5467#"&54654'&5476326;2632#"&5"#"##*#"&54654'.5467>3>;22>32632#"&5+"#"&5#"&54654&54;2632v *(<$ * HTp&$]% *'=N1g .,6;   %5\ N  7  o 3(:2J% k91);f32$+ Jk  36+  "1  2   Q  !2  0 1 :'8 5  Z9s$ 6+&Il 5,// 3 ! (1d.r>32#"&5#"&'454654&54;2"'#".54>3763232632#"&#"#".547"32>7>32"32654."&5#"&54654'&54763:;2632So%$/';$ &M  K2F2:0(7K79 C !19 :#- TST2" /  :* "):f3$ % I k 2r  5 6+ !2  3 , 6)Lp9$ ($9 '%nQ  '%"$6+ "2 0  ! 2 %fb*#"&5#"&54654&54763232632"54?>7#"&54654&54323?326;>72#".'#"+"&5467##"&5#"&54654&54763232632 ),9 *+ Zs U0 ^2$'c)N8&~ KKA-- $      E4/   `)-82$(Zp x1 7(  "( 2!/Gu4 123  1 )Ej' 6 6)  ./ 0! 22d#,a#"&5#"&'454654&547632326324&547>32#"&+"54654&#"#"&546"&'4?>32;2#"&5#"&54654&54&5476;2632#-(<*`% & C!^I;43 "3#*   =,'c  3Q 1*:f3 ++ He  & 6+"3 0 " 4  3 B  *R 0  (}   5, "' 2  !d#*Sa"&5#"&54654'&547632326322##*+"&54654.546">54&#"&5#"&54654'4&54;2632+81Z ** E ] -.TM2   1W| 'MR1)7&5474632!+"654&!"654&"'#"&54654'&546323>32.c/)9A ** R   /^wYD!6`t" ,(D)D[Y H9-%0;q.#  -} 5 5, "' 0   9  &<.AG5%}?0 # >BZ| 6 6>$Z&57 ['a (I/    !#5654&'##5>762/./ [A#A@EI!A2(x$ $5%+5232654&'532'4&#"264.+2>m@"&!:<$d3Go>;C$* &4)x;=&.& 1#K 97#,  # %+5232654&'5324#"326˓o $wX&!dUls#.$psZ,%!5>54&'5!#.+"32673#.+3:3:3267$$n'2ZY()Y/64rr$.#b-'(6 #"546323254&'53(E=M '&>H2-;% 9!#5323254.'#5>54&'532>54#*#53323 HI&(&'L/1"'$z  UF%)'$%C,9 x %!5>54&'533:3:3267$$$165rr$.##6Y%!#5>5##5>54&'533Y(,'$$(1~s#/%X#$ #.#"+#5>5#"#7! $/,'*$8' N3#&*S7t  #"&=4&'5332=4&'53+NQTv&%:Az*#.Sb[Q%$@8.%"&'&'&'53>54'53 ZB#.a8+/!2(u$t>#"&'#"'.'537.'53>54.'53  \ p   .*:[ & $!(# { *(',V  u5+ []T[RY %!5#"#7!3267 /[E-&2vk(E (#"'3#5>54&'5324.#"32$>A&&'$"<:"P/* qG&7 |%('$ 4%( 2A#"&5462326='5##"&5463254&#"567327'54&#"326/!0""z*WY]vY91 V=?(,;B1=!., !+=@]\+",(54&#"567>54#*#53"67-!0" C[    h3./]C&(+ !., ![v  $` 3D"3 +#"&5462326=#5>54&#"567>7-!0" +" b= !., !)%  B#"&5462326=#5>=4#"#5>54#"567>327-!0" (M(;" &# K?;&3 !., !&+a9!(9O">9&eU  M#"&5462326=#52>54&'3#5>?'.#"#53">54'5367-!0"  T V(r^  +< 9(4S5/; !., !    \ U *xWJL #y$%#yIDQ!#x%9#xDEuQ#xj%k#xD`EQ#qi%#qEeE)y#v~)"v!#x'"x>Gu#xj'k#x\`G#qo'#q\fG)#z'"zfG%#e*'#e\ G U#CZ,#C^ U#vdZ,#v %U#e*(#e: H `U#{X(V#{:NH )U[#w)"w: "!#xp)9#x"I  #q*&6"qRJ!#x+ 9#xPKu#xj+ u#xPjK!#j+ 9#jQK)#z+ )"z\K;#w@+ ;#wR@K^K#{V,^+#{VLM#v>A#v"i#v.#v3N"u#xj.u#xXjN"#qo.#qZdN uV#xj/u#xjO uV #q >u& #q ? V#qm/&#qnO %V#e*/%&#e*O _i#v0#vP _!#x0M#xP u_#xj0u#xjP !#x1]"xSQ j#x_1u#xSjQ #qb1#qTjQ #e1%#eT*Q"%#vQ#v,"#jo #jR"#CZ,#Cw"#vZ,#v,i#vJ3'"v S!#xp3'M"xFS!#x5OM"xUu#xj5uO#xjUu#q buO>"q c#qj5O#qiU*9#xc63\M"x V*g#xc\63k\#x `V*#x3n"x}*#xnK"'^9#x#*g9#xc j3k\M"x  kQ!#x7 "x`WuQ#xj7 kC#x`WQ#qk7.C#qgW%Q#e*7.C#e Wg#j\8 k#jM`XK#{C8 X#{NPX#e8 #eN X#v`* Q#v'+#jJ, "jMv-&#{9U"{RYj#x_9g#xP\Yi#CR:#CZi#v:#vZ!#j.:M#jZ!#x-:M#xZj#x-_:g#x\Z !#x;M"xP[ !#j;M"jQ[!#x<&M"xM\ Ue#e="e8] uU#xj=u#x7j] U#qg=#q8c] #qRK'"j`W#yZ&"yN\%"]6D9#x"Au#xj$%k#xH`D#$%#D#v%#vx#C!"C{y#%#R#{%4#{Ju}#e %k"eI #vi%8#vF#CX%P#C6#J%0##{%#{Jus#w %k"wI uU#xj(k#x9`H U#(#H U#{(`"{:H x#vv#vyU}#C""C| c##X U#{4#{: uUe#e k"e: ;y#H,#0u;#xj,u#xjL"g#x\2k#xR`R"#2#R"#v# #vz#C"Cy"##_ "#{4#{T"g}#e k"eS "#ib#ic"#jb"j_c"#b#c"M#{b^"{]c"S#xHbW(#xPLcg#x\8 k#xL`X# 8 #X:#iq "iKr:#jq "jir:# q #r:P#{q |"{JrS:P#xHq W|#xLri#C<&"Cr\u#xj<&#x^\#<&#\#{<&a"{N\)."< )."< )."< )."< )."< )."< ).L"< ).L"< "[" Z0"n 0"n Ȉ 0"n 0"n ɖ&"d b&"d b)"@ )"@ )"@ )"@ )"@ )"@ ;#![ʹ+E#! 憒#!@ #!J Ƞ#!@ #!J ɚ "B  "B  "B  "B  "B  "B  L"B  L"B h##[^## =## x## k## o## e## gJ## `J! "D |! "D | "D | "D | "D |"D |L"D |L"D | #%[ #% n3#%T #%Z ȶ=#%^ Ȧ#%^ ɴ#%T J#%T J"J "J "J "J "J "J Z#+[Z#+ V#+ _#+ Ȅ#+ `#+" Ɉ"P "P "P "P "P "P L"P L"P Y#0 e#0, Ƞ#06B ɡ@5@#0, ^)"T g)"T g)"T g)"T g)"T g)"T g)L"T g)L"T g#4[#4 i#4 #4 y#4 #4 s#4 mb#4 nb)."< )."< )"@ )"@  "B  "B ; "D |; "D |"J "J "P "P )"T g)"T g)."  )."  )."  )."  )."  )."  ).L"  ).L"  "  i"  i"  "  "  "  "  "  "  "  "  "  "  "  L"  L"  i# A "_# 7 ##  $#  %#  &#  '#  (#  ))"  g)"  g)"  g)"  g)"  g)"  g)L"  g)L"  g# ` Z# ` [#  \#  ]#  ^#  _#  `#  a).&wj<).&h\*<)."  )."1B%#".'##"&546323733265#"=332654.#"32>.9 d:Zks\AJ  T#+]JL<-$2 9,.<ku#!8H\^cG{r<BXOc.N,UF0LD"+OAOZ)."  )."< )."  s"w "q# _# `# skEB[Xa(-N#"'732654#"#"54632N;*& $%'/ 4<*> $-*;]U#"&#"#>3232676'V%6*T)8+++6+l-"#"&#"#>323267"&462"&4626'V%6*V(((()8+++6+(((("  #2#4#"#4.#"#4323>32#"=33265T>U*[$ F='4 ]JL&c@gd",,D`27%6XOc.N"   "B "  # !n# !n^# C#^# D## #v- #.54632#7254&+"&5432" evO *(--505 7c7 #8u- #7>2#7254&+"&5432S(wP*(- Rc7 #8]-L*#"&#"#>323267#"'732654#"#"546325(T% 6*V>0 %(/L*7+++6+ 0 !. &wD z&h!D/"&462#.5462"&462#"&5332>=3((R".((/97/Tq((`505  V((;>;9Y # -"&462'#7>2"&462#"&5332>=3 (()S(~((/97/Tq((H q((;>;9Y #"D |$"D |;["%w B"%q#% V#% Me- $#.5462#"&54632#"&#"327"g &99.+"! -505   9&.6')d- $#7>32#"&54632#"&#"327"' &99/,#!  505 9&.6')]-L*#"&#"#>323267#"&54632#"&#"3276'T%6*TD!/.) L)8+++6+ /!(."&woPz&hX!PA"&462#.5462"&462#"&54654#"#463232654&54632((R".((HP#0(610$2=F=?q((`505  V((XI$$9\:FO4|6@g@($?"&462'#7>2"&462#"&54654#"#463232654&54632(()K'~((HP#0(610$2=F=?q((H q((XI$$9\:FO4|6@g@($,#"L ,#"L "P "P )s"0w) "0q0E#0 m/E#0 n#- b|-"&462#.5462"&462((R".((q((`505  V((w-"&462'#7>2"&462(()K'~((q((H q((-4 #.546324" -505 )"  g)@O%#"&'##"&546732>54&543232>=4.'5#"=33265`R9>>9R`j]*  #",/.+1!+ &]j]JLWI;;IW_#9(  8&(023S( -N#"&54632#"&#"327N%*<=4/'%": >*4;*-$'73#'1'  5!! 15!!1 )!5!5!5!  2(2s07632#"&5467  !".>2 R 3&-T82O0#"&54632'654   !".>2 R< 3&-T82Osf0#"&54632'654   !".>2 R 3&-T82s"&#".54>32&, R $&9; Z/)+(07632#"&546737632#"&5467`  !".>2 R  !".>2 R 3&-T82 3&-T82(0#"&54632'6543#"&54632'654t !".>2 R !".>2 R< 3&-T82 3&-T82-sf(0#"&54632'6543#"&54632'654  !".>2 R  !".>2 R 3&-T82 3&-T82+-"&#".54>323"&#".54>32x&, R $&&, R $&9; Z/); Z/);k."&'#54&'6=#"5463254&5462>32\&*(*)S , ]$$$%-O+h{{E3+ +" 2f i="&:gP>32#"&'>32#"&'#"&5465#"&463254'6=#"546324&54632)$&\ \%(%\  [&$$&[ [%())S , [&$vg?"& w0LI"?f g?"& %6r +">f (6 2#"&546:NP78ONO:6OO98N(67(/oxd #72#"&546!2#"&546!2#"&546!" !c!" !c!" !d" "" "" "*6BN[232673##"'#"&54632654.2#"&546"32654&%2#"&546"32654&"0 ,5C,R/5(#)`F2DtK '95O '@.2d@3FuT0Q 3S#D.2d?4FuS&? 3S"B, OO:U~A'V=8[P:PH(O&2=8[P;P]d(O'1L 1?N\ky #'#"'#".54632326732654.'2#".546"32>54&%2#".546"32>54&%2#".546"32>54&7R/ 4%+_G $rN#2",7?C 5M  2 .3e>%)wQ3*B#C.3e>%)wQ3*B#C.3e>%)wQ3*B#,Q:&E#>-C  =H7632q O4A W (L I-;Q ' 9^0!747'&5432#"1K6  7( AfD *]A 6";XDb3 )3''7'77"&5462"&5462$"&5462"&5462=%%%&$ .!%&$ .!&$ .!&$ .!%%%H!"!"!"!":#MD,8#'.54327>54&#"#"54632"&54632-/)#46 86!<&2g<-3'" ""?7:V2x$TR  X3L% ,?EK#= #UB5732>7#"&5EJxI &P9O<>Z-=}` "6 #8# )Z))5>32.+"5Eـ<%MN@O-#)4[J_.us (=$ "C07#3#PDCrrDE^M#"&54>7'.54>3254&5432>32#".'#"&54654#"&54>7'.54>3254&5432>32#".'#"&54654%#"&54>7'.54>3254&5432>32#".'#"&54654&0*C =) 4(%8& $F!Y,$2&0*C =) 4(%8& $F!Y,$2&0*C =) 4(%8& $F!Y,$2.  7 -L' X9%'6 :N U .  7 -L' X9%'6 :N U .  7 -L' X9%'6 :N U +!*#5!*XK #K>1NXK74675.=463"&5X$77$OV3(#22#(3VOy:9  9:S8 9622 2269 8TK(%#5>=4&'>=4&'52(OV3(#22#(3VO$77$yT8 9622 2269 8S:9  9DZ#""D#"#"M #"'7!)+ ;r3Ff ###5>54&'5!2>54&::9:ncd^@68?"!5S6Wbm\lT_[?14>32#".7"32654&21GTYB21P+%"$!:U+s^\u,YZZbR]Y9 2#"&4657#5>=4#"Ev" .&&& 2 ##5#53#527F/F9ZZ1  ##"546232654&'&#"54657327+ nZS4 429> KdfEU2',*6B%J0"&54>7632'"32654&GW &=kF'@JPQ,,&!+aP9@0%|G<@N&*?@3,5;( ##"'7(G  x[_*!-#"&5467.54632'3254'>54&#"G-RL;M35N=:L*S'&( E> ,#'('6&09:-&%))+83&*^&-%,<&$"( 0 %.2}E ##5#5353K2KK22KK2KK2#5222,#57#522d22@"*5>7>32#5>=4&#"#5>=4&# H"&$0 +02(ze! x-1 !*98{*8(t*0#u*82 #*0  $*00 %*8( &*-* '*60 (*2e ) 2 * 2L + 7H";54&'5!#.+"32673#./32673!5>=#"&546323273#.$23^F#i'8\ i++i#A>#^^$RM+W;ff~% a- ') %4s &tul8Euy.4=327#"'#7&'#7&54>3273733273#&'&'$.zh?o?&#.$1 9$?:`yA)$*%/$2& fc'IJ-6Ye!3&\QT.vy !dB C@W|OyJ"6=4.#"5673>32#"&#"327#"'#5.54>323273#.y<@0J? NF"7' 2zh?o?81-Td:`yA5x& p|+BoGi  Y3(#:-e!3&%yQT.!!Sf "-.+3267#.+!5>54&'5!#.+"3267 +0zz0,),:z$78#4 9T z;+Z h/7!$>8B'  +  Q72654&#"%#"'#"&54632654'#53.'#5354632#"&54#"3#3#32>2N!&/cG7W&(3* uohdoT=4.#"3##54&#"#52>=4.#"567>329C010v) )' &Do %,G"" HD&$6B-&u"rNS452 ! K 159=A#535#535.#53354&'533#3####5>57'#7'#5#35mVVVV$ '9 RRQQ&8;&8[Y7%B.F.$YQ+2+Y.F.uL2.NFFtootFF.SS\&,+"'!5>5#5354&'5!23'&#"#32$$:;MM7FoM>  6"%<I.:5 !M9.. `.v#V5GLPSWZ.'5337'.'5!"37654.'533#3##&'##&'#53.'#5&'#%#3#%7##!&##$ 5!#* M '%$ 9} 1+Tpd&; -^;J9V_! -R<& ec*. &.6s. 0 .t!%FFF.N|FF.K".%#"&'#73&547#73>32&#"!!!!327(MK1F9~K'l(?3. qqxf{gq;D{. .uD;i,V9.  .c|e1 &Th#"&'#6?>324.#"32>%#"&#"&#"'>32>7>7#"&54>324&#"326 q.#@e1*h-A L)1K&*0K&?- F,"5 %3!@` 3d;|jzl) QYmW("r_o}"4-%-@_W! .?\U*'&6KP/,J*6*9pB+B@b3p#/J4J o+*"%/323273#.#232>7#5$4670" M!    *,$)/[F"*; &=?!!'+1 &>=JIAK.O`Be8v 2 &5464&#"326֠Ԣr  2#"&5464.#">326Ӡ7Q`Lt]$(z)TΈ:oԓ闔EtG2H00bdj/y %%".54>323273#.#"327y?o~sb::`yA5x& pX947BzhyPq!3&'OZQT.!!Sfe$P#&,rN#),r1(6#"54632326767#"&54>3274&#"32> & \N +]*9D#52WA=  2e:2g<);`@  u6=!==$F7@m=.I&r0-u!qz326?6323>3232676;2#"&54?#"#"&54632#"'32767+"?6?#"&54654#"+"54632%"67654#!'\&jaG14tIc9#U( <^$:9L@<.yAP9K0#!$ ?4d+HJ VJ3.)%4$ i'!&j3bP0@73%Տ@6FI?fE3K8 FD60TkY[)& @">YiyW963 kUpD+-bpD%&#"'>32654.#"''7654.54>7327#".'67p+BD< FA+! !<4Dv+U4'GF5hJ$ lK,+,)2O6>9BL0J=l8c{P3nQ/S;+EO; V:!';45E%*J-@:/g4HN::1"+9)5>=!!5>54&'5!!54&'5!%4&'>"<9<<z9/999   &<3#!89!57!5D3#e%#!'D&"'23267#"&54?654&#"#654&#"+567632Q  ( -?&7 Z'!K LQx^%v  2 A1K R;.XsV  @%:%#"5454&#"#'7654+5677>3232>7;-R ^ Ksa y!&PM. ='@H Q i$&(.2 d)/]m#!+y :!C7K/  : J>74632"'326?&547>7632>54'46;2#"&K(DO4Fws"b\( B@4632#"/&#"'763232>54/&54?&#".9l-H_ UC  +W " "(WGSD[+&6!,<#Vs.(l&8D( V5K )))*)U?G;9(  %A  CLT"327>3232676;2#"'+"546;26?#"&54>32"327&"67654TO`O7\gZ#,-ΰd=dnG1x" M|3TxfRIQEWP:V cY:!P11^:H@&U/H16Lrm:)$]U=B/KD22&1:Rz@=5sK $ -m%xC.3%0327#"&54>7'7>324&#">-S7**F?[8/5\ o%(?%$/=#+#+H%X$LI*\&v=W54&'5!34&'53&'>' H&8>##>'92+$zL2#67 NQ+9D< 32>I!5!4&'535<5467632#"&#"##"&546323265%2#"&5463254&#"t$%; 3#,6 4L'(8 _@QXA?RU ,%G-$ '22L/JAO$+@|b#6PK;?UO<@Ok=QW9H(&83254&##"&6324&#"326'+#5>=4&'532l+E(=ŏǑwyxu|D0? $$ %0CV)) {{z-0c   .-<-=N]4>7.54>7>7>32#"&5463232>54#"#"&2654.'<) !6(=  ;,# RG!1y(8V/Nu>6A &&4f=C $ 8Fp'/O8"=?%H8<%,46N& Z aH%2KX-voLA2&@oDg:H?)%; G'&+F;! (*6*="0#"'!5>54&'5!24#"324&'>=>$$:<<lqm  N9;6" 9:Z\ &" (D( %"N',#"/.546324&#"326!h/'JI-…?s]83PX+9Uo~W1,,1[zLz7 .L{L,TSNO. : C韗_Qw >54'324632#"'326?4>7&#"3267>=472#"&54>763263232676;2#"&54?65##"&#6Hjnp/#!# >3;=[KI<{r;7 F%?&mA7-&:*vW~qJ- $ "0>+ "K_/ "!NQ4""J>U;Pe$cz='U<" wU`5,~SO4 15 K:,&")/%^z-A/ %E/(+0i( HC2#qHnX':[46327632327.'.+'7'&#"'&"'7>32>54&#"'>54.u`0)" ),!n((  Q?&h&&FN+AW%7 _0 $ %55%\p._ 5gJ XSW-K )qv^`2)X =7>m)" 0 1' 4  ">!-;!#!5>54&'5!24#"2>4&'>8 :<<x)KV4$=$3ݬ'$,K,#  44# 9: !K6&< -ֈ:&# (D(! &)5!#'#7'!5>54&'5!2734#"2>5-)8 ::6)KV4$=T,&[$3ݬ'$,K,#DR{4#%<6 !K6&< gLrp-ֈ::'+09#'##7#5>54&'5!27'5'654'&#"27t$=$3I0K-:64- 8He@*B'6)r&< - ]]%<6 B?,Q=f6=c%U#5>5#3#5>=4&'533%#"&+"#5332654/.546323273#&#"c$(#|  R0F    ,,/445A=7 L!#&b&%$N *!6 ]6> /#&8-+C {n%):/;#5>5#"#5!#.#>=##5>=&'533# &% 1 Y %  0yg  %$$6%XX% %6$$05$:%%#.'5!'5654.'53#-L-`'% .)J4$" WB% [?,Q,to9 "9 %!5#"#7!!2>7#3T3B! P/?$ DA`=a.!"/#$!4!-%#".54635#"#5!32654&'5!#.+2323254."'67&'732654&#"&54632Bw6K$9%'54&1B4 6/ "3<:KOCs N:jKaFXgPs$44$%.'87'!2H/"% 2* 9[>RlVAK\(Y;B^u"."r}"&54>327632#"&54>32#"32>54'#"'#"&54632"'3267>7&#"32>=472%>54'632"327&5,bI4  5@K8[: / +J.'A% =,oL%D5F?U;N/"!$( B6;=IRL?yo96 +:uA W{(SM'+  $/ 5#Vb*!  ,9(i3">9~Q$ $/( !) /Xz.,%bY'%<" yVgm8'xQL5(ny J~Bao2(O 2V8%#".54>327327#"''654&547."3267V\[D%G/!1 KI*(=K&<"hY ^(&:) 1`CIyX`iY+ejF,"^/#Y ")+RM)(.0?.$-J)?qlA3:#%#"&4632!3267%!.#"~ObbT%54&#"#"5>32#".54>7&54>7632#"&546324#"3xF-#S6F+X<%8!?%3R.@K1Y6 -4'N _1MBR6KC7P)(9G6!B-K>MBr&$X+ 6(n O ]+,>TP JND';.@:#^6 =n6$,V&,..T9."17+"5467>763267>32#"'"547#"&4>3232#"&#"32654&5463#"&>5&#")0#!$ +bV:@z R):`D?&% $'#C!t 7(/gF`~TB? C@GW5A\{ p#4-;@"@;_K&%!=Dif)A5"[ 537!.n(>aM'M4MU!5{>"Gz#E ! ").j7;>7676332>7>?6332676;2#"&547>7#"=>7#"&5463632#"'B: *Y:s IV<kMH* v-/G-o  Gl'+-?IwE-47B@Ca"Z7'&54>7>7"#"54>7&#"&/#57654&( Z  !O +7$D2 3 V 5 :" l!, 2'410R!- " Vu/"=  4,3c%S/5% l[$%!7!26=&#!"&546573!2[** G5& ,)R%  /<)% 0  (+ #&%#&#"#73254&/.#"&54657;2# $ #5& +!3N LL!,% .  L"##!"&546573!2   & 5& ,)b '&t|nI")% 0  {!5>=4&'52"&544(42V==X;(((=X;;-+#u #u"t  # 2 "t# $  "u# $  " ## $  # % " $# %  # ' "u# '  " $# '  $#  " &' 'X"{  ;,d!)5>54&'5!!2654&#"d?"!@R?#$>>#"?>$% 87 7D7!!99!"8D7# !/%2654&#"!!5>54&'!>54&;>#"?>$%{?#$>?"!@R?#$>?"!!99!"8D7# 7D7! 87 7D7! 87,"!5>54&'5!#654&'53#.;=%$>?"!@1.) )%'#7D7! 87[o0 ;%B'9,"#.'5!#654&'5!!5>54&% %% .) )?#$>?"">%C%[o0 7D7! 89!  932654&"%!!5>54&#"#.'5!#654&'$=<%"|$m?#$>?"">% %% .) ))D7#"89!#6 7D7! 89!>%C%[o04,:H)5>54&#"#.'5!#654&'5!!2654&#"#2654&#"4?""?$ '& .) )H?#$>>#"?>$%>#"?>$% 89!!<%B%[o0 7D7!!99!"8D7#!99!"8D7#C"326?'.%!"7654&'53!563654/!5>54&'=?%#:#)BmJ<["U*q()15/ '(23_w4 ,?"!@"7D6$!Qi3 v;2 !:+LA 87 ; C%2654&#"!563654/#5>?'.'5!"7654&'5!7#)8.7/ +D23_w4 ,'*@mF=2."U*q()?#$>#76$#;,LA Og4 v;2  7D7!   Q%2654&#"#2654&#"!563654/#5>?'.'5!"7654&'5!=$%<;''6$&;.60 +m23_w4 ,'*@mF=2."U*q()??#$>"88"#7D7##77#"<,LA Og4 v;2  7D7! V/y&' _0L#LL)#L,#LL#YLY#LY#L #LY#L #L #LY#[L[#L[#L #L[OFGP>4%!'7!$ww!! G @>4 -2 @>4 '7!'7!'7vwwov !!"-S %'7'7'7!! yxxyy>]#!"-"->]#'''5!-""->] >] >4%!#7!'7!73!o-2-ww(*2*妦!!>4'7!#7!5!73!'7w-2-{*2*w!8!;4#73232>32.#"#".+;w2jc*$E:;'7w*cj2-Q=:D$5')XU-Q<:E$*cj2w!99/BB/&,Ub/BB/88!>4%!'#'737!wvwwxw!!!!.]'75'7''ߐ!!!!wvwwxw>4 .] >4%'!'7!7vwwwU!!!!8H4 E>4 %#5!'7!538ww84!!-1 @>4 -1 V!5!''7'7'7 .!! 2yDxxy>4052#0!'7!264&xwwwd"#8wx" "4"3!'7'7!"5430#"dwwwx!<" "xw>4!##5!'7!54>324"32 5,8ww,1G9~??] .qq" +1F1??@>4!'7!#5".54632!'754"3w8,5 G1,w3~?!qq. 1F1+ !@??@ 4_.'7#"#".'#".+'7322>3232>;'7_wcx::9:@Cbwwb"F6:A3'+ 6D"cw!iT` `T45!!/.dc>K>./!>4'7!#7!'7!73!'7v-2-ww(*2*v !!"> !##'738ww!!> '7##3'7w8w!!> #'73ww!!> %'7#33'7w8w!! X5!3'31TpoT!7[nZu3!'7!#7[nuTpoT #!#.#"7'7>32#Aٙv(! (蓴وlos #%'7.#"#4327#!(wA)olٙsl? &54732654&''?j"[4(">fiiӖq"a}8f>"ql? &547'7&' 654'7?jf? \\#iiӖq">@&`}a"o>%!7!x!>4%!'!%!5!'7x8!>4'7!5x<!8^%378;Hx'7!5!'7!'7!w$w$ww!8!Ð!!-^'#'%7'7!8!=!!w$w$ww>x!'7!'7!5!'7$www$w!!!8!>x%!'7'7!!!$wģw$uu;!̫!8-^'#'#'77!88!̫w$uu$wģ>x%'7!5!'7!5!'7w$ww$wģX!88!̫-^%''73737̫!88"ģw$ww$w>4 !7!'7!5xx<K!!8>4 !5!'7!'!x%!#7#'7373!!!%!3T2LL2g'X='7##7#'73733'7'#!%!3L2LL2L='=<]ii]]]]]JJI>'7##7!5!7!5!733'7'#!L2y'`2L=' ]ii88]]]J> %!'7!!!yLLJ=<]]8JI] '#'#'7]8JI8]Ly= '7!5!7'!5!'7Ly<=JL]8IJ8]] %'73737]8JI8]NLJ=<yL> '7!'7!'7'!!L0LLL==<0^]^]JJJS %'7'7'7'____KLLDNNN"Nz6>??> %(0^ 'Q )\x3' _0(x]( > /'/'/) Q' ^0(x\LxQ(_ 0' (> %?7?77 xQ(^ 1' {) (/ `'Rw> %Qx) '0 ^R )^w'0` >A%! !!!!!M5MCh'hq;]A@]8r8r>B '7!5!7!5!'!5!'7Mrh&hCM]8r8r8] 4$273232>32>323".#"#".'#".+ wcA5=D9<;9>A7#( ,)29=<:?A\w!/.ccPb cO458">I>Pb cN45! 4$2'7#"#".'#".#"#52>32>3232>;'7$w\A?:<=92), (#7A>9;<9D=5Acw!54Nc bP>I>"854Oc bPcc./!>4%#53#53#'73ࣣww8888!!>4 2 #33#2*hhwK\lu`]%#"&54632#.#"3267` nhhn H ZOJghIN[ opghqPbhJ IhbO*74>32654&#"'632#"&%&#"32>(R6&A0TH5?)M6oDa8PmT72>V0)%;DP7&C(u 3Ǐ4=q7|Y>G1HSC,)5!2=!5!54&#!5! p!<%2%%,z )#7#53#53!5!73354&+5#32#4$OG+%0%b E{N!%#%%#"&'7&546327#" 32654zERJKS˒z_=<\ɎgQUzytTEJKaS=7#53.#"5632{5!''9.%lR"4,lp( %E-7Ep+ #3!5265!3!52654#5!"/21//22/_^u1  1K1  1rc#%3!5254!"!4!"^_/232/f/122/ccr1  1K1  1.#!!2673!!^!;1HVC6W K%'# %=ӥ75!BBz& \'yrC6 C63#C.1N>?;74>7.546324&54632>2#"&'"&465"&>1U U; k  p0UU1 k  o`ce^  _ce\>G #"&546324&#"32mMOllOMm0R8:QQ:9NllNMmmrQQ9:P>G #"&54632mMOllOMmNllNMmm'7p_{8A/3O #u`" # #`" >a*:&#"327#".'#"&54632>32.#"32a!ZE!(++0/ -6@>RF@J$05- .,50M0x =#/)$*).fCKGF#1 ! I17n4>!#/#"'#"&546326324&#"326%.#"326!dOoa'w6GOfO;q#taGM9B7&f ++936i-47A7&gP6XaHQT9`v;jO(94%D>8rE5;jO>)3!(Y>$)3!O26$>$ )33#&'O2)0uDO$Y2T.>-'4'6~ }3K2r0J1(XY)Px3P(N #'737(,J(-kQ,J%-P333P(P(NNT73##5#7373 Dd(P(!De(P(!hz\S"iS>P,!# #3P998,>P, #3P9,,8>P=!#4&#"#462P3}YW3؜9RyX5no>P="&5332653P؞3WY}3on5XyR978*%"&54623254632"&5467&#",C"'acQ,C"'ac.'\.'~\78w+V"&546232>54632"&5467&#"!"&546232>54632"&5467&#",C"'%]N,C"'%],B"'$]N,C"'%].'!?B-[.'!?B-~\.'&!?A.[.'!?B-~\78*V"&5467&#"#"&546232>54632"&546232>54632"&5467&#"%#"&546232>54632"&5467&#""'#ZM,C"'$YM,CU"'#ZM#L"'#Z\J,C"(#YM,C"(#/ A?/~\.'& @@/[./& @?0\9 A?/~\a.'& @@/[.' A?/V8z3:A%.546754632"&5467&#"#"&54623257>54&'#>nzbdQ,B"'aLm/adP,C"(`TbmyVTbmnaP\h2\.'2 Zo:g3\.'&LT]ST78wgkry2"&5467&#"!54632"&5467&#"#"&546232>=!#"&546232>=.5467546!!>54&',C"'% ]N,C"'%RmmR]N,B"'$]N,C"'%RmnQ]  _GG_XH^^H.'!?B-//[.'!?B-<=\.'&!?A.00\.'!?B-=Z\<[QPR'y:'yb:y'ye'y4yF'y2y;7'y4'y'y0y'y 'y"O'y# 'y'yM'y`M'ya 8 E %"&5462"&5462%632327#".#"u$&%!. $&%!. &w&TP T)TL O'"!"!b77m 76Y8E@7632327#".#"8&w&TP T)TL O'77m 76Y8E@%&#"#"'732>32E'O LT)T PT&w Y67 m7763&54>54'765j !'!U)\V"Y"$I3AU*(80E#"'#7&#"'63273327E.6A6N6&N(&w+5A6N=$TG$)X$+l>>5!#".#"'632327>%uB0<O~ B.;M&9"*"m ")"Y>> ,|68E6 &#"!!#7#537#"'732>?332E'O JG6G6:0T:B;63w3 Y88) m 1 49A' ( &4A(%632327#".#"!#7#537!5!733#4&w&TP T)TL O'FTFY?TeY77m 76YBjjBBB>>6,%!#7#537#537.#"'63273327#"'3#!>,6,.$ <1M&%u,456?P~.;oo8r8[/X& l E8r8KE$#".#"'632327#".#"'632327E!C/<O&&v&TP S)TL O&&w&TP S")"Y77mԗ76Y77m8E6.#"'327#"'#7&#"'6327.#"'63273327E&)NS9JJ6V$O&&w&)#0O&&v3KJ6U$Sh0m <YgY:m>;>$(#".#"'632327#".#"'632327!5!>~(QKL'%uB/=Q~(RKM&%u%SNP66X")"l66X76l8>>$6#".#"'63232?#".#"'632327#".#"'632327>~(RKM&%u%SNP~(QKL'%uB/=Q~(RKM&%u%SNPG66X76l66X")"l66X76l3<I)#".'7327& '4>32I!(2C%&B3'! [Z[Z 01N+%C3'!# # gg ff ') $ >;>#4&"#53>23#"&'#532653>):(>#4&"#53>23!5!>):(>BBBBچ6%!#7#537#5!733#F6F5F6F5BBBBB: !5!5!5:BBBBBB>>6%!#7#537#537!5!733#3#!>,6,..4,6,..;oo8r8r8oo8r8r>> !5!5!5!!5!!5!>:8r8t88>>> -5% !5!>`H8ú5>>> 5-5!5!>`989y5>>~ -5% !5!!5!>`8ä55>>~ 5-5!5!!5!>`y8955>R>~-5% %#7#537!5!733#!>`0D0{a@0D0|a8324d4324d>R>~5-5%#7#537!5!733#!>`0D0{a@0D0|ay89324d4324d4b -5% %5% b\\8884b %5-5 5-5b\\8888>V\!)&''67.547&'7>74'6\7A#2 4,,4 2#A7u1 "''" 1uIFFFF kE-  ))  -Eky)&&)yqqpp3I63%&+#7'>?.'7;7367IZ U6StG (*?$$?1%  Z U6TtG!*7)I0-F eP "&M" fQ  M'#>>h-#'5%737>_6gU6IHpYַK8WyM5>>h%#75?%573'>U6IH_6g`p4ַK8Wy8Y 5>^>%#7#537'5%737'!>*6*h|W?M6ARONĆ:ih4c<8In9y[?>^>%#7#5375?%573!'>*6*h|C>+a6iON`Z):ih4Z8g9NxH*h>>>%-5% #".#"'>3232>5>`C0%@'94?:$!@*;0 H8Z A,")"K .""*"!+>>>%5-5#".#"'>3232>5>`C0%@'94?:$!@*;0 989 A,")"K .""*"!+>^>/2".'#7'>?'5%737'32>5(@;<6?"4 >*A?M6AR<@< 0 ^>/2".'#7'>?5?%57332>5'(@;<6?"4 >*->+a6i<@< 0 <Z)p&5 -$ 8'qZ8g9Nx 5(!+ 4'!*h>>S -5% 5-5>qqͺ232>>S 5-5%5% >qq322>^>!%#75?'57'5%737''>960nCS960nC˗3i{y(31I2OGZzy(20I3OFY]I76>^>!%#7'5?5%7%5737'>N6U& ">N6U&!,q3E4Qs5J^X3aTl2r5K^W2`Tm+>> .'5>5>NhttkI>KIIN9 I>ECCB$M5.433.>> %5>7./5>tkITZZMNhtCCB$M DBD<MI>E>>N%.'5>5!5!>NhttkI)NZZN)5I>ECBB$L)>CD>)5>>N54>7.=!5!>tkI)NZZN)Nht5CBB$L)>CD>)LI>Ex5>>N7%.'5>5#".#"'>3232>5>NhttkI)NZZN)C0%@'94?:$!@*;0 5I>ECBB$L)>CD>)[ A,")"K .""*"!+>>N754>7.=#".#"'>3232>5>tkI)NZZN)NhtC0%@'94?:$!@*;0 5CBB$L)>CD>)LI>E A,")"K .""*"!+>>h %.'#&'5673>?%>9nGo6v^nqn6b1O% 2W4 Ny+*: >h#%#75>?./53&'6>rm6aY^lC P="&5332653#'73P؞3WY}3YYon5XyR9ll>P= 2#"&546"&5332653H+;<)*;:2؞3WY}3;+);;+);on5XyR9>P= ##5#53533"&533265333p؞3WY}33vv3^on5XyR94H%!!!!H2t4H%!5!!5!H424H< %!!!!5!HL2v54H< %5!!5!!5!HL435>P#!#!#!P3T3#>P#)3!3P33#k. "&462.''3'>5#k],]\~]\.]k. "&462."%326k Ɣdc~bb.bk. "&462&#"4'/'32k(I[]G<<<hG][~i<<}GGG <k."&462&#"%4'326k(I[j<=Z->X==X~jҗԖ=XW|WYgV=7.546324&54632>32#"&'"&465"&kijji0V V; k  p 0UV2 k  o~iԖԖ_ce^ _ce\k. %!5!6"&4624&#"32!5!jxijjiLj.iԖԖ%.k."&4624&#"327!5!kijji[x~iԖԖ.=? )!5##5#5##5#?888孭孭=? )!5!5!?8nn孭孭=? )!!#''?`ɡPj8B(=?)!!$#"&5462?8n""!06n0!!">%!#3!`88> T>&!#!5!8L8>&)5!3! 8 8>%!#3!88> %!#3!!!888> %!#3!#388h88> %!#3!#3#388h88z88> %!#3!!!#388h888%##5#733733#J8*Ak82Cb88s8 %!#5#733733#3'#8*Ak8~]C^^nT88s}}8q%!#5#5#7373733 8B8 Kk8B8M ٟD[!!oD%!#5#5#73733733#!'#8B8 Kk8B8XyMyyo"D[!!oD}}8r!$>>-5%>2YX>>%%>` >>> -5%!5!'>2H5W>>> !5!%>`9y5H>Y#"&'!#"&4632!>324&"2bF?]  ^>FbbF>]  ]>FEbEEbFaP<Y#"&'!#"&4632!>324&"2bF?]  ^>FbbF>]  ]>F0EbEEbFaP<Y #"&'!5!>324&"2bF?]  ]>F0EbEEbFaP<8P #3!5!P99+9C4>P !5!# #3P994C9+>P !5!#3P94+9!# #399M8 #3 9d8= =%#"&5332653_Lv3[c3HNm-VQ*"'7'֙ߢE<y@m 373'7@))j(ii(6||L}MM}9>$ %"&5462"&5462'773#''7#5L" (!" (t%%%% %%8%%8?/}7#"&54632 632#"'%7a   4 &   ;4! ' 7""B""B"BB"4! '""""B"">>732>32&#"#"!5!>O<0Bu%&M;.B ~ m"*"Y")"92K#.'3>7K5]>' 9sELDggD~>W#1dd12K%#.'#>73KMDggDLEs9 '>]1dd1#ȾW>~4H!%!"&5463!!"3!!"&463!!"3!H5IJ4+-ggQouK"J32K2,>,ʔ2vQRu4H!#!5!2654&#!5!2#!5!264&#!5!2Hg"KuoQg J4+-5Ifʔ2uRQv22K2,>*4J>P=!!#4&#"#462#4&"#4632P3WY}3؞u2:P:2W<=X9XyR5on,)7:&*>WW>>P=!#"&532653"&5332653W<=X2:P:2u؞3WY}3>WW>*)7;%,on5XyR9>P!#4&'##46753P3kO8Ok3b8d9Kz  uP5g g>>%3##5##5#535#533333#5#(P((P((P888""8>> #"&5462%5% ,e`,8>>%5-5$#"&5462>`,88 ,4 -5% %5% %5% \\\888884 %5-5 5-5 5-5\\\888888>*> %5% !5!5-5>qqR24ɺ32>*> 5-5!5!%5% >qq 3242>>H 5%%5% >`8r8>>H %55-5>`989>>X &5>54.'5>?>HiwqlKIkttkI )NZZN)  ??C2EII)R$BBCCD?L)?DC=)>>X(.=54>7.=>wiH &0VdRtkI)NZZN)NhtC?>!M/-;0- CBB$L)=CD?)LI>E>>h05.'#7&'57&'56?3>5.'> .9g<\6cRgqYaJ6>h/4%#754>?54>?.=7367'&'6>R6BGQ[@&Ln6f=Cp: :zNV6\Oc~e&w ?ͥ._M%K b#WL/;9<2!L$;I%^/\4^H%#7#537#!733#!!!!3H*6*q!l*6*r#!Xډ:ih4Qih2v4Qu4^H%!!!#7#537#53!5!733#H!W*6*r!l*6*r2TLQ4ih4Q42ihDv4H<%!!!733!#7#5H.D..D.L2v2252254H<%5!!5!733!#7#5H.D..D.L43225225>>>)-5% #"'#7&#"'>327332>5>`C056#DB,&4?:$16$DA-(0 H8Z A,+'F#K ."+'F$!+>>>)5-5#"'#7&#"'>327332>5>`C056#DB,&4?:$16$DA-(0 989 A,+'F#K ."+'F$!+>>N;%.'5>5#"'#7&#"'>327332>5>NhttkI)NZZN)C056#DB,&4?:$16$DA-(0 5I>ECBB$L)>CD>)[ A,+'F#K ."+'F$!+>>N;54>7.=#"'#7&#"'>327332>5>tkI)NZZN)NhtC056#DB,&4?:$16$DA-(0 5CBB$L)>CD>)LI>E A,+'F#K ."+'F$!+>>h -#'5%7377>_6gU6I2HpYַKYX@M5>>h %#773'7'7>U6I_6g`p4ЈַKY 5b@>^>%#7#537'5%737'!'7>*6*h|W?M6AON2hRĆ:ih4c< yŜW1ϰ[?>^>%#7#53773!'/7>*6*h|C+a6iON`Z):ih4ZNxH*h}lOE #2#"&5462#"&5462#"&546wtr6 ##"&54632#"&54632#"&54632rtr ##"&54632#"&54632#"&54632rtr #4632#"&4632#"&4632#"&tMM5I *5"&632762#"'#"&54?&542>54'.I) ,5CcX@ 8aW@  7.J) ,5!/:*D7,E7  CUb7  DTa!/:*D7,#$%32#"&/4737!"&547632!2 1  Ip   +n   N >O!#!<^q^>O#!5!<^O"<>^)3!<"^>^)5!3"<<"l7#!!`BJlBH44'&#"3276632#"'&54##"&547546232TVwxUUxvWT_aa`al   l JxTVUWvxUTbaˆ_a`a    L8 "#4>32#"&547&TJkS3GW?"7(!5`X'.&# 9! Y>T<%&#"'07>2TZZ 01NVM11 ff **>T<#".'7327T!'3C%&B3'! ZZ3 $ # ff:223AA:.'7.33(7b#%#&'!!673!2#!!"&5463!2 (bHb(!EE q Sj66jV=(=   7b#&'3!!#67!"43!"&5463!2eE!(bHb(!EA q =Vj6h"h6jV=(T   7b$567&'!!!&5!"&5463!2p=Uo75qW;  L q E!+lk,!E";   7b$%&'547!!!6!"&5463!2*q57oU= H ; q G,kl+!Ev"E   7b463!2#!"&5#&/#!7 q  }H~  "(8! #57>7RT"JT=.GiF%(8z 3#(RR (8 .'&53z: .=TJ"TR+ %FiG8X  X8X  8X! YX8M#3#"L|^X8 #0S XM ;#| ^78,4&+53|8, #0,S 7, 3#53265L| 8 #4>7R #1J0O4#/>*0O&8 74&'5>=3#ZabYR $*%%*$ RR~"~Q~q$=/%  %/=$8 .5 4O0J1#  DJTO0*>/#8 3R8  X8 %#4>7.=3R $*%%*$ RYbaZo$=/%  %/=$q~Q~"~8  XL8 #0S - 73!2=3!5F  4cZ1V#/;!5326=4&+567'2 &5464.#"326$# Fl-5L]HbTL$!!(  ?vՒӗJwF.l\|#)5E326=3!&54>4&#"#"&54632'2#"&5464.#"326*/GJA !!.AA."# P=LZҕ5L]HbT+>!"* )I87FL/  +8FՒӗJxE/l]{#>JY%32654&#"532654&#""&546323#"&546322#"&5464.#" 6F):5- ,:'&TCELS #.nUCYJҕ5L]HbT E0+3$5-")  '171K 2!AT;-ՒӗJwF.l\|##3%;#5326=#533#32#"&5464.#"326 /BooVҕ5L]HbT!!'A-ՒӗJwF.l\|#1=M%32654&#"'67327#*#"'632#"&546322#"&5464.#"3269 (8-#*')s*I5)"! &- .DEZrUAVWҕ5L]HbT  D1-;2l( y$O=BY8*ՒӗJwF.l\|#%1<K4654&#"632#".547632#"&"32654&2 &5464.#" 6 3S;NfN8Q)D.W@S4)72('1-&5L]HbT ]5)KL:G]/KJ%wN64(o?/0>=/3=WՒӗJwF.l\|#)8%"&54>?##5!2#"&5464.#" 6 "4# 8H d] "ҕ5L]HbT0  $I-Ie ""4JՒӗJwF.l]{#"-9H#"&5467.54632'654&#"'326542#"&5464.#" 6:2eNJY,8&R@8H t*2) (S:D7)(6Oҕ5L]HbTA-BUE9*: ,!6E6*, /&#$!(E*71%3ՒӗJwF.l\|##/;K%327>54'#"&54632#"&54632"32654&'2#"&5464.#"326P 1U;NgNXln[@T9&2-&)73!ҕ5L]HbT^4KL:G]io4(J=/3=@.0>ՒӗJwF.l\|#&2B;#53265.+567"54632"3254'2#"&5464.#"326>  3b"ݐJFMF434ҕ5L]HbTM{##  9"u}~kАՒӗJwF.l\|yD!!yD0y\!!y\`8!3#00!8!3#``!8yD!!#g0D0$8y\!!#g0\`<8yD!!#`D0$8y\!!#`\`<8D#!50PD08\#!50P\`8D#!5`hD08\#!5`h\`y!3!0 #0y!%3!0%;`y!3!` #0y!%3!`%;`!!5!3 00!%!5!3 0`!!5!3`0!%!5!3``8y!3!!0g#0$8y!!!#3g00\`<8y! #3!!#`g0 #0$8y! 3!!#0`D#0$ 8y!!!#3``D0$8y! %#3!!#`g0%;`<8y! 3!!#0`\;`<$8y!3!!`;`<8!#!5!0P!08!#!5!0P!`8! !3##!`0PD$8! 3#!5!3`h0D08!#!5!`h!08! %!5!3##P`0`<8! 33#!50`h\;`8!#!5!`h!(`a8yD!!#!yg0PD0$8y\ #!5!!0P$`08y\ 5!!#!5g0PD`<08y\%!5!!#Pyg0``<8yD#!5!`hy$008y\ #!5!!`h$`08y\ !5!5!!#h`0`<8y\!!#!y`h\`<y!!5!3!y00#y! !!!5!3g 0D0`y! !!5!5!7P!;`0y!!!5!30\``y!3!!5`D#00y! !!!5!3`D0`y! !5!3!!h`0;`y!%!5!3!y``;8y! !5!3!!#P0g00#0$8y! #!5!3!0P0$`#08y! !!#!5!3g0P0\`<08y! !!#!5!3g0P0\`<`8y! 3!!#!5`g0PD#0$08y! #!5!3!`h0$0#08y! !5!3!!#h``0#0$8y! ##!5!3!0P`<`#08y! %#5!5!3!!#h`g00;`<8y! 3!!#!5!3`h0\0$`8y! 533!!#!50`hD;`<08y! %!5!3!!#P`g0`;`<8y! 3!!#!50`h\;`<`8y! #!5!3!`h`$`#08y! !5!3!!#h``0;`<8y! %!5!3!!#h```;`<y5!!5!!yy00h8(!3#3#h0000!8y !!!!#gg00`0lh8yD !!###h0`0D0$$h8y %263!+!!+o0`00lT08 #!5!5!50PP0`08(D ###!5(0`0D$08( %#!=!#0(0=0`0$y! %3!!!0gUk0`0hy! 333!h0`0Q ##0hy! %!373!y0`0Q0Uak0! %!5!5!5!3 P00`0(! !5!333(h0`00#(! 3!5'!5!30`hh0!0a08y! 3!!!!0ggk0`0lh8y! 3!!+30Q0`00!#0$h8y! 33!!!#h0`0Q0k0`0l8! #!5!5!5!0PP!0`08(! 3+!5!300`0h0!08(! 35!3#!5!0h00$0;08y !!!#!5yyg0P0`0l08yD !!###!y0`0D0$$8y !!!##!5!yy0`00`0l<0y! %!5!%5!3!yy00`0k0y! !5!333!yh0`0Q0##y! %!5!3!)5!3yy0Qh00%k00;8y!!5!3!!!!#!5!P0gg0P\0k0`0l08y!##!5!333!!#`0h0`0Q0$0##0$8y! #!5!3!!!#%5!30`0Q0h00%k0`0l`0;y!#54670ѫ0%!!8!5!}82!5!8!!w8,!!8!!q8&!!8!!k8 !!8 !!f8; !!;;8 !!$8} !!}}8 !!8 #38` #3```|8 !!} !5!}8 #3``#)!M#)!!M ms#Z)Z#Z% ! (5(^ ^:6d#Z Zed?#Z %!sKM7d5(>^  ># hghg$% *+gg0*-gg 33' ѿ?yk:<5# "32654&'2#"&546ԕ Ք՗r )4=GQ.'7'&#"'632'654'>7'>7&47#"'7327%.'n?"+ ! + Ki  ?+ A*=MM;##"& !-#+"; HH!" #  +*   ++ #@#  In <# 2#"&546ԕՔ՗#2654&'2#"&546ԕn Ք՗#"32#"&546Ӗ‡ѕԕ#!4&#"4632#"&C Ք՗_ԕ#32654632#"&C‡NѕԕWӖ# 2#"&5463265!ԕ֓Ք՗ ¿#!"4632#"&CI Ք՗_Eԕ# &'.5463VA`yԑ1)j 32 y`AVՒj)#!MM#)M#3!##!#M# )!!M msW>=#)!!Mms#7!!!Cs M sm#!!!M #4 "32654&'2#"&546ג֌띦Ӓؑ 韠䨥# !''!U YZ쪪# ''%77'7'bF<gH0> z|Ҕ7n*732654.#"4>327632"'&`*5% Hg$A)If)%4@/N; 2A?*B$hG &3+gH3Q- 2  =MY~??7q2=2>54&#"".546327&54632#"'4&#"32#/I(sPQrsP8Y1 aPBV;a8X2 EEbR?W;ECuOPstOQD!/:*QrsPQr((9F2b2CYa(9F2`GE3CYaEEstOQr"609EOZ%+!"'"'>7654'#"'67>32#"'.''627&#""32654&%#"&'32%#"&'32Ax !$ (AZY@(<<E):8)(99 =$2%,/ ,1!7=^U  C!!D  h))N8()99(':   # ~##)!!74632327>763#"&'.M T3  7z&#IJ5 ms/]" Oc $W#+v*= ~y:M#z8*;"54>326#"'&547.547&5467'"%632#"'32654fZ2, (5'M4:h64 l #1*$ $(B.[=+.U 6 '!_qPO]SK#z8*;"&##"&'&'.54>7>32%327#"&546327l 46h:4M'5( ,2ZݙR($ $*1# !' 6 U.+=[.B_KS]OPq#/+/Ycv%0##"&547&547&547"&546326323275'#5#3"32?32?#32?>75"&32?&#"".'32654&#"2654&'.#"'32654&/(,6X "i$+(| i S#6F?6#G$; +'2% C6 O. ,0eG?E$] !   ` lg J# 82 $!. L" 1C@G  15*# R=R  *!  1 "*$   *.[dw47&5463263263246323!'753.5!4/&#"''5.'&'#346"6544>7&#"32654&'3267>54&#"74&#"32?;2 # / K" 0C?H  04+ #.  R<R * "  1 #) # `-6X "j&*)|h S#6F>6$"H"< ,(2$ B6 !  R,  ,e$HT$ 2[!"   b lf J"8#/*.[i}%".'#'732632632##"'33275.'.'#'7327'732654/&#"%327654'.#"#"'&#"327>4"327>54&"32654&4F6#S i|)*%i" X6, 6! .O 6C %2'+ ;$G#(4G''= !. ]N  (7  ' #J 1 Z "L .!$ 2C"  #*51  G!DR  ~% !* A&   Q $  ,0]j}4>7#5'7!##"&5#"'#"'#"&547&!#3>7>757732?654'&'.327>54&'&54?4&#"324'&/.#"3264'./&'&#"326;0Z "L / # 2C" # +40  H"DR  ~$" * A&  R  # T4F5#T h |)*&i" X6-i7!-Q 6B $2(, <"H"%4H$#'< !/ ![1N   '7   "J "_go#"/.5462#"/7326767632#"'#"'&'#"'"54>767&'#"547&54323254#"3254#"3273254.3  ?ZY !  !  !$ C"W0 !'O?R, ?2<6.  "?I2+*%&%&&%$' {290?HI>&E0(--#5  ' ) 75"13 $%  6 +.&)+.&N  VI"46462#"&#&'27#"'n1Y%2$$$D\1a6nEXVKG7Z$%##*$U;,(q&Kn|4>3"&#"&'4>7&%4&'2654.#"'654>2654'7323272657#"'#"'4632&#""&6=63&'2.54,5**< <* #/K?R$:, IL?*D( NO$4)K-# )< ?Q#  #D?-D"A/SB9Rn8,H.:4 /(0(ZD1 Y2A*D( %1'&2$) HV@("&:T*$CCN,6*%"i=5*!#*> D )#/'HW;!  !'1R ! $!GDZ/ ) m =\`$V<#7'75#535#53533#3#7#H"j\\Q\\I"kQe!H1PPPPPPPP!H2#3##5#535#53533 Q\\Q\PPPPH"32?#"&54632373'7zTXSs6V=Žh^aaONNmxwTX#!‹C\\8]99]nlu4'6.54675#7.5467&'7#>54&'&'"&547&'"5475"&547>77>54' V+! dH15$,H$J-AG5 ZZ 5GA-Jfr>(Ge |3Z&l&Z4|!+V 5?Z'< E3IGS#Lx$!,-J*# ,&X4=Y .. Z=6V,`[;x#zK-gRQ`J   08v$**$v80   L <'Z?5+H(#"'&54763'6'7654.'aa`aa_`TW-]Q3HG3Q\-ˆ_a`aaaܨBD)FoAnQPoBoE)C ,832654'&#"632#"&546324&#"3262#"&546YCBY\[Jt@* AZoRD\]C|\Z5J^@XD_‹‹2& 35!%5!%5!2  dddddd2& 53%#55!%5!^ ddddd dddd2& 35!'53%#=!2dddddddddd2& 53%#553%#55!^,dddddddddddd2& 7#553!5!5,  dddddddddd2& 53%#553%#=!^,ddddd dddddddd2& %3+5373+53'!!^ddd dddddd2& 53%#553%#553%#5^,,ddddddddddddddd CYp %&'#"54323&'#"543247#"543267&542&5432#"'632#"'2632#"547"54&'&'&'26326326323#"'#"'#"'676767&547&547&5475&547&547&5472654&"7263263263&'67#"'#"'#"67&'&'&'676767&'bF"!  A !! F !"GaBaG!"! F !! A !"!FbB-         + )/  0( $&{       9 /)  (0 @@  !"Ga!"ZN!"! @ !! @ !"!NZ"!aG"!  @ !!: )/ > /) +       {6 0(K )/ -       H)2;4'&#"3276632#"'&54&#"'>32'"&4622"&4632TVwxUUxvWT_aa`a*:9,A('A""JxTVUWvxUTbaˆ_a`a''%--%" ""H(1:#"'&54763654'&#"32'#"&'726"&4632#"&462aa`aa_TTVwxUUxv E()E1zQ""ˆ_a`aaaTyxTVUWvx%++%%"" "H"*632#"'&54327'#"'264&":64&"_aa`a/SQ11675"""3aˆ_a`aBB$""" V"32654&'763232+"/"&=&'"&4?&'#"&46;67'&5462675462PloMNno9G7U T.x x.T U5I  H7U U/w w/U U8G  mONnoMNnw/U U7H  I5U T.x x.T U7G  G8U  U/w 8I#%#"567>4&'&'432>54.'Ԟ&GPPG&BUC/0EW?jCDk=*97I#.464632#"&BUC/0EW?jCDk=*9햹 44 7)H32654&#".5467.54632326546232+"&=#"&46;`*5% HghGIf^fG68E  fIHg  E86GrQ    B*B$hGHgg J@li@ IffI @il?Uy   7)032654&#".546232+"&=#"&46;`*5% HghGIf^frQ    B*B$hGHgg JY~XUy   75732654&#"#"'&54675#"&46;546232+`*5% HghGIf%3@.XA?sQ    Kx*B$hGHggH3P- ??YUz     v7n4732654.#"4>327#"&46;2"&="'&`*5% Hg$A)If)%4@/N;ɒ   2A?*B$hG &3+gH3Q- 2   =MY~??33>32356732+"=#"&54>54&#"#"3W29=!) ( 33($ &(=FG:,t[,   e=*3- 0><"&5#"&5467356323+>32;2+"5454&M/B  I I H K!V#Un]Bj^U.B4   H F 4&Y1F  K%(Js7|4>732654&#"#"'&54675#"&54?632"/2#"&54`*5% HghGIf%3@.XA?sQY  { { XKx  c*B$hGHggH3P- ??YUzX  {{ XvF  K m%"264&".54675.="&54?632#"/5#"&54?632"'>=#"&54?62#"' &3+gghG3Q- rRSq 7 7  YB 7 7 BY  87 qRLw??$A)Ifhhy%4@/UyzT 88 Cc 88 cC 88 TzuZXA?7,%2#!"&546;2#4.#2> O 4@gAM,-LAdB29AbT<32#"5654&#"  `N8PgHEffEHgO8S[U ^M5-FdUDDUcF.5Mt{9%2>54&#"2#".5467.54322654&54x2O, }VW}~>VEAR+322654&"23267#"&5462#"'&546T;;T;C/54&#""6264&"#O8#R.ÂS_$33$8N7  NpO6A6tu6A6NpN77N7\pOm9t=zM0bSQ]+'77' 8NN8:}\w4`||`4w\}:8N(7N77N#>NZ4>7&54&""&54&""&54&#"&4632>32>32>32#"'#"&7654&#"u)]+KjL  KjL  L5 0PP0/PO02S[:Jn  !% ҄U;?_ ,(35KK5 5KK5 5K  0((00((05,+9bIl   D f-7LN7$$\ 17!2#!"&462!2#!&=654&#"!"&463!5468  l  }YZ{  (   љt  db  tK#"&54&""&54&""&54&#"&4632>32>32327#"&46;2"&5Xah>OKjL  KjL  L5 0PP0/PO0Fb<0OR: o  L?:5KK5 5KK5 5K  0((00((0bF%->  o *k*7#"&546;2"&=#"/#"&4?'&562y       y     ! +<"&463!2632#"'.547"&4767>7326754&#"5  "Z^z#',\%&Zga v+o'7C2Kmt79   &N0pay ^742i 2Od);\4" _H [v;"]B%".+".#"#"54632;>?232654'54732".+".#"#"&54632;>?232654'54732(C,'0(!#1 8*+9 3KcC(B+(/(!#1 %D.F'2LbC(C,'02$<# &D.F'3K cC(B+(0(!#1 &D.F'3Kb#12# +*!#12#I5 ,E`#12#+*!5?5I4+E`#21#.605@5I5 E`#21#++ 5@5I4,E`!4##"&547>4&'&546323>7632#"'.ya \mm\ ayya [mm[ ayGj+  )Ȩ)  +kk+  (ed)  +a0;GWdo2#"'.54>32474675'53733>>54#"7"3>54&.'6326"3265."32>54C $-!#-% 11)%  %)% 9)+1h*3!YI /+B EegC$51(}g`+8E 4"*"*O6CCFZ 2$#4 ' %$&&$+, +;;+VeQ4+(2&.22(H Qe   5"(0%3232=4&#"32>&#"62&544  "32544&5462654&5463265'&54632#"&=4654&'&'&5462654.54626%"3254'"324!"324"3254&.'&'63267&547.y,_ {45z;AOSWK << F;!. 6 !A!"."KIQA ".!.!@".!6D     63 RQ44-  h@{":!!9#1`r:!!! *%:C*"!)( \ ::H*)!!$,A,($+ !!9s[S @222@ @7?73/b F0&0//HW2 .?-K#';35'575'57335733573%!5%!'#'5#!75'##'5fXZnZXf@BpBA8 D D 8A|EgM[[MgEO''c@@o8778J&6Ba"'632&547"2654"3:325432>7.5#53533#23254&'.""326326732632.'.'632327&54654.5467&4632F'OO/1(/$(uw,oBI-:!q>""$""p>2)@,@;)B.1AnG6*41! &_}YL=  !17)7Gs"'' u   j  h Q^.) .^,'++'," ! <" ?5  0? "? 8"?i: !h?8ZOMv72#"547"54632'267&!654'&+.';2673232767>3272!>7#"&'#"'>54'32636 ]&0 05J'< '9 i,Q' 8H;)]!&#'7  0x61 z $ ,[N.{$@ )  #D#(B G =[a/%.H&9!1( <&%3"/ $eL.L!4.54>54/&546=4&#"&5467.547&5462j**e % /@E D3F3E!EA (N6-G' .  $ "" "We#2C"+,!D 1$dW! `!1Bm|"#"54.#"327327>54&>32#"4#"326323254675'53733632#"'.'&546322#"'.546?-5&%6,)0=%'WX'&;0$ 'A>b(6no&)% " $(#/24I'%'I341 %-=?''J/1L%,'[  W',$:"P   \(&$%%$#0&D3)6 8^DD3O5)2E<!C, P1"*2%"3263673233254'"3247"324!"324"3254&#"&54654&'4/&'&54632654.54632654&5462654&54632654'4632"3254&4#"32?3222A$l   k' in\}G .!"@!!7!.6!!  @!!. 0  -AN 2?22 2?2 A(@W 217* !#-A)-%*  !&8s^2$; !8$2^r9" ! &,)A-!!(?k 7 z !G#3'575'57335733573%35'35eNG&o&HNeGdMYYMdG""""I R^g%"3254#'2654+"4.54>7&4632372.'.'>3327&5467535#5##3"3254\3-7d31?%3n'(L&4/ '(1d<G4-;#"B+: !8 l4:E= # 0   *!#9j.&++&.aM3=U2654#">54'63263632!>7#"5#'.7"265454'&#&#""322%}x)= 9H<)Z"'$&8  /SH; .5.d' $%&("/(=[a.%,G(:2) =  %hZ 1E|N,dL!&5467.547&5462E E@UAE E4F2B3#dW# #Vf"2 C!,,!"O,%!5>7#"&54>7#"I!  !4R5K,FJHGKF-K5R5&!  !&5PJ5-J=BkCBjB>J.5J#7.'.5463267632">54&#"#".'&\Qm<+U>U22F=W6E1='57I. DJF.84?/ 9KOY/?VK,6"8T;8pW/F4%KFI_N&/hX[c/398 /!*J"0 &'67>7.(8F!JE;;8-0>P<6jj1?0#5!5>7#"&54632&5462>32#" ".F--F/! O&@\S;""']]'+;S\@n%%9%./$:#,"(_CA\ 82?ZZ?28 \AC_#>32.'.54632\Y6=W5QTMQm<+U>w0JFT;6phiBKOY/?V"0 &'6(8F!J0>P<7 %#"&46323B,-BB-3"S%..J.-7"&46323#54'&BZBB-6 T&\%..J.-7mC88m7#"&4632#"&4632"F0/FF/:#F/0EE0:"ks&--L-'&--L-b75%#"&46325%#"&4632wF/0EE0:"F0/FF/:#=='&--L-ځ&--L-Bp#"577>324&#"326p;W_&( -FNW%'30;b,C|R0  VO=#"#&'57654.'5673;54&'567332>7332673#.+#.#"#&'#'L*J  ! XI" &'N U 0 Q$N#  %- T$  *Q&M/! WQ*  )%S   0 ] $(48<'#&'675#&'6735'6737'5#5#'5#5##3355#5#`l=3573"o` ""Xu?53<.=k] 7 &@@@&70:J%632'#'"#"&546323267&'.54632'"32654&"32654&&K* $ _k^`\eb14(-D2#TE8091#.F_":"48%3!%0 0(=7nr &2@*"2#_ ;&"0B*)!1 0!/$*#Qc3<H32%632 #"'%"&5463267&#"&4632&"3264"32654&&_&8<)&z'8-9;Y '. %?.&")%'v(r #(65)/;%A9X76$:*&:-#'!$#Eg5AM3727#"'%#"&54>7>7.#"#"&54632"32654&"32654&1ee\`m]"'I)F."1'55(YER#2D-(44":! 5> 2%#0%  ro6=&/ )*B0"!2 F##2"*@00!/!f/!*# #  *5Ax72"&546"32654&2"&46"3264&2#"&547"32654&'26327632 #"/#"&#"#"&547>4.'&546324&546327&#"+"3267327-4654&#";27&#"#"$44J55+&%#"$44J44*%%""&/  8!cJ*@%B5[CI03R?BQ@#{NS#9QB=W*F /3C.b9DKB63A8E",1D43AL?C:^  'G5$%44&%3&&&&5$%45J3%4%%4%   W _9 '=1~ ,+:LQCS) : *OBQN7%/, * >C>7CCh&&/1@E6:E 8 #@IR%"&#"32654& #"&54632#"&54?4&5467>32#"'67"'6ZE] "LՒכQm bD9>%- 3"7 )6ygOՕD3LM RyQ <1L D!# ".=%'>5%7&&#"76322"&5462#"&546"32654'.i!''C 1)("(;;T;<.ӕ֗eVËo,tV?&u>[nT'L ù<)*;<*);Փԗo^~Ċd(.#Q4&'"'7'7'7>37654654/3232+32+32+32++76x2sJ3!##!3J$=!%W% '=!1<J Fx]jJ<1!='  %W cv vc 8 7  F  cc  F  7 X#,!75'#"'!62v;9Fv,]) Ģ77g g77-ft7463&54632.546327>32#"."'5332654&#"32654/&'32>3.'#.#"632>54&#"32654&'7&')0G%(& ++( g8W0 8, 3 I'M3e2R  >L ![%( 8  M</ X K#-&&/ !&5@oqAA#Yp ,=z(8E2pT2m >5(mS ' b % Loi ! 4 B<| u* !;4x)_o~?67>776327#''#"'#"56?267327654/327#";2654.1432'7&"3677654&#"327326547326%#7654R# EL1=U J]&  \hc*O4Y8 C&B%K Bx;/:|   4X%>K ' w   <'O $xX iZ4KA8#`  T; Gg8 8!o& 8%(D FF5   $B Y :!  # V$^]>2UKO ;CN#3l  *17=2#"&5467#!"''??2654/654'%>7%>7 . 0_ $N)Q|E!yI#QBFn?q+Do ( *>>W  t|Y-%Rp/ ishGb$#&(-492"5'57!2"%5'%7654/'!!&!654'!!!6jNNee RRR(WaB|wD NOOvw   b__nmWP4()L#1l| ",39?2#"&546/763!27/4&+76%654''%.''%.'- /}Q)$U"Iy!E%FBQ p+ l ' b< =  v{r*/oQ";G ##&E7"&546;32>32#".#"7232675##"&5463235."#"'#";>8EJ:/',5hN5*$4G-&z'_0'(-_#w8(- =):8# 2U>CWK)0)xWH&-&Bb&-&:HI0"#2FK?)0)JE2-G##gL6E22#".5.#""#"'.5463:32>76#&#"32?64a!8/4S3:W1,7$"2   1%.J?R2'4    !o *$$* HnL*?B:  ;#"&'."M T:Z-pQ%,)G4wf  7$+574&54>7>3232767632#"&'&'8    nm  B)4J7G k!/'   ?'qW  R#J/;@/3 #  ' 7  ;; ;y;!; ; # ''7'77׮<N#"&'#"&54654&54>767.'&'&5463262676327632>2<eBX  [rT#  (  ,%   n#[" 3 + -#)kP +U ) $N7#"&##".'#'?4"".54654&'67.'6732632>32Q Zy# .:O =   t2$M <&D"  r  #;T hU,2?,"[6K# #3##5#53573##5#535##33535#\ġp\\F## 3##5#535# !!'#3!5#!nnonno!nno!# 3#'53#5#5Wz# 33###53[[[][#33##'#'537#3335#5uLANkV8Z]GME|GLu|]c]# #33###53'33###537#3335#5[[2UbUʘbb#`S1;54&'5!#"732673#54.#!526=+"#;iV[HnF[ Oj,W<[HF] NkJZSnmS\G32SkiN ^Eo#  #3#'#7'337/373#/?#ZiffijffRRRRT?}A=<<==32#"&'#"&546=#"&54632.54625&'#"&546#/% 029P:2/ *&(1'99(1''3/  9P:2/3''2'990 )'(1'99(1''302:P92/$1!'99'0))2/2:(':#C%4>=#"&546323.54622>32#".##"& #*#!0,5OM5 0-!!MjM 6$3235#"&547&54632#"'3&4632632#"'#"&547#632"&547.546325##"&'#"&4632$($H&(%$%1!" 8%$$ (6' &$%% '&!%'&8 "' %&4$G $#D%$$ '& $$%% &2##!2#"'.'.'&54>7>76s x C.(& ;o12K ki 6v,(P833y* #&3#.'5>767>7.'.ǀz {-/agqT2*",)HN 俿 >,-??X?# $''%7632%'7./&547cE@f? !3hi"H$11 ,4B!&,+# 3'7'3!''!7#7'7#Ez7-tCkZMiXڨ=F'\cc\M܂܅# (23'7'372#"/#"'5'&543%7627'7'-x]"jn%Xt;=fH52uGMMGZ i qttq # !%'!5%#/%_f` aRRANY簰Sbbb0b#x 3#'''!7#7'7#{R?ZVaQQKk#7'#5'7'75NNNNvmnuunmv# #553'77''7mm666V6Mz_zz_zz_zz_z#7%!'#'7!5'7 = 1%9 +;+ A"643274322#"/#"'#"54?%&543%'&5432f # #&),/7'#''7'57'777!'/'7?7'.|u 7 .xx:+15+jl/gֵ/4+ngk{6 1wv5 3yk5lܷ.6'flo16'#&#"/"/"54?'&5432762726666YPPPQ#5732/#"/#"?#"54?'&54;'&327632 +++ , 0', ¿#7''77''٧٨⩩ک#7'''77'7''7G1}}12----2,26..62,#/3777!!'''#'7'7'7!5!'7'7'7l!`#j j#`!a$jj$ak#c!a$nn$a!c#k# ".8BK#"&54>7>32.54632#".2#"&547&54632"&54o<$*5L&1_#*5L&+H4($Z+H5'$^F22$#1U:  994 '&#iGW&#"&R"&W1F22$"DzLI|IJ#oy%4654.'&##"&54>54&54654.546323267>54&5463232>32#".#"#"&"2654&%$   *&9"BNBBNB"9()  #$#%   *(8#BNBBNB#8(* ! %#$=++<+*9w  )0'!$,   ,$!(1( +)>o   (1(!%+   +$!(1( k!)++>++ +#N%".'&5465#"'&54>7.5476324&5467>3282%@%CMMC$@$3#(>mmA8)z 6"%F6 (0&")%j$*"&0(% 22 %}3!( g  h &"|&#53"$|"& g  g (!3 $- DH5&+||+&5#V`%4654"#"&467254#"#"&5463232654.546232>32#"/"3#"."3264& 8%:]T(  Y3 6%8II8A #Y>9H C*7W$5,ICbEE`E# ?Rf{%#"&54>7#"&54632&5462>32#"'#".7632654&#"?3232654&#"32654.'#"/&#"327/&54323267'#"54? %6L ++ )FUL5$A2%LlK%1B$5LUF) $L6/  !'6)*6^ V&8L7'KF1&6+",C>0-"+# =-&6HZ6&1!UEN6&-= #+~!3&6XJ E\ #4=Wk#"'#"'#"&547.4>7&4632632632%"264&#"&54?'32654/#"&54?'32?'#"&46327'&#"32?'&546327'&#"7'&546327654&#"76327654&#"7632#"/3264&#"#"/32654/*?+/SO/*@**>,.QP.*@)&66J55  )1"#1)f< _h02#5.>n "" nj "00" j _!; .5"2/hQ )1"#1)f< _h02"6.>n "" nj "00!j _ < . (#1/hx>-+JaaG +->-+:JaaH+5J55J5m "" mj "00" j_ < .3#1/gR, (1D1(f< _g02"5.>n "" nj "00" j_!< .4"20gR, (1D2(f< _g1#4. #  %*/4>2 &5466327#"'7.'%'%&47'>7'"264&ԓD!#$!EE%&<6 U6  >D 6JD 6QIdedeԓҔ C 6C 6RE J EE J 6 U6 `dHGeeg!:AGLSY^&547>32#"&'.547#"'&5467.547632%&#"654%>54&'3267%RRb0(IU[$5u 2&fPR/31'IT\$5s 2&ea* F\V * F!YW C9( KsW1%17/3#+[iD(& MsW1%17.3"+[d0#(ap'MG#(ap&KI$A7'/'#7'757'7'77''7'7'5'7'37?7'znadc!g Z&Z g!ceannaec!g Z&Z g!cdanXQ708 :k{QD;rr;DQ{k: 807QQ708 ;l{QD;rr;DQ{l; 807#LPTX\`d'4;7377632##"/'/"57'#"/&54?'7'"4?6327577'5'75'7'Ä  }}  ~~rrrqssrrrqsscKKTDMLDTKKTDLMDTvCAABdBBACAABcAAB#A7'/'#7'7''7'7'77''7'7'77'7'37?7'ric\X42imM"Mmi24X\ciic\X42imM"Mmi24X\cU>"018f;yx+FhhF+xy;f810">="018f;yx+FhhF+xy;f810" " &2?LYh'>7#'&543'32.'7#"52#"&546#"'&54634632#.2#"&5476"&=>321    w  F####L& & e& ' tnN-IN-     j  ####mN-|pmN-|% & e% !   # %2?L7'7''762"&42#"&546"&54>32#".546324632#"&U8D00D0JF)' O4)F+( L4E1- X7#D30.V;"By\1"!00DF1-W<!B10.#W5'!BpF+(O3*D((O4#P7&54632#"'62#"&547'#"&5475#"&54627'#"&546325&5462u5#%44$%H43%#4F4"#5G5#%45H #$43%#4F3F5GxM "22#$5 NN 5%#12"L=#54#>L "31#%5 NN!6%#13"M<$54#> # #-:GQ[g#'&546323#"&547'7632#"&547%57632#"'%#"&546327#"''&546322#"&546 1  X# X#l  ]  v # #&88'(88ޜ ] v # # 1  X#K X#8('88'(8$a'&546276327632#"/#"/#"&54?&'#"&54?&'#"&463267'&546326q "." m! * $$ * "m "# m  * $$* m $$* !m "." m"* $$* "m "." n  #F "&546324.#"326㱭j$hC3 k\z# 3!5#!!nil* haR!# )35!#!olHh!MfG # !'!!Vw3xs@!# )7!!Vw;@sW# ''7'7%7ŕęƕ#h#hEM##M#|!|M#e4>;#"32632#"&#'=fA W9( %4&#"#"&4632e|6R( %=T\DIZ u)# TzTc#y"#"632>;632#"'#"&546>K{&#T2eL)!>ZX@b.O1D[L8PeuN5Z~Xg.9eLp$z&'3267#"'+'267#"&54632>32_K|&$T2dJ )!>YX@c,O1D[ %:lL9OeuO6Z>?Xf-9eL8N>/#q%4<%".54676;573#"'#"&5463232>7#ERx=^K1E. ! %I Mxg:8.'&547>22#"&466L(%JJ%6G* 9SS;32.'&5462"&46( *6B, 0082:'B9SSvST"  L?%5%/()6*A?LNTtTTvR#(k&2>2.'.546/K2bs!##ZM NZ%#!s96$ObuZ+#(@>=A( #+Yt#y!.54632327&#"#"&5467NJiI5F(2#23 Z>[8IgJNdb:Hg-HMO!AH*J4?fI;b#9Df#"&54632563232654&54632#"'&54>7.#"654&#"632327632#"&54632Uq;5A""$1 52+" "?2 0 uh&8n$ 66N.B$5>5$#C `@{M;b3! 7.46;32&5463232654'632>54'j>Mm% 7!L> ( $/^=/.$& #' 58<)%G #  Q-2,H/VCM7%+S+ 1)3Z 6" $$.'%4&#!  '/ E*# 2 &546#32+!5#"&5$7vM "$( ԓӗ]H  ## (# 62#"&5464&54632!5#+>54&#"326ҕ[ &%C?su%IQN2eTDX Ւԗ 3)8Q.Vc /&&9$)D0@L>/!# L2#"&546#"'632#"&54654&#"32654.'&54>54&#"32654/>32ҕ>1&18>+  bK]y!1( ")"RMF] "*Ւӗ0:(8/5L !3C]G%8  1$7<4(  .# "#2 &546"&=35##3+!5rxxK4 Ւӗ17M"* ### :2#"&5464654&#"32654&#"732>7#"'632#"&ҕ*" _F_cMN1 1*.(5,!Ւӗ "-?bICX( ,#~6B27M# >2#"&5462#"&54632654&#"&5463232654&#"(15*+6;*ҕG-Z>VrVB[9@5 \F3Q0 oB84AC43ESՒӗ)RS4iOAURYx !+9'73326ҕե &yv! ~X%$Ւӗ4"AB&% qI )$# !9'&54632#"&542#"&546>54&#"32654&/6, !,AE;+,54&#"327#"&54654&#"+78V355ҕՇ?]/xbUpXFZ6@5![KC43DA74BwՒӗ7[[/sgNBRC\w%-;#)62"2#"&546"&5#32+35265#"||Aӕh&D:9  ܓOXNR-7LLԔӔ"   &&.rNk:# &3##5032672#"&5464.#"326%54&#"#54632'2#"&5464.#"326&<=: sG/3)(0=T@BWҕ5L]HbT-G.'.4 QK.=.-97- ?STՒӗJwF.l\|#(4D"#>32#"&54?32654&+532654&'2#"&5464.#"32616J<=PDQTCGJ8GW=MD4  d1'+.++-&-ՒӗJwF.l\|# )##5#53'32#"&5464.#"326K888ҕ5L]HbT2vv24ՒӗJwF.l\|#(8%254&#"#3#632#"&'72#"&5464.#"326`4*#/-@ASZE8F-0%ҕ5L]HbT.8+' 2,YGLdA8 %."ՒӗJwF.l\|#+7G4>324.#"632#".7"32654&2#"&5464.#"32664e3 19 L;LS>'+)67*&//ҕ5L]HbT\Jh1k^Q DSAE\ 2WZ=.3C<15?EՒӗJwF.l\|# &!#>7#72#"&5464.#"3268SYDmMҕ5L]HbTH*yib\ՒӗJwF.l\|#)5E"&547&54632'"32654&"2654&2#"&5464.#"326KUUSZHN<;I&..%&1.+)46P41&ҕ5L]HbTKX%".547632"3254%3##5>72#"&5464.#"326$(*'A..T.*R)54&#"&5462!5ӕQ 7@=)`IG]X(F++8L%<Ւӗ*)2H+DXVA  .55+(>"6/.A" ;2#"&5464.'654&#"4632#"'632#"547326ӕ6:WB-/R& #-'"' ),)"IRWDH[Ւӗ=!1 E;N ;* ,.)&#(=*&%.U :KT##2#"&546##3353{ҕ.KHRKՒԗk1Buu# &2 &5462#"&532654&#"535!36՚P+(#&GL?LcZJ(*Gԓӗm:>/+=FfPK\_AQ# 32#"&542#"&54627&#"32654&#">cD'& $/[ҕՑLr7;#55 D[R@4. 'x:1-5=.*ՒӗѠ q2kLJf1bIDY)XA# 2#"&546!3>75ҕJe_LOՓӗkA_eo2#  62#"&462"&5462#"&546>54&#"32654& $&#$&+,F-+*ҕ$R?@W@R\EF]!'("#+)F),N11'&-nՒӗ/$9KL7H !V@UXA'3# 02"&54672#"&546#"&'32>54.#"32$/.D'&0ҕ MLn79"55E[Q?;'=.*8:1-5Ւӗ"'w3lMJg1_IEY#(2#"&54'2#"&546#+33"32654GD"'ҕ5B.0SVQLNR%ƺi[Ւӗi(#6}y#:\z3 #7!5!Bz#^U7%7%{ENSUu3p#z'' 7#PwPCβB#^U7'%'%'{XpSzN^}q2t#t &'567#k>+ް+>pPXTDZQ#|!"'.546763!'&54632#"&47FY462/7%$%&70 +, 2.&%6 !7L0#{2!55!#}j#}1!55!#ן# !55!'3#'3#'3#6fLLS--Zgg#aFR 353#5#3#3#3#3#VQaGGZ22[!!^jN#!Kh#hL!55!#aa#Ryb'#V&b #Ryb7  %#&V$~[R #r #OV"S`37!5 5!"'&5<=K6R+#_:q`S=SS#T`%5!"#5467>3!5!H-*(4(%;_T Y HES# 5#35ZBY#FPm !53#5!# v]",]#+"3 #5!!7!! vvӜ##+"3 #5!!7!! tquԜ##e@M5!57!7!!%>D;;Mu\5HM#e@O%'!'5!57%!!C}]s:aeT\vL#, '5#'3-#3zTR?QUZO#,%5#7357%#3-RT&,iPQ?dP#KHe 5!'7'!7!!7; 2DD=7D e`A!92#KHe%5!7'7!57'!!;DDDD7KZA`ֽ3##".'! !67>32خ2_Y<b8)%H <)x=7&#"467'%67"%.}*3FM#1}0yS  i!6O`  7i dCw#>&547#53&54!67!%!!&G27a(PV6gS@< +; K"" "!"!1D+J1"$'7.5327.'%&%467%}1#(BH4*WPt i7  bM7!wI"U%&5467&#">7'&#"%632&54'&(7e*#DI^Ni5S3fM>MMTa,@=0F.U )d+ 72WBBK 67A#{8"!>7&'!;.'>7XfkO<{R .F=+ (x "ITgIl0>O" p?A2MY("U$%&547#"'%32?.'327.547)+*aTMM7#"&54632H%E&) HD32&547&5467L?a<5@&26 2'(=1;nL?MJLL"S!0/!?4&.- //#'5R27 62O*#{9$4654+"+"&54?654/&54;2;254&54632#"w!Q(0 >;,6 $R$%yk",  ;  d [ B ' ne#Kg=7"&54?654/&546;23254&54632#"&54654#"#0/  ,1;1+' & #'%"! '/9K-Z8 $^!'#1N  G#'#'#U F0"ctP 3#>7.'3!5!.5!#>75>KW>=VZMl8k4#Hm{4f"8LPvlXYD8qO5t&-%`-%n9&e4%!'7!ww|!!4=!'7'7|ww8!!4 7'7!'7'7lwwww!!!! %!'7!!!LL'=<W]]8JI =!7'!5!'7'7W<='LL8IJ8]] 7'7!'7'7%!7'LLfLLk=<<=]]]]JIIJ4 %!'7!53#wwD88!!f4 7#3!'7'7888Dww!!> 2#"&546$326&#"632#"!" !ɐӑ夥" "b N> 6632#"!!>7!!.夥򥤎@ H NC w> !6632#"'7'327'654'&#"夥fO}_}cPTܬc}{^ݸNa|QR߰a{}c PN=& yX=%#"&5332653533##5#5_Lv3[c3BBHNm-VQgBB 7   'D0&'0'008&0'00'0+RU?57+@A@@A@fXX/".fk.?^/7tDrPe62"&46"2654T<V==V&/"!//!"892X2?22b#$%67#547>737#".' YVO~T[1H"  73noJ:[*Z~sj <**  sH"G+:d}k "32654&".54632ʏيgt㲨2{nK^j摫9R:  P.= S: )33!AAAA: 7'7'3333!((((23##2,35332k|2 %335#'3##2dK2d2, 73##533K2dRKd | #3#(B)b1\ySΙ2 4.'3#> !<,A%8Z]8y"|Y{}dk !!#!=!}KK KK' ddd>'7'K dDddd R ~%27&'7>7267654&5472632632"'>54&#"#"'#"&547567#".763232746=4.545632>-VQs00"0 2|5 &515S. EmDCD9\M^ Q3+D ' %5A1V+V DLN0q u=  0 +5'1=  %A$8K%FFE]*XM6o !  )$ &Y6 727&'7>7267654&543263632#"7>54&#""&/#"&5476747#".'&763032746=4.547632>5og:981"D> A2 ; Bh9% %D5^gv_ aD8SM 5##& D"G9}b7lXI&V^#` 9O  "? &6C0 4!! )p:J]\-Wr8'J?G(5" "8-<%#"&'232327654&'&'%4.54326767#".- e> -/0/#0&   <)1 $2G@,G *1 2 l/;1* ) A1 Zp0qFAyH%#"&'&73654654&'.132$4.543267>32#"&'&y!w%: >=#BIJ? %84 W-.#(Q  A-GDvtJ ) 3J,*q<\+-8N6x#0"#"&/432326324&5>54&'"&543KD $ 6x,L9'=):cPJI4)* F0,U>A",[A1!zU  Z%2"#".'&543232632#&7654&'"&543NBpI#E ;4G"@y^'#a ]@$#:&32d{.}OE0r' -|[#"&'.5432"54>7>7#".'&7630;2326?263263232632#".#"#g 7 .H 7"r!F-,4H  $ f.. ); ,!'>)q }Jd,&%' , ?6 (&+  #  " / &%& %' wyW#"&'.'&54632"&54>7>7#".563263263232632#".#""#A-/$D) )U(eNf&3 h ( (f (D-\>+  NPYz7'1$ .=y 5A%  "2"]'++U [~$+$ .- 55X{&.5632#"&#""54376654672>7&5.5473727632>32#".'"54332654#"".'#"&54323272>7654'#"&5430;2O7XM %)&&% $  >GO#z5H[RP,4 $.IPW` )"  0 ;&,)  ("   P!`+G3 (D,*-`EF3 *6y6n# +::)@7 X(.'"56#"'&#"#"'43>67274&5.47632632>32+".'"563232654.#"".'#".'&54323252>7465&'#"&5432c u:  S)=  "Zn;&)6G *_ $^/.C^pe`5E5%Ua !E1jz 4*  %L-)-4; u 7 &8W " )V753wVW> 3E11FP($J IG= C  *"&#""'432627654#"1"54'.5456"54>7#".'&54323263232>7654.547632632#".'&52332654&#"47U. @/e@)5   !   J"P&,-=, 3(NY4!(D#7 1N&D7!=9   %#?&Y  v A.:X$$0&V=3 ScN  =#".'&7#".'&52&'.5456#"&#""'432632"54>7#".'&54323263232>7654.547632632#".'&522654&#" $ <'P #C%1 ?/!e@)47UJ5   !   J"P&,-=, 3(OY4!(D#G#2 -R%0+1O%D7!=9   %#?&Y  v A.:X$$0& V=3 ScN-K23%'#".'&7632;2367.'.'&563232632>32>32"##".#"32632#".5467632&'#".'&5432326 ;( !      ! T"8S0 (]+&2, %/:T/XyuK* YQ!Io6jZ $lg<- 7# )*(  4$$  K` !((g"'\ .C97`?% $K#".'&52#".'&5223%'#".'&7632;2367.'.'&563232632>32>32"##".#"32632#".5467632&'#".'&5432326  $'5(Q "D$ ;( !      ! T"8S0 (]+&2, %/:T/XyuK* YQ!Io6jZ $lg<- 7# ) $1 -Q&0)*(  4$$  K` !((g"'\ .C97`?% $/J0%#"/.'&547>?>=4&54732 k >|D/c0 !%)VL , @l4o { Jt6,:0 TE # E)5#@=  ,V:vCv J#".'&7#".'&52#"/.'.54?>=4&5472172v $ <'P #C%z`$(DI8#2 ,S%0+n BE 5 &7@  A'!@c!   $1}Ra!Is2#&7>54'#".54163232>74.'&54326%>7632#"&54654.547632t *8[JVj $ M#[; /#fL # !&0B 39]E?(37i' +#  D<5 "R p.9orB9e8e 5 "b#".'&5432#".'&52#"47>54&5#".5232>7.'&5432632%632#"54654/0414'&5432  $O  C "D$Mx.FRDJ` &  K_= U `T(<".$1  ]&0)q*ElCC B^ψ  /2 )%C) F w'0fo/0[50| ,'?@%2#".'&5463326+"##"546727.'.54332632 ^KxE1)-%6FD -nfKl!vlCBI$/# S'"' !( 93 '!@b#".'&5432#".'&54322#".'&5463326+"##"546727.'.54332632  $O  C " J $l^KxE1)-%6FD -nfKl!vlCBI$1  ]&0 )$/# S'"' !( 93 =f'#".'&54763232632327.'.'&4326327632+".#"72#"'.54>32326R=5%" (    4 * V O"   TN\( +* DDV-2I"f #".'&54632#".'&52'#".'&54763232632327.'.'&4326327632+".#"72#"'.54>32326 $N  P " L %R=5%" (    4 * V O"   TN\( +* DDV-2I"i@-454&'&543232>7632#"&+  +$Mo.U,O?Y0hN  m  #CFO@ NK&P(:u# M#".'&54632#".'&52%4&54323267632#"&54654&546 $N  P " L % ' #FZDY0RU2\Eb%0 C'/ 'K 3xIb4R%3fb# LA a3267.#"'26754&547632632#"&+#"7>7#".54>3254'#".'&432W,=  #8F"9, 1 P8XA590V )X'7#.*3' 'C!$& 7M7OO"  " ,  3@,""q&3: #Y# 6&'?%  4'+  LL#/#".'&5432#".'&74323267.#"'26754&547632632#"&+#"7>7#".54>3254'#".'&432  $N  Q  " J $PW,=  #8F"9, 1 P8XA590V )X'7#.*3' 'C!$&  &/  C '/ $lM7OO"  " ,  3@,""q&3: #Y# 6&'?%  4'+  f~".=47#".'&5463227>54.54763267>54.54763232#"&'#".'&7632327>7"32632Vq[*p! 65 D3 3 iX }+  2 ?p '#*&. S0ZF0/`. "-$?' H? $5 ^F %X#* 2) pD "  f#".'&52#".'&52".=47#".'&5463227>54.54763267>54.54763232#"&'#".'&7632327>7"32632  $'5(Q "D$Vq[*p! 65 D3 3 iX }+  2 ?p '#*&. St $1 -Q&0)0ZF0/`. "-$?' H? $5 ^F %X#* 2) iD "  wG+Q"&54>76?67"##"&563232623263$32#".5467#" AB  nB*=   &6: ;- 50DD0IQ=W m  *c~ :=$(W'm'Q 3Z>1C! #:_2Pw5 3w+ m#".'&7#".'&52"&54>76?67"##"&563232623263$32#".5467#" $ <'P #C%< AB  nB*=   &6: ;- 50DD0IQ=W ~#2 ,S%0+  *c~ :=$(W'm'Q 3Z>1C! #:_2Pw5 3m,6Pn"546767#".5432327654.5476327632%"&546746232632"543>32##"5467.+"&m- =:& \69  7t[Psn9M 3 t9 =5/4CLI$Mrn$&<:&! W> '@3 1 4,  5  & m,Vp#".'&7#".'&7432"546767#".5432327654.5476327632%"&546746232632"543>32##"5467.+"&e  $ ;(Q  " J $um- =:& \69  7t[Psn9M 3 t9 =5/4CLI &/ -R '/ $l$Mrn$&<:&! W> '@3 1 4,  5  & _^T"&54>7"#".5432327654.5432>32>32"43>54&#"G $K' 0GT 5 =B4  Rn=d5*F5Z_M8,)^ 70 1?. !#= ( Jt*$*!`M3b& R;S24~ ##".'&5432#".'&7432"&54>7#".'&5432327654.5432>32>32"5&3>54.#"  $N  Q  " J $  %P  O $P 7 D,>}6  Wt>'OS4cI5aIq=' 'E+;5 &/  C '/ $U $qT2 7* !" # Af$% A,[P /3<* #*5,"&54323263>32#"&#"543>765.#"#+ f}9dxe>\H=BuP6 &!kPKJ(:+7$((qWjl2"&543232632?632#"&#"543>74&#": % 'p{gOu:#9CG6RIhT>`yFMQ?)+1NN'6Z<,  &8d?Wf!'!qW;!T#".'&5432#".'&5432"&543232632?632#"&#"543>74&#"  $O  C " J $U: % 'p{gOu:#9CG6RIhT>`yFMQ$1  ]&0 )?)+1NN'6Z<,  &8d?Wf!'!DaB4>7##".'&54323767>32#".'&*>THL )z)bn[   dm., &"C60r=kIC'+   +   Tk/$(V2/Db#".'&7#".'&74324>7##".'&54323767>32#".'&  $ ;(Q  " J $;*>THL )z)bn[   dm., &"C60r &/ -R '/ $=kIC'+   +   Tk/$(V2/";07467.'.5432>32#32632+"._G P6 ;"c<Z=j""#L>u.- !T %7#AJ'@0*K; K#".'&7#".'&52467.'.5432>32#32632+". $ <) " L %_G P6 ;"c<Z=j""#Lj8%0 '/ '>u.- !T %7#AJ'@0*KD5A7"54>7#".'&5432327654.54763276323267.#"724&54>727.54632#"'&#"#".'#".4>"P*2%W S Ls$R}McvE/1S a(=#9:@- C3@H6 26* PQ = Z63L"&N*4L 7&%5Q'"4//,PTAW+++ 760?&D082*! $wo7a%#"&54>743232632.#"#"'&7>32+"#4676%632#"5654&54654&'&432o~  62s :-wZ  WCc)#W)>'g *! 9e6TC& "&' $ %%& T YvER Sg"<6C K  X? %327&#"67327&'47.'&54763267654.547632632#"/#"&54>7632654.#"#"/#"&V%KCD95W%5"Es &"&G$ K VP  1D2x 3Rd6d%8*HN' ,P232654.#"#".'&'G1(G^'<1$i  8  !.B" 59^Hd,?63F** |5)!!.@28( 5 e:$ ,3=*! 6 ?%N/*FJ)TH! 0QG'* !<>:Q(6} (O>(74&#"#".54>32"6762>54&'P&y1#?+WrW" ;'K|nJW3Poz -ػW][i\=%>4&*, 6)^ Zd\+u- \%327>7&#"%4.'#".'&7432327&=4.5432>32#"/#".5462667>7632#"&5454&'&5432K3>- \?&F ,4?E  "D 4 )= Uj_Dd /7).F"TOM2  ) L +" 3|> 3Y3j  $&C%  ' #   ;E *5  >)+$ (5 lE( 7&#"%4.'#".'&7432327&=4.5432>7.52#"'#"/#".5462667>7632#"&5454&'&5432 $ <'K3>- \?&F ,4?E  "D 4 M#'& N>_Dd /7).F"TOM2  ) L +" 3#2 -> 3Y3j  $&C%  ' # #  ;E *5  >)+$ (5 lE( 7&#"%4.'#".'&7432327&=4.543267#"&54622632#"/#".5462667>7632#"&5454&'&5432]&&&K3>- \?&F ,4?E  "D 4 t)(:)Uj_Dd /7).F"TOM2  ) L +" 3&&> 3Y3j  $&C%  ' #)))%  ;E *5  >)+$ (5 lE( 7&#"#".'&543232632327674&546;2F0<,E]mANP  m 8PO87+.9H&   7AF -%8m>ca*()!BQ\pfXv|<8.Oy1!t#".'&5432#".'&52#".'#"&54>7&#"#".'&543232632327674&546;2  $O  C "D$ ** 5$A[g=IL we ;'F,D"   4$1  ]&0)v !Ztle7l@ba*)(!%$#!P7I)8- r=?Vy+! f2"&546"264#".'#"&54>7&#"#".'&543232632327674&546;2h)*8))/&&2 ** 5$A[g=IL we ;'F,D"   4)8*))&&v !Ztle7l@ba*)(!%$#!P7I)8- r=?Vy+y h7>7.54654.547632#".+"4326727.'#".'&763232654'#".'&5432 "$5;Q.1f#"A *L7w (B$D<' 4E!8.' )t L',0&5   $(" M7*w  7R-,)= 2 :($* $\(Cy #".'&7#".'&7432>7.54654.547632#".+"4326727.'#".'&763232654'#".'&5432Q  $ ;(Q  " J $ "$5;Q.1f#"A *L7w (B$D<' 4E!8.' ) &/ -R '/ ${ L',0&5   $(" M7*w  7R-,)= 2 :($* $\(Cy  {2#"&46"264>7.54654.547632#".+"4326727.'#".'&763232654'#".'&5432))))0&& "$5;Q.1f#"A *L7w (B$D<' 4E!8.' )i))):(&&= L',0&5   $(" M7*w  7R-,)= 2 :($* $\(C?l-"".'&5432326232>32#"'.QEH&# >=S%($%!"8Q PSRN;H;# 080 #&>H JeFo!L#".'&542#".'&5432"".'&5432326232>32#"'.I $ O  P # J %LBD$ :8O$3?$0RWdV#2 A%0 +6@6 *2*6'1rG L`o =2#"&546"264"".'&5432326232>32#"'.:)))X&&LBD$ :8O$3?$0RWd)))&&G6@6 *2*6'1rG L`#n o%326?&#"&'#"&#"&'"56323263>32632#"&'#"&54632654'+"&'&432327&%632#"5454&'&5432qT()I QE1D %   `)  & ^  IQBD 08'YS}=1F,$ #Zc| n(+'6-  3'&%2lV % %  RB(%* "& ,G(>-?Z  WD Pv0-^*L"# '#".'&7#".'&52326?&#"&'#"&#"&'"56323263>32632#"&'#"&54632654'+"&'&432327&%632#"5454&'&5432 $ <'P #C%T()I QE1D %   `)  & ^  IQBD 08'YS}=1F,$ #Zc| n(+'6-  33#2 -R%0+t'&%2lV % %  RB(%* "& ,G(>-?Z  WD Pv0-^*L"#2#"&47"264&326?&#"&'#"&#"&'"56323263>32632#"&'#"&54632654'+"&'&432327&%632#"5454&'&5432?:())F&T()I QE1D %   `)  & ^  IQBD 08'YS}=1F,$ #Zc| n(+'6-  3):((:&&'&%2lV % %  RB(%* "& ,G(>-?Z  WD Pv0-^*L" X? l%32>7&#"7254'".'&5432;&'#"&5432;5.'&54632>3267.5472#".'#"&546E-/> 4KO="34I_  ~G 9 j+ A#=h NF}pHm2Sn@Us{,"5' 6` .Q* Q32 e%9  0U/ ,5$c 5QNY>3;67"#"#".'&547632332632654.52#"/"'4>767&'#"&&9#  &L9\#:$5v0) H!.$)F>!L }H.n {"323>7&4632465"&'"5432?4.547632>3232>54.54632#*#"54>5454&#"#".5#"&%.' Q0 +j !u 54 4ofN$Ab'|p---#$Y9 #5//c(ABPu[>Z.3E(!,d: V5@%7 >42+0 # # G36x".1-Xx56HNX;(5h%6  2$QPc673>7&467'&'.'&54763267654&547632"1"'47654&'".'+"&4+_7jTH2!:9)Q] O  w}%1F`N7O?.VCz( H5'I=uo_@x.(U?N2H9+ , J$Jb"#((:e>o[%bgk b4iWQ k67'4>7.'&7632654.547632#"'#"'32>7654.12#".547&'& X=%cZ?RQ:@K At>  I! 0 1>+9GZ/S6!  +- &7a;%HG+Ob-S^^ 0P59 #+'!<#-1* > wY ;5EQ+BM$  E-"@f'@TE0.\?*C >9W%"'./#".'&563227&546;274.5432#"&#"7632#".'"54332654&#"M, 3+;5   --+/0,  G 37#toKZDH5)5 &.A2<1^NV dQ)c *  >)( < "F*(A,/8  +%0S |5B`%#"'.'&'#".'&543227'.546;274.5432+"&#"7632#"&563232654&#"b  A6 4J+! 77 @ A=: !X @,/! Y;S'ZC3L@M>x_n' #d3W&!4  :5$ ( J  #$B52-*:E*6$.7&'#"&5&54654&5432>7&54>32632AK#:/ 9F7) `"H%!#`   X%! %* # +E% 0F#$Fp!5zLbgM';*-Q/"UPhj Q  -3[_@ / o )]   &+I,L[?V'>@!&HH+o d67.'"%32654.'654'#"4767&'#"&54654&'&5432>7&54>;2632#"\U* %E ;GW%0!u, :N&38m J   4 , 7$V*59+ .N2))3ayc2M) Q(z %(" -7 4[ \pNl #6[9"EM;' | J%3265&#"46;24&54654.'.'&5432>32#'#".'#"&\H3>F5T^    MLn p-E#v0  /R65GkD@< )5 >&^%>6 - *! /=B# * 5A K7326765&#"4;23&54654.'.'&5432>32#"'#".'#"&x6B$QWB %    ^Lh0!-> ] Fh8XoEWU'D%(v_9n-"'&EH !' >#7^ P& *4 KWAO3W"#"54367654#"4.5432#"&"&5467>7633>32#"543>54&#"s  3<3=; !   WZ@3O, T9aQM-Sa 0`+ K . `h((aHL 34+$3?/~N+ &3N/Be*7>"547&5054654.5432>32#&7>54&#"U 66s%)(-@,h >Z-% 9/#f #rn+5 "$LOho32>54.#"c<>4 ("8 >!.O6* 5ő`jUg,*/Y7D-$H/.~PT\, 22)Y )@   .)8# 7=kXg?3) H4.I()0!+'-M@l2674654.54326327>3232?#"&54654&#"#".'&52654'#"5475#".'&432 G!!G)  2&2J7*,@?IG4>5*"@68*' ,)L ;,#" 7# #=#D*( ?8!6QTA$)J,-]L>$)4,772t}K:!X&NyFR_ ,  <=632#"'43>54.#""&54>7>7#"#".'&543326k+|+dUP8p$K1^5 4 m'x-VYIWN! !P $-Q- 7'#2410t l%=47#"&/62;32765.5476326322632"'>5.#""#".'#"547k+6&   >" B&tq1I#L:c5<>(DPfc $K8[4 5F$ Y2!  F e-A6RE"1N.>_f[7654&5463263223632'47$54.#"1#".'#"&54746J)* $ != 6 /,L ,>\+_(8'L5{  (  V63=&  $0y7 ( O }9SDcZ%7o"?>%jSBG !H'8! j? h%3267.#"'6767"&54676=".#"#".'&5422632632#"&546;2654.#"!$U%(2%7&#"#".54332632>32#"'#6322>32#".#"#".#"#"&54>7&5463232>54.#"#"& * (ʘ4X0% .O73C(Pf8RAHP #)63m, !4 %J *%1fL [5=&*+ 0H#';.*;M" v   "*)'# '{O$[A-@ <  -(#" $;: <`&1$ *$ +D  Vz>x&#"#"'&5>?#".543232?67.'"5432632>32>32>7.5432#".'32632#".546:-J-!   (@q7 Ke-X/L# \ #,6T \$OL&8%HRu %>E `^eb#88gc;|j ' B  !#5I%(+7 8& $! j;f:x'& < 6%,y{D%".#"#"&54>7654.547632>3232>763,9)!_S  5 5 ">)2>,&D='0@K)h*1+64.5472#"47>7"#".'&4332$72632#"7>75& %6 \ AM F*C< #`_-Sx* #"*eJٽU@"^ z=4.5432#"767"#".'&43232$726;2#"67>7& HD)D S`ɯY6I ) xw=f 4&+62A  _ ' %kP.t&8%4&5<54'#>767>?5654'5632#"&546cLNC3-B+>05C    n(/#_9&L  1$@?  6G: |?4654&'"47>767>?5654&547632#.54654&{#|`q=Q1T :77    . #G')sG+c #=?3 >T^*(r ]4&5.543223234&54#'.'&54322>32#0>7>5<54&##"#"&46' >N & H]3+=0P#9>?1%6 $  !!2!10#51;K"!w $= <L X4&/43223234.54.547632>32#"767>=4&##"#"546. Ma0_y  ;6L;eR('l#%   $>  /','*!=<+D*%  % N5ElHi&'4'#".'&546323236;2632+"&#:323;2#"&##"'##"&/4763232672634>5466F F !k[46464&'&5"#".'&543232>;2632##"&#2#".##"'##".'&5432374CV R %!0W )*' -v_% ?} ;Sf  K Y)6 _%  & &;C+    '  JY%4>=4'>7#".'&5476323274&54654.547632>32#"&'&#>-='PqHY^NB 8 1.[)  b02Q FF32;U4.+K}**+01A 2 P  z]#47>7#".'&5476323754654.547632>32#"&'63&54>=1*O;N2aX#' +< 1H=9s2 'JKIlB;5Y̙  4 /6!>S A,# @9i  WD?x\"#"&#"'47>7#"&5432363>54&5432>32#".'.'3>5 &3QZsU9bC:#  J]@ H$* L e&(/-  /;:3, {WF3%OHK@@2 @ *L S"*! bV( &E G 59"}jy#".'&52#".'&52"#"&#"'47>7#"&5432363>54&5432>32#".'.'3>  $'5(Q "D$ &3QZsU9bC:#  J]@ H$* L e&(/-  /;:3, $1 -Q&0)a {WF3%OHK@@2 @ *L S"*! bV( &E G 59"}jog"&543232>7'#".'&54763232>7./.'&54632>32%632"&'.'@  / !.lC,5F  + =-     H &f1B @9~6O G 7E    *  0,    D99  T    *=>*& o1#".'&542#".'&52"&543232>7'#".'&54763232>7./.'&54632>32%632"&'.' $ O  P #@%s@  / !.lC,5F  + =-     H &f1B @9~6O G 7#2 A%0+oE    *  0,    D99  T    *=>*& !K67&54707054/632>2#47>767"&#"M! #Jc   0.D_>=fPB1)aJ$20Cw_ E #      sW'#>>&F%F>=998<="5@*&i#".'&7#".'&743267&54?54/632>2#47>767"&#"  $ ;(Q  " J $WM! #Jc   0.D_>=fPB1)aJ$20C &/ -R '/ $_ E #      sW'#>>&F%F>=998<="5@*&xM2>7>54'37>32#""#"'#4>7&546>54&54732>7j?q 9X:%  %"00W;(# 5V'O&  1=!"2@(W[8[06#  &17 #X8 " Ax%3d>7654%#".'&542#".'&52%37>32#"#"'#4>7&5463>7654'2>+j?q 9X:%  $ O  P #C% %"00W+# 5V'O&/ 0 0!"2@(W[8[.#2 A%0+56#  &17 #X8H#A7B%.#"#"&523672636545"#".'&5423 676326;2#"' H4 H  % 9 )6 S  G)-    T !d#".'&5432#".'&5432.#"#"&523672636545"#".'&5423 676326;2#"' $N  P "L % H4  H  % 9 )6 %0 C'/ 'R  G)-    T tb"&=4&=4'#"&5432327&54.5432>7>54&/632632+"&#">7a 79:(MB+)_y*6  , !8 4!< ,A"o +  P Q!$'3  533#&2 KE [TI/ *_Ma;Z">0##".'&5432#".'&7432"&=4&=4'#"&5432327&54.5432>7>54&/632632+"&#">7  $N  Q  " J $ 79:(MB+)_y*6  , !8 4!< ,A"o  &/  C '/ $  P Q!$'3  533#&2 KE [TI/ *_Ma;Z">0H8#"&563#"&'&52"./6032767w  N n" v S   ! ]~^ma3Bg d! .2  ,/[ zd)5[0=X#".'&7#".'&7432#"&563#"&'&52"./6032767[  $ ;(Q  " J $w  N n" v S   ! ]~^ma3B &/ -R '/ $ d! .2  ,/[ zd)5wWB%#".'&'"5>767'#"#".'&72323>32326324O "XdLglkU*W7 S ]U !)+XN]2m4[v)MD0; GnyP2  "   333M2wWY!c#".'&5432#".'&5432#".'&''>767'#"#".'&72323>3232632  $O  C " J $14O "XdLhlkU*W7 S ]U !)+XN]2$1  ]&0 )4[v)MD0; GnyP2  "   333M2p i%4654&5#"./63232?4&54654.5432>7>2>7&'&5*#"32632#". 1M %"M  >"o) *ZF   =>%@9 X~-ybT /  ,* p$'9$!@G!P#  E" Ia%@*!   1p #".'&7#".'&524654&5#"./63232?4&54654.5432>7>2>7&'.1&#"32632#". $ <'P #C% 1M %"M  >"o) *ZF   =>%@9 X~-#2 ,S%0+ bT /  ,* p$'9$!@G!P#  E"  Ia%@*!   1/97&56".'&%4&1432#"547>7654A %(  M$"lm>dJ'%D 7!5_,4   ?;fB)Ed|!/`!3Y#".'&5432#".'&5432&56".'&%4&1432#"547>7654 $N  P "L %1A %(  M$"lm>dJ'%%0 C'/ 'D 7!5_,4   ?;fB)Ed|!  $-F4.'63>32>7.'&'>>54&#"#"&#"/ @uv`TV. (_EJ2 Y 3q  6) Z#2"    !pU01c\;%&45-8&  F)  $ ^!Jc#".'&542#".'&54324.'>32>7.'>>54&#"#"&#" $ O  P # J %$ $; @uv`TV.j^J4 Y 3q  6) Z#2"#2 A%0 +  )   !pU01c\;% & :"508&  F)  $|X"&#"547>7#".'&5432;23267&=4&54654'"5436$7262&632PN-?(3@  x 5Ob Fm# }!@XOoJK+?og20&  & [)G J!z#".'&5432#".'&5432"&#"547>7#".'&5432;23267&=4&54654'"5436$7262&632  $O  C " J $2N-?(3@  x 5Ob Fm# }!@X$1  ]&0 )OoJK+?og20&  & [)G v#A#".'.'&372#".'.'&5%4.1432"547>76  M   G  &Qd^Ea}4)  3'# A$y- (  %6$ $(Y>)Dgr4] &H#".'.'&5432#".'&546"547>7654.4743  a   #53 >`L6  /f7654.4743 $N  P "L %I  a   #53 >`L6  /f76?45"#".'&76323237376;2#"&"&#"#".'&5432>32  K   (:)A )MZ'   44_tRZT0+   G iak -6HC%) !>.__>'    ,  t, #Bd#".'&5432#".'&7432.5432#4>76?45"#".'&76323237376;2#"&"&#"#".'&5432>32  $N  Q  " J $m K   (:)A )MZ'   44_tRZT0+   G iak &/  C '/ $ -6HC%) !>.__>'    ,  *1".'"&54654&54654&'&542,4}Q 6<2LW+/Q(8UF <;1+1; _H 0* N#".'&52#".'&52".'"&54654&54654&'&542  $'5(Q "D$ ,4}Q 6<2LW+e $1 -Q&0)/Q(8UF <;1+1; _H 0~J"&+"476765"#".'&563232>74&54654.56326322`H8S9%Y) I &oQ ;a^R) \xPM1<^( ^*+79C tX9%"#".'&563232632#"&"#".'&563;232632#"&Au$m zz bd    T^?!2  ["   :G%".'47>7.5432>5#"&/632326;23>7632 ! 6,qw3*3sUg&8t5#&W &   co 5K(q+:J9iA6C>^2)6F8)   +q!xe%#"&'.545432"&5634767&767>7"#".'&763>7632#"&54654&54.5'&U=g#'PS+# H3=>y0g$% /Kt\ *!  R'+ *Pg $FL^)%    $D76/ISb.DiE0!1 -3/S=@-XIR?T<^!va-%#".'&'&?2"567674654&5432 *T<O(4-rB 7L8v.>@$CdM  QP# T} dv!7O#".'&542#".'&5432#".'&'&?2"567674654&5432 $ O  P # J %" *T<O(4-rB 7L#2 A%0 +h8v.>@$CdM  QP# T} dv'?"264&2#"&54#".'&'&?2"567674654&5432v&&K:)))k *T<O(4-rB 7L&&2)8*)18v.>@$CdM  QP# T} dO?>54.54732632#"&546=474&'&42%)=G< F\=CLf\V8'Y%  #+  S!60;O [Ch4K]O#c#".'&5432#".'&5432>54.54732632#"&546=474&'&42  $N  Q  " L $%)=G< F\=CLf\V8 &/  C '/ $'Y%  #+  S!60;O [Ch4K]OP"264&2"&4>54.54732632#"&546=474&'&42N&&K:)):(%)=G< F\=CLf\V8&&3))(:'Y%  #+  S!60;O [Ch4K]E&4"#".'&546326?632#47>7654&5&h# _ GOO ZpL1j@mKG%.   {+*   # u3.MB^8e#/ET!V#".'&542#".'&5432"#".'&546326?632#47>7654&5& $ O  P # J %h# _ GOO ZpL1j@mKG%.   #2 A%0 +Q+*   # u3.MB^8e#/ECF"264.2#"&4"#".'&546326?632#47>7654&5&f&0:())Xh# _ GOO ZpL1j@mKG%.   +&&):((:+*   # u3.MB^8e#/r<*"&/:32>3232>32#".#" "   FZ'I+G"To! } <<"=5AbwbS r!L#".'&5432#".'&5432"&/:32>3232>32#".#"] $N  P "L % "   FZ'I+G"To! }S%0 C'/ ' <<"=5AbwbS r<"264'2#"&46"&/:32>3232>32#".#"&&-)))) "   FZ'I+G"To! }&&2(:)):( <<"=5AbwbS p'%#".'.'&52%4&5476>4&546=4'#".'&5632674&54654/.543263632#"&#"#"#"&'&736p&#3 <0WQ >/&ct BhU / " 8 y&< &M*2Sg:y38SO8{#@ #(  )0 88" 15 $:o V  * 2H#".'&54632#".'&52#".'.'&52%4&5476#>4&546=4'#".'&5632674&54654/.543263632#"&#"#"#"&'&736 $N  P " K %1&#3 <0WT >/&ct BhU / " 8 y&< %0 C'/ '&M*2Sg:y38SO8{#@ #(  )0 88" 15 $:o V  p,#8"264'2#"&46#".'.'&52%4&5476#>4&546=4'#".'&5632674&54654/.543263632#"&#"#"#"&'&736&&-))))&#3 <0WT 6@0ct BhU / " 8 y&< &&2(:)):(T&M*2Sg:y+A_O8{#@ #(  )0 88" 15 $:o V  wt?%#".'.5432>767&##".'&563>7632+7[  'E4-   0Z"  eݹ4 'LF)+L >/9, +&'##    -    "+f  '8%#"&'&'"56#"&'.543#"&'.563` 0:\I-%W9\1"  ,w9Z3LD?W")K=+%O2  &A #$v.'D%#".'#".'&5432%.54324&54654&54?3#&57>4 4&$ n /$G $'=--[G)-- 2 (V?b&\ /#A"\[5".'"'47>7.563>54&43632,)3@M^8]P*54&'#".'&54332$32#"&#"6;2#"&#"32632#".6{/ 21*b 8! i?#^=H g,,)^$:/b Si4L:$ { K ADA$K].(;!&2BP4uQ%#"./"&/43232632327.'.'&632>7>3#4>767* -C!    r    ?+/ $OR ( #; 2:A^ 17  HL  !W1 *8  ]Lw+$} R%#"./#"&54323263232>7.'.'&5432>7634>767"6  , ? %" 75>765.##"&'&76303263232>32632#"&z W&@ )  !cu2 0@@7  *  $4  'uU  &k_430326?2+"'#"'&#"#"#".'&74327>747#"#".'&76323>3656'34'&+"#".'&  , FG  ]),!1%dS ?j   H  $ - %-+Z2$322+#"'&#"+".'&732767465"&#"#".'&763%67454'56'&+"#".'&542Dg   &! ! W&$ , !Sh3 Ci   -  1/ B 7 -D".'&5432332632#&7>76=&'2"'&/432326z q>)UdYJnP4+ -5=n4*$5 # "mG<%#AF8T;5  "#?*F4654.5432#"47>5<54&4654&'&5432"&54& 5 2\/D!  5k#3 #K)S$`6oR]4% dS!O  +*` QxEk)H6267>7#".54>54&43#47>54&546 .  &s$*004.,% '6:K   ui6 \#X *.2.* cʇ wg" (3L8, 'agA( #1+&'63232$7#"&54>ED)nC$EIuM V/ f0 s" pQ)?,9-Mi43N22+#"'&#"#"&5&5&47.'&'&4332>32632636?.#"#"'4=  D  GLSp%! F#'  )\Et}3   $ oA~h'F0]' /TA2>7654&#"#"&#""&54654&5263> @+f8R9%   TL  8x>Lc> vT$!?B (IL=X<8   8  < ?5*F"#"&#""&=465./43216$7632>7654'4#&pB  =Y 2$2F2^<_B4    IK N   '/?!;7"; *SFW>d?<cy232>7.'&767263547#".5423263232674654.54?2632#"622#"&+"&5&'"#"&54323269('R :?qv +   <2V4&80B>>&  e9*D $n CH(2?]%  2 3  pb;k_4&'#'./63232$72632>7>7&#2#".##"'##".'&543237474646 ' 4?$fAiAW=5F  v_% ?} ;Sf  K a1 /  @ )W  ;C+    '  )6 '@J2>72674&#"+"#".'&43232>32#&7>7#".'&76|/e : K 55(T X|N3k>)\"  \6  )  !&5/D0 rMl/#"&'&74366&232676763#".5226" '  &K*Be:M-5$0=~ &CV9uK-32#"767>=4&##"#"546  $N  Q  " J $,. Ma0_y  ;6L;eR('l#%    &/  C '/ $$>  /','*!=<+D*%  % N5E*W#"&#"#47>7#"./63232>73654&547632>32#".'.'>7> &FJ^>x/n  ;G>! ? lS  ' .0 LawD:$N=;C> I$Np. 8 2 '0J+C{@2>701654'32>72+"#"'>?4654>54'632/.R5U ]\& " Q#:L):;9(5)1As 1#  %%"GT   45"sX#".'#"622#"&+"&5&'"#"&54323263232>7.'&767263547#".5423263232674654.54?26;27#".'&432  80B>>&  e9*D $9('R :?qv +   <2V41,P $k #-3  pb; CH(2?]%  2 0%0Bk"vZ'&#[c+yvu%"&#"#".'&5433>32p Om$^8Pw!2*  +  "8o#1=#".#"3##5>5##5>5#53>32632%"347.<{z)+)+DDljW+J"B)? #nYt ) .D) .D m|''>Q+P1* 8".#"327#5>54&+#5>5#53>32 #"5 2?*.HV**DE ,P5:E> ) A+ 5-03()0C!"5E- &   %17>5#53>76323267#5>5##".#"35 ,EG-L H 9)'+E A 79 BH ?'%N"H4#GT"327#5>54&#"##5>5##5>5#53>32632#".!"367.1)?<5+/"L5 )*)+DEljf6_0N$)?#>Q+ B .!0&)!-D) .D m|33 ( >Q+K3#3BN!#5>5##5>5##5>5#53>3263232675#".#"'"347.% '/)+DElj[*?H 6 ' C)?$%N$!59) .D m|**'>Q+J5*!3^4>7+".#"3273#&#"#"&#"#5332654.5463&54632326?23#327#"5#& , MM,.7!  U.+l**W:M 6<#./CB/T:5I4 H7@ ee3! @#\5 /#66<-"B {$.@5)9H CI&#-#'@)9A5=4I)2) t T# ,-#~#~>#~#~,8#~>#~,8H#zX@ H#{mHH#~HV#~>'(V"~V>T#~>V#~>0V"~L>0 V"~>V#~:=w"~^@4#~;V#~>K#~>W#~>/V"~V>V#~>3#~,8V#~,8 V"~>4#~<V#~>V#~,8 V#~=0#~>#z#z#zrB#'7%4.'7!"&547'?'7455 B,79G 4*4555557743C' @(U+7O}e*&7749774rB#'7%4.'7!"&547'?'7455 B,79G 4*4555557743C' @(U+7O}e*&7749774-N '7'?'7#'!054'9::t999v9::--4 8:::;;:I:::ATJnS f8-N '7'?'7#'!054'9::t999v9::--4 8:::;;:I:::ATJnS f8{e2 5'7'7'7237# 327#&'&5&546767.#">>??>??>??rZ6'O7r%0-A?a6o63""5X??==??===>!?MO#A@&-/2 @=CyIv "}g-9=A'7;#.5%237# 327#&'&5&546767.#">'7'7433 +2((iY5)H0nC--@>`3r43 0;433h433443>R,Q#?0%y!>LO18)"$0?= CxHt 0&4433443b '7'7'7>32!"5%'&#"244422#333 "o>c!T3333333443U'M9#LKZb '7'7'7>32!"5%'&#"244422#333 "o>c!T3333333443U'M9#LKZk+ '7''7'77>7654'k455466455 16h",0A&!221G220221EOOH +7`?65-Wk+ '7''7'77>7654'k455466455 16h",0A&!221G220221EOOH +7`?65-Wy/37;!654/&/&546?#!"'&5476Ij }= [~mk"*M3KI yA j2,m!%#!7!654/&/&546?'6ǀk"*4}= "_z2R6n'&"09*$#]O m=  :O/>j2,( -2&#"32632#".547$7&+"546!!"]P ?YuRv<S 4h^..c_   V%vO5#;>"ksbS]8AX426=4#"+&5465476;"&#";2#*#.'547ri n*T-m2 . oLoMrf$ [7* C0+ :2M#1@T AH cmV7G'/6K:'7'7#"5!054';==;==--41@89999999>NEhN `56K:'7'7#"5!054';==;==--41@89999999>NEhN `56>ah%2>54.'7#&'#"'.54>35732654'73263%327523654'62#"'#"547:1232654'67&'77.m c<+"6B*7 ")7-Q#%[   " =# 57RIASbBIKr(&-"M[F+)k!Pk"  ) I%,A(,0N%#".'&'7;4&'#"/7327654'7'7'7#"54732654/5473X%*w1($IDBA@4977"`\; ,s7j*( \27Ta)C9e?#&2q 9723764AX10;21PN7>;92;9& JB J,87>?>;:/;: Jq J6C7>;9& J3'#67'&546324&#"6 2"]G5"4" '* @$'I #1*   ,87>;: JXl#"'#"&547332>72654'7 !   $+ %-   2R746;&#"32767&.$)$%;b#+L* # 3"! e e%23267#"&#">;"&'654'73 $).698"&-"0y MWF/V$7&D)K,.6.QbcV=afTk.'ZpC'"46;&#"32767&+"5!54'.$)$%;b#+`+2.04L* # 3"!u@MFjO a5 >54'7  *.b71UY.;"&'654'7 MWF/K,.6.QbcV=af~A'7%4.'7!"&547444NA287F 4*665AN@)S*7N} h%$!~A'7%4.'7!"&547444NA287F 4*665AN@)S*7N} h%$!?E'7#!7!054'CDDZ-4 7EEDASIoS f7?E'7#!7!054'CDDZ-4 7EEDASIoS f7{'7'74&'7!"&547ACCACC ?K47D 2)vBBCCBBCOD='P)5Kyd%# {'7'74&'7!"&547ACCACC ?K47D 2)vBBCCBBCOD='P)5Kyd%# *$'7'7+'!54'9;;9;;,37::;<;;:BRJoSb7*$'7'7+'!54'9;;9;;,37::;<;;:BRJoSb7 !'7'?'74&'7!"&547@CC@CCABBW!A777F 3*WBBCCBBC7CCB8QF?)R*7N{f&$! !'7'?'74&'7!"&547@CC@CCABBW!A777F 3*WBBCCBBC7CCB8QF?)R*7N{f&$!5 '7'7''7+'!054'===<>>===_-47==>@==>;>>=ASIoS f75 '7'7''7+'!054'===<>>===_-47==>@==>;>>=ASIoS f7zl1zl 1*.:237#"327#&'&5&546767.#">'7%#.';J pYK6(N6n%/-@>^3s42 !"5544N-A%81 >djKP$A=%,.0?; CwHv !o553%Yf #! /]7632!"5%'.#"'7g,W"[a~B544L5`LJX 554/]7632!"5%'.#"'7g,W"[a~B544L5`LJX 554zl1z` %*9237#"327#&'&5&546767.#">;#.J pYK6(N6n%/-@>^3s42 !"5J8-( % >djKP$A=%,.0?; CwHv !h P!4+^7>32!"5%'&#"0p;b~X&""M8#LJX^7>32!"5%'&#"0p;b~ T&""M8#LJXp (,237# 327#&'&5&546767.#">7'74jT3#G1i+*=:X0m1. -8o,++/;GJ <<%;<- ;9BpBn  -$,,+}I% :'7#.';%237#"327#&'&5&546767.#">655r-=, 19<t\O7*I0v$2/BAc[D*5 ##7665Lm B*"AimOS2;+132B?"F|Jz  #X'7>32!"5%.#"@200{#9c:B"$O110&"KI*-X'7>32!"5%.#"@200{#9c:B"+H110&"KI*-rl%.'7+"=7~  4"87 N$ O (8hCN`&rl%.'7+"=7~  4"87 N$ O (8hCN`&rD'7.'7+"=7/977  4!76  997 #,&N (7gBM_&rD'7.'7+"=7/977  4!76  997 #,&N (7gBM_&Y%76?>54'E 07hSEE%EOH H 1 ddQ&-WY%76?>54'E 07hSEE%EOH H 1 ddQ&-WY'7767>54'F8;;7 +54'F?CC> +"R C:F&?*! k( $JZ$e47!"-E'  A/@h6H5 )00H8@E7&|9%254'7+&'#"+.547326764'732=7r5(-)) !$:1+?Y!"5>"R C:F&?*! k( $JZ$e47!"-E'  A/@h6H5 )00H8@E7&`,%2654'7#"'+"'+"'27654'73254'7 "49+-!S !L H Q6Q,S$&&&&K5,5+/@7`,%2654'7#"'+"'+"'27654'73254'7 "49+-!S !L H Q6Q,S$&&&&K5,5+/@7|8<@D%254'7#"&'#"+.5473267654'732=7'7''7'7s4(-&% #$:1-?Y!"5>"R CRm? *! k( $/11"/11$/11JZ$e44$ "-E&!  A/@e9FH*-MC1H8@D8%---:..,---|8<@D%254'7#"&'#"+.5473267654'732=7'7''7'7s4(-&% #$:1-?Y!"5>"R CRm? *! k( $/11"/11$/11JZ$e44$ "-E&!  A/@e9FH*-MC1H8@D8%---:..,---j+/37%2654'7#"'+"'+"'27654'73254'7'7''7'7: 9?01!$[! !%S  7788'788)699P X?;>4'!6o +`03// -eS}R-K7$$h00F'}[D  6!M$"#!"'+&53>?;>4'!6o +`03// -eS}R-K7$$h00F'}[D  6!!)482+#"567>54'77674#"23276'7@$&580%FS8QkA\-?",x:1JTPg@100 8' ) B[0oVNHNT!45GIHix7RS000!)482+#"567>54'77674#"23276'7@$& !LK%FS8QkA\-?",x:1JTPg@100 8'!"B[0oVNHNT!45GIHix7RS0009($'7#!"'+&53>?327>74'!6`100"+`03//#*\ WyT3R|]$000HCh00P .AvXC 9($'7#!"'+&53>?327>74'!6`100"+`03//#*\ WyT3R|]$000HCh00P .AvXC 8G 76547632#!'%4&#"!6V? tf2I= :$)bMSE3BVQO-';8G$76547632#!'%4&#"!6V? sg&( 29%&aM~SE2 @.=O-'8G"76547632#!'%4&#"!6DV? sg&(=f9%&aM~SE2 @.QO-'8G$76547632#!'%4&#"!6DV? sg&( 2f9%&aM~SE2 @.;O-'88G$'76547632#!'%4&#"!6.//V? tf2I= :$)b../SE3BVQO-';8G('76547632#!'%4&#"!6.//V? sg&(+9%&a../~SE2 @.;O-'8G&'76547632#!'%4&#"!6\.//V? sg&(=b9%&a../~SE2 @.QO-'8G)'76547632&#!'%4&#"!6a.//V? sg&( _9%&a../~SE2 @.=O-'8].$467&'5476;&#";673&'&>>W#A8F5D Mb.xr#MiohqK44K* =91*8$R: CK}FL.A !|\P/;#&'327#"&54>7.#"#6g "&&df4JN5NA3J+hPh7F> =P ' !LLY6rG*@*38yb@wO9  wc%327+"5&5>3&#"V:e2@ _:8W"`63Y$\M1L_:5I'"%8H$2;#"'+&'723254.#"#5>Z8LH$2JLH=Q_  BH( &O>M]]MY>Cd8%)467&'=476;&#";673&'&'7A:W"A7E4E M_.wp#IdngrJ011<0J*=90)9$Q:BJyHL-A !b000|\ 3'7;#&'327#"&54>7.#"#6122 "&&df4JN5NA3J+hPh7F> =221 ' !LLY6rG*@*38yb@wO9  wXZ7327+"5&5>3&#"'7J9].; V43M O8-S...]J0I^63F$"#2001[)#'2;#"'+&'73254&#"#5>7'7c;LJ&2abJ?Rb   Dj111B($LB\$%#6LN$"0 $#@>9W =1(J223+3%.2#%.'67326;2=.5476;2327.''7V""S))S:L'!..4$T'*122A`>B\$%#6LN$"0 $#@>9W =1(J223>[+#!57032505.5476;2''7".(SP5K' -.S1000" !"5BX?\J/ #"B98/2222 !<1>[+#!57032505.5476;2''7".(SP5K' -.S1000" !"5BX?\J/ #"B98/2222 !<1.<'7'7+&54&54733267654&#""546";27254/777f877n$HG[3 8rXmK  _A#) &j7777777UF?,8-v`zgA'5/ $K3/p8/ .<'7'7+&54&54733267654&#""546";27254/777f877n$HG[3 8rXmK  _A#) &j7777777UF?,8-v`zgA'5/ $K3/p8/ 9P'+#!57032505.546;2''7.#"'7$RO4I(8*.0//()%!'"/00/=X>ZH. ##7w.220 3V12209P'+#!57032505.546;2''7.#"'7$RO4I(8*.0//()%!'"/00/=X>ZH. ##7w.220 3V1220y5/#!"'&547;!654/&'&54>7m*U/ #*M3Ob }= "4!8TtMW3)hD7|:dX@C@-(MD zA4 *&!)/!y5/#!"'&547;!654/&'&54>7m*U/ #*M3Ob }= "4!8TtMW3)hD7|:dX@C@-(MD zA4 *&!)/!!#!7!654/&'&54>767K1kUQ*4}= "40\w]Rnfc^O j= 0 -(,0$!#!7!654/&'&54>767K1kUQ*4}= "40\w]Rnfc^O j= 0 -(,0$#"54732765?>rY=.LYHQ#Y%&4/4 'UlR$aKJ4.o&)@0#"54732765?>rY=.LYHQ#Y%&4/4 'UlR$aKJ4.o&)@0'?6545((-+lNY  yJPMg'?6545((-+lNY  yJPMg7%%"&54732#'&#".'54>32&Pkd8$GF1=  ?(l_g&A"G'>$?0%7%%"&54732#'&#".'54>32&Pkd8$GF1=  ?(l_g&A"G'>$?0%%2"/+5>3254/3%UMC/- 8ee"/()*4z8= (L -,"4!%2"/+5>3254/3%UMC/- 8ee"/()*4z8= (L -,"4!y2 %'7265&'7#"'"&547;::(:*HP8 i777Ql `GNF^/jg\aI9y2 %'7265&'7#"'"&547;::(:*HP8 i777Ql `GNF^/jg\aI9K'7#!'!54'=>>E-4 68:::>E-4 68:::EBse ' (s HD"WJ gO/%"&'#&547&547;%3267.'ggY KJ,>^GD5  UMGU^ &&VH" -$C# *&'#727&'47'62654''654'a#fXXfST38 F3_&0Q`#2B2 ROL0U0%.LV^S/m?7 c9"(/G(0%3##"&/#737>324.#"3>654&#z0% .D- +  ))*;   77:@W:'" M=&OQ6eM}A;^"  ;W13)3?I$#&505476;+5>76547.#"3232Jc**3 Dj;l5w=-" - % H>9 UrK E6J7*g51fI$#&505476;+5>76547.#"3232Jc**3 Dj;l5w=-" - % H>9 UrK E6J7*g51f| +/32&#"32632#".547$7&+"546'7'7!!"]P ?YuRv<S 4h^..c_ACCACC  V%vO5#;>"ksbS]8ABBC"BBC|9'7'723"&#"#".547323654.'.546ACCACC1 D70 !NRv<S 4gY),3\BBC"BBC6 M  >$#;>"ksbABY2'.>%l7.'7+&''7'7  4"8ACCACCN$ O (8hCN!-BBC"BBC>%72673#"'&'+&''7'7'39527  ! &ACCACCN)*+(5 (, !-BBC"BBC fM(/C%>7'4&547767'&'"#"&5432>54'23267#"&#">*D<  /6;hz/44qAJ6-3 $).6941"0\07 (4K}i6+[1PM 74.2>$7D) K 4#"5'#"'6764';%�#'23267#"&#">0i -\F6yx*%hwdh3 $).694-"0b>5:U ]wp5ؐ$7D)zf['F {['F!ef'T {')!zf(/%>7'4&547767'&'"#"&5432>54'*D<  /6;hz/44qAJ6-\07 (4K}i6+[1PM 74.2>{ #"5'#"'6764';%�#'0i -\F6yx*%hwdhb>5:U ]wp5ؐ# 354>54&#"34632#3 #*#8#*#H=5#.$,888hg0 2#,8"7A/2'A{hgc&)3D&54>54'&5!2632#*#!#".5465327674&'"32>_`#a ?\r]Bl>*C7;C$L*+c$/UIWP(#A n18D"1:,.?3H)*+ '$"1 ;Q~;"&5473327UB7!8y'* %haΓV0#"&5463232=332654.=3('wZJ^#&8  .5(>T+*S-R@?L)GX<1)(  '>2*C7DyRlI9C#"&547.5463232=332654.=3264&#"('B@C13BJX#&8  .5(>T+*S 4"#"-R@?L)J-I1CC1#:0)(  '>2*C7DyRl#2#";J_#"&547.5463232=332654.=32654&+2>54'#"&'('QST=>R)$1#&8  .5(>T+*S,,%  C*2(1*(-R@?L)T- \AYTB?& +)(  '>2*C7DyRl  u# " %6$ #. !533S;#Fe/923##".546;.#"#4&#".54632632=#"@s H:)7P;@')3Q+"*? t7LlRd%(R"A(?eP*d|87;K95+$.?*?2lQ A]GG1(E\!2#"54654#"#"'46323276" .8>c3  /-R9\" P.  oKbZ8CJR]%2#"&547##"'#"&546;4632>54&#"'>322654&+'4&#"325#32=#">MQ@5H TER'!A7LRU%N?+@ + D41'2O!4?$,5 /$.*22 &8,+44*f?"bE9:PX=4fPPS=H1Vk,G4OQ!$*#,"80#L6>1% 2X;:PM=I=R@ %`UMq\LXa"&547&#"#4&#"#4&#"632#"&54>32632632654&#"'>322654'264&"*3XnKs>70SA3'3SS,->2B?5@N $7\;TE5\Z59\1.0'6 9.*De$,8#D# &'@() w=jaQ>m- 5@( ,)5GP=;HiT$FJ8$ONKL%+' ' 39$gL?f=l=(3 -H1.H0M[6A#"'&547&#"#4&#"&54632632654&#"'6322654')4U?5&"sF*4S,#A+(vpRh%1UC+1#3!*aik'/8#D)!wH#"&547&#"#"&54>7326=4>32654&#"'6322654'!,%4 C708"98O70$3!(bib+5l?hQk_YE`3M>1IaRB8;R'"#,&Qk$h?Hr5We:8N\'22#"&547&#"&54632654&#"'62654&'w*D+]PB9Jp0Nf_ua?+1'4j&- f,\39(5Tv_sWG[vTs;Hk$,'RJ<'aTc1@K29DO2#"/3254&+53254+#"'#"&547634632#4&#"325#32=#"#07;@)!6,CTER'!A:IC!hN?.B E8,+4)f?"b#+1*% !3!!'fPPR>T Vk0F7:PM=P (1"%( $`UG_@GOY%#!"3!!"&5463!2654&+532654+#"'#"&546;4>3232%4&#"325#32=#" 3)/T,66,"-#A/TEQ("@8KTP( ;(EVZ307-+44*f "?"b,%, %G3*+; !$ $RcCCC69,43 \I),w1C?5A4@. #%QBK 3:CM2#"&54632&#"32654&+#"'#".546;4632#4&#"26=#26=#"mCYXkv_]M+4H'Yb~<1WFS"'B&+N1KO@BWH6,*4\.63$(\+wW~)"$/%"nASb{QQ>)?6VkkVTA#=J0'UJ)9EF=D\dn~2#"##"&547&#"#54&#"#"&5467#"&546346324&#"2654&##"'632632'%3265#2654'32=*#"2654'&jW,4$IC5/@M#$.G!!M 0 6BE%/GUoK=*=B7(0*3%0FQCN%G/6N 2'(9(%P@/6(CQ"5*,JPYc>32'654.#"32#".547##"'#"&546;46322654&+'4&"3265#26=#"x *+5!^GE}1[(2$ 2U iT@4#4 /TER'#?:IUZN?$8'!*#>29V44*'?^'"b(3L&DD_hNt.H(K?7Q:G+>42fPPV:H1Vk +<&8*4@<9QN*#Q4?>2:H0SFS&!A9JTX%)#>*8,+44*f?"bTm-G5(+B;"!<6F 3+"C45(8  E92654&+'4&"325#32=#"vYuOLET4q.88.J>)#&J/UnB9CA3.I&SFQ("@8KTT$M@%:0F&+"49V44*f "?"bKx K0K!(G5V55$!+30 -'Q,:.5@CN.WjCCC6:,E]%5F`' ") h2A?4=6C4 #%QGK/NZait2#".54>32&"32654&#"2#".54>5##"'#"&546;46323>2654&+'4&#"325#32=#"?f >N7bUSK?'jI\"fT38,+44*f?"bĮ"" tP97Q:G+?4  %JI.PPR>H1Vk#.=#Psl8*4B::PK?H@P= $`U@$P^dnx2#".54732>54&#"32#".547##"'#"&546346323>2654&+'4&"325#32=#"hMx|_u\:'bT!te@\L1RZUE+"4 -SCR$A9GSsL>#77 )*4!U$!)!=9R3! d "= am=ooQ2/BITO(~sdj/GcW/UpI>6OC;)<4 (e|NNQ54&#"32#".547##"'#"&546346323>2654&+2654.#"4&"325#32=#"hd+.*" #3 _u\:'bT!te@\L1RZUE+"4 -SCR$A9GSsL>#77 )*4!U$!)!=6"(9R3! d "= amg A&"2 *"  4/BITO(~sdj/GcW/UpI>6OC;)<4 (e|NNQ54&#"32#".547##"'#"&546346323>2654&+'4&"2654&#"2654'#"&'325#32=#"h{9>#4*"6 r_u\:'bT!te@\L1RZUE+"4 -SCR$A9GSsL>#77 )*4!U$!)!=9R3B""d.21$#- ! d "= amk T/*> "+ &/BITO(~sdj/GcW/UpI>6OC;)<4 (e|NNQ@'0H?C1&!'2ETER'!A:IRU%N?%:E8,+44*f?"bu&;0%&/5./&5(-T57I/3'4&fPPV:H1Vk#.=#:PM=I=R? %`UK)08Cp{2#"/32654&+#"'#"&546;4632#4&#"325#32=#"2#"&547&'73254+"&54632&#"3264&#"H?C1&!'2ETER'!A:IRU%N?%:E8,+44*f?"b703<! .B*6&KS>@'0:DT0$C#6-?#!#$T57I/3'4&fPPV:H1Vk#.=#:PM=I=R? %`U09D*?16! &5(-$&;0%&-&--%K)08Co|2#"/32654&+#"'#"&546;4632#4&#"325#32=#"2#"&547&'73254+"&54632&#"32654'#"'2>54'#"&547H?C1&!'2ETER'!A:IRU%N?%:E8,+44*f?"b708?-# 4H6.&KS>@'0:DT0$C#6-$ ", 3&#/T57I/3'4&fPPV:H1Vk#.=#:PM=I=R? %`U/;$G$5 G4A$&5(-$&;0%&   P#!  '"4 & 0K)08Cn2#"/32654&+#"'#"&546;4632#4&#"325#32=#"2#".54732654+"54632&#"3H?C1&!'2ETER'!A:IRU%N?%:E8,+44*f?"b0-.#N.:0%#!K)08Cw2#"/32654&+#"'#"&546;4632#4&#"325#32=#"2#"&547.54732654+"54632&#"32>54&#"H?C1&!'2ETER'!A:IRU%N?%:E8,+44*f?"b0<34! /A$P_8,65M+4?zK-.#N.:0%#! "-%K)08Cv2#"/32654&+#"'#"&546;4632#4&#"325#32=#"2#"&547.54732654+"54632&#"32654'#"'2654'"&547H?C1&!'2ETER'!A:IRU%N?%:E8,+44*f?"b0<:9 4"4H0LV8,65M+4?zK-.#N.:0%#!   P." 44 &".K)`goz2#"/32654&+#"'#"&546;46322'654&#"#54&#"#54&#"632#"&54>3263264&#"325#32=#"2654#"H?C1&!'2ETER'!A:IRU%N?%:A7Pb$H-&>)!>&(d&!/0#+3 67C!9DP8,+44*f?"b" +T57I/3'4&fPPV:H1Vk#.=#VCm*-V5>Ѷ)*t&4+'1F63J'0.+- :PM=I=R? %`U42F)ekt~2#"/32654&+#"'#"&546;46322"&547&#"#54&#"#54&#"632#"&54>3263264&"325#2654'32=#"3254&#"H?B2&!'4CTER'!A;HRU%N?%:2EZ6X7D!,>, >," 0 (#.,#,6'0# >.%=:%.?9V44*fm!1@! (?"b/+T56J/3'4&fPPU;H1Vk#.=#fK8DC7P5 ҵ&!!, &:)&.D7+D%11.,9QM=I=R 4"'L.4E!)+:`UB"1O\i+y2#"/32654&+#"'#"&546;46324632632632#"'732>54'#"&5467&#"#54&#"#54&#"632#"&4&"325#2654'32=#"3254#"&8 B2% (2ETER'!A:IST%M@%:_B=0"=9$(=S$9;dD)(+1!7 5,'3=)1%#?+ >&) / %"/1,49V44*fQ 0!(?"b;)(,,6J/2(4&fPPV:H1Wj#.=#:Pf11..L X5Md# ?*C;H8,6C&#Ҷ'!*,&9*-'D9QM=I=R"&+%-$$*;`UA!23GAMS\e2'654&#"#".547&#"#5&+#"'#"&5463>322>3262654'%4&"325#32=#"byk/L]L^K<%5 Y%>W)J>G#84AOdD8(:   eO6/2G$,JW"0J+-$W)5T†fMC}Zp \yPn-C5M qB g~LLR?I1Vi.K.NzwH6lHNm #*8MF?J;R ,5.^RK]Q[air"3!!"&5463!2654&#"#"&547&#"#5&##"'#"&546;>322>32632#'2654'%."327#32=#"+"1+3)IWXI!^K<5HY': ) 8'F$85?NMC9s ]J1-.>arfM$,JV8/J,-#V!5T!M<&(;hRQlLgC]\@iB %7, =>%??F4=*IWDg}fay<.\;B[6.0>=1?2D 4#/NEK]hry2#!"3!!"&5463!2654&+532654&#"#".547&#"#5&##"'#"&546;463232>3262654'%.#"327#32=#"=Y(DE`M0%,45+RG %%'HP+^K<%5 Y(0!*J>H" 64ANOE8!3"&0 /10E$-KV81$%,-#W"5T-$ 4&'B8K!M6,*9<&24"#9LgC]&9-jA @, Wi??E5=*GY%4,A#;/[322>3262654'%4&#"325#32=#"dyXm\F50:mVs`O^K< #-Y%7^)K=G#83BOdC9!4  eO6/2G$,JW"1$&*-$W)5TŸ,%G# q [zRm$P7~N iK g~LLS>I1Vj"+@  OzvI6lHNm #+:LI=J;R<5.^RM_%#".54632.#"32>54.#"#".547&#"#5&+#"'#"&5463>322>326322'654&#"#54#"&546326'2654'%4&#"325#32=#"AL4]yC' P;?XZC=a:%'M5^K< #-Y#7^)J>G#83BOdC9!4  eO6/2:!;A.&% #"%$,JW"1$&*-$W)5T^ 2!6GB '/#&--G^X.;kg= [zRm$P7~N iK g~LLS>I1Vj"+@  Oz/L' + ;% &I6lHNm #+:LI=J5.^RI*[elu%>32632# 4>7!2>54&#"#".5467&#"#5&+#"'#"&5463463222654'%.#"3265#32=#"gO7.2:\AB #9_{l/- [sHt?ZK<%5 4*#,@ *J>G# 62DNfE8(: !#.F[.0$1-$#56TM|PPj(JTHD/#4i4jv`Z/FbW0_ W~Po.C6:m% -A4 eLLR?J0Tl.K.J5nFQj3E;K=IJ32632".547# 4>7!2>54&#"#".5467&#"#5&+#"'#"&5463463222654'2>54&#".#"3265#32=#"gO7.2:\ABb,4*"#*/- [sHt?ZK<%5 4*#,@ *J>G# 62DNfE8(: !#.F[. *+0$1-$#56TM|PPjhC("3 3" ?#4i4jv`Z/FbW0_ W~Po.C6:m% -A4 eLLR?J0Tl.K.J5nFQj3E  ;K=IJ7!2>54&#"#".5467&#"#5&+#"'#"&546346322>32632%2654'264&'"2654&'#"&=.#"3265#32=#" ( U>+> /- [sHt?ZK<%5 4*#,@ *J>G# 62DNfE8(: !gO7.2:\AB#.F[..!V7'#8+-/)0$1-$#56Tj4 >U$5*$"/#4i4jv`Z/FbW0_ W~Po.C6:m% -A4 eLLR?J0Tl.K. M|PPj8J5nFQj3E,z:( 5 588 (;K=IJ ?(. 9'(1KUK:7&$T57I/3'4&fPPV:H1Vk#.=#:PM=I=R? %`UWB>K*Z+Fѵ&!A0\#.hCX10K)08Cgq2#"/32654&+#"'#"&546;4632#4&#"325#32=#"2#"&547&#"#54#"&5463262654'H?C1&!'2ETER'!A:IRU%N?%:E8,+44*f?"bCZ5,*7D *97'4MYK74'-m6B#T57I/3'4&fPPV:H1Vk#.=#:PM=I=R? %`UiJ7ED6R6 ѵHC3Z!-hAZ0/)"O.4E#,KX)08C2#"/32654&+#"'#"&546;4632#4&#"325#32=#"4>32632#"'732>54'#"&5467&#"#54#"&264'H?C1&!'2ETER'!A:IRU%N?%:E8,+44*f?"b5 0& 4',;R0<9bH&& !3; 6+&2>+>",98  NZx"=%T57I/3'4&fPPV:H1Vk#.=#:PM=I=R? %`Ut.B 0.KT2Kf '0# P&$5 .>"9:PM=I=R).gM<$6TN] %`UP." ,+ '".JD18AK2#"$54732>54&+#"'#"&54;4632#4&#"325#32=#"=IڬVFv;ni?0&(UEQ'#?:IDM@$9F9+2,5)f "?!cQB١k"nyZP5gG+9fPPR>yUl ,;'9QV4I54&+#"'#"&54;4632324&#"325#2>54&"32=#"E#2 1"1CF\VFv;ni?0&(UEQ'#?:IDM@$9B=I9+2,5)fG.#2#3 "?!cU>* "*C1 ١k"nyZP5gG+9fPPR>yUl ,;'QBr9QV4I54&+#"'#"&54;4632#4&#"325#2654.#"2654'#"'32=#"=Ir%2 >*?R3BVFv;ni?0&(UEQ'#?:IDM@$9F9+2,5)f,%D+75%C#& "?!cQBT$.-8&Y=% ١k"nyZP5gG+9fPPR>yUl ,;'9QV4I,#N@,5_F:D=?V90I8NaH:+Z5:a"':PM=I=R? %`U #&C6%NOK)X_gr}2#"/32654&+#"'#"&546;4632"&547&=4&#"#"&5463232654'4&#"325#32=#"2654&"'2654'H?C1&!'2B TER'!A:IRU%N?%:_*5:B\B-6,#N@,5_F:D=?V90I8NaH:+Z5:a"':PM=I=R? %`Ub-,-%#&C6%NOK )\ckv2#"/32654&+#"'#"&546;4632#"&547&=4&#"#"&5463232654'4&#"325#32=#"2654'#"'2654'#"&547'2654'H?C1&!'2B TER'!A:IRU%N?%:_*6C$ 4H93,#N@,5_F:D=?V90I8NaH:+Z5:a"':PM=I=R? %`U  P." ,4 '!/#&C6%NOM8=IOXc%>73!5654&+#"'#".546;46323235"&54632"54&4&"3265#26=#"I} R) TER'#E-<BN:N?$8*=K$GUF9.CH\( 9V44*'?]'6- 9G!P&4fPP@>.EVk +<&P75!T>7CQ] Xb( -r"9QN73##".547!5654&+#"'#".546;46323235"&54632"54&264&"4&"3265#26=#"I} E/ "*PR) TER'#E-<BN:N?$8*=K$GUF9.CH\( 2##2#9V44*'?]'6- 9G,3A 2!*!P&4fPP@>.EVk +<&P75!T>7CQ] Xb( -r""4""4V9QN73#"&547!5654&+#"'#".546;46323235"&54632"54&2654'#2>54'#"&'4&"3265#26=#"I} )+TzS.tR) TER'#E-<BN:N?$8*=K$GUF9.CH\( &$!$(+3&1E9V44*'?]'6- 9G!>BYW?A#!P&4fPP@>.EVk +<&P75!T>7CQ] Xb( -r"! !X 0%" &4"! 0-9QN73#"&54632&#"327675&=!5>54&##"'#"&546346323235".5463273"544&"265#32=#"#ec >4J/Vk#.=#?J5?*3EXTP/Ig2- w>9QM=H@PTa= $`UM8qv%>73!5654&+#"'#".546;46323235"&546322'654&#"#54&#"#54&#"632#"&54>3263267"54&4&"3265#2654#"26=#"I} R) TER'#E-<BN:N?$8*=K$GUF9.Cs6O`F0' :) ":'*l +/"*2 67D !8FhH\( 9V44*'?J-'6- 9G!P&4fPP@>.EVk +<&P75!T>7CQ] VCm**[3DѶ ++.)&0F53K&21./6Xb( -r"9QN73!5654&+#"'#".546;46323235"&546322#"&547&#"#54&#"#54&#"632#"&54>3263267"54&2654'4&"3265#3254&#"%26=#"I} R) TER'#E-<BN:N?$8*=K$GUF9.CZCZ8(,6G#.:"("9.#,+",*#,4(:.=0$>;$.H\( #5B#9V44*'?.'6- 9G!P&4fPP@>.EVk +<&P75!T>7CQ] eM9BE5Q6 Ӷ-"' .8*&-D75N#330.9Xb( -r"b#)P/5I"+9QN73!5654&+#"'#".546;46323235"&546324>32632632#"'732>54'#"&54>7&#"#54&#"#54&#"632#"&"54&2654'4&"3265#26=#"3254&#"I} R) TER'#E-<BN:N?$8*=K$GUF9.C&/# ?.">:$(=T";9cD)% (=> 4+&2.4,:)!!:.$#2 )"-$)3,H\(  #9V44*'?]'6- -,9G!P&4fPP@>.EVk +<&P75!T>7CQ] B+D&3300L U7Oa %5.J#;G7, !,!+Ҷ")"1 .:(4KXb( -r"a'-) %%9QN73!5654&+#"'#".546;46323235"&54632"54&4&"3265#26=#"4632!7354&'4#"6I} R) TER'#E-<BN:N?$8*=K$GUF9.CH\( 9V44*'?]'6- 9T&-/*2,Am9G!P&4fPP@>.EVk +<&P75!T>7CQ] Xb( -r"9QN73!5654&+#"'#".546;46323235"&54632"54&4&"3265#26=#"4632##"&547#7354&'4#"62654'#I} R) TER'#E-<BN:N?$8*=K$GUF9.CH\( 9V44*'?]'6- 9T&A/1?&o&-/*2,Am.&11%9G!P&4fPP@>.EVk +<&P75!T>7CQ] Xb( -r"9QN73!5654&+#"'#".546;46323235"&54632"54&4&"3265#26=#"4632#".547#7354&'4#"6264&#"2>4'#"&547I} R) TER'#E-<BN:N?$8*=K$GUF9.CH\( 9V44*'?]'6- 9T*3$%3c&-/*2,Am%') )/9G!P&4fPP@>.EVk +<&P75!T>7CQ] Xb( -r"9QN..>").gM<$6TN$P '< ,+ '". M,8=IOXc%>73!5654&+#"'#".546;46323235"&54632"54&4&"3265#26=#"4>32#".54632&#"326=#7354&#'"654&I} R) TER'#E-<BN:N?$8*=K$GUF9.CH\( 9V44*'?]'6- ,-CV38J5B;7N;)#$(30,_(t 9G!P&4fPP@>.EVk +<&P75!T>7CQ] Xb( -r"9QN%$bPB!5?tS[!K)[bju2#"/32654&+#"'#"&546;46322654'7#"&=4&#"#54#"&546326324&#"325#32=#"H?C1&!'2B TER'!A:IRU%N?%:T"*Q^?5/A,,9: LWI57&!7/A&z8,+44*f?"bT57I/3'4&fPPV:H1Vk#.=#=/b$*x?M@2190ѵI .b$-u?O0/A08)2:PM=I=R? %`UK)biq|2#"/32654&+#"'#"&546;46322654'7"&547&=4&#"#54#"&546326324&#"325#32=#"264&#"H?C1&!'2B TER'!A:IRU%N?%:T"*Q^58B\B18,,9: LWI57&!7/A&z8,+44*f?"b#!#$T57I/3'4&fPPV:H1Vk#.=#=/b$*xS'A1??1;! D190ѵI .b$-u?O0/A08)2:PM=I=R? %`Ub-&--%K )fmu2#"/32654&+#"'#"&546;46322654'7#"&547&=4&#"#54#"&546326324&#"325#32=#"2654'#"'2654'#"&547H?C1&!'2B TER'!A:IRU%N?%:T"*Q^6A$ 4H=5,,9: LWI57&!7/A&z8,+44*f?"b  &4)'"0T57I/3'4&fPPV:H1Vk#.=#=/b$*xT&#I.G4F$ B190ѵI .b$-u?O0/A08)2:PM=I=R? %`U  P." ,4 '!/K+)w~2#"/32654&+#"'#"&546;46322>54'7#"&54632&+"32>5#"&'.#"#54#"&54>326324&#"325#32=#"H?C1&!'2B TER'!A:IRU%N?%:G DZ%>;!=S`811*VR+>!:.6."97BNZ /% 5'!60BT8,+44*f?"bT57I/3'4&fPPV:H1Vk#.=# 2"V&LC_-251F:W6ҶH:=Z!+m-B 0/O> Y:PM=I=R? %`UK)AW^fq2#"/32654&+#"'#"&546;46322'654&#"&54&2'654&#"&544&#"325#32=#"H?C1&!'2ETER'!A:IRU%N?%:|L+A7+-8H [|LA$A7+-8H [a8,+44*f?"bT57I/3'4&fPPV:H1Vk#.=#RD$0) !L0;<1V*iEVRD@K !L0;<1V*iEk:PM=I=R? %`UK )Jbiq|2#"/32654&+#"'#"&546;4632#"&547'654&#"&54632%2'654&#"&5464&#"325#32=#"2654&#"H?C1&!'2B TER'!A:IRU%N?%:v*.B./A@A6,-8H [V?>L*>L*(@6,-8I [V+8,+44*f?"b %!"$T57I/3'4&fPPV:H1Vk#.=# >%1?@0G!L0;<1V*iDWRDGRD.G"K1:>/V*iEV:PM=I=R? %`Ub$.-&K )Lbiq|2#"/32654&+#"'#"&546;4632#"&5467654&#"&5462$2'654&#"&544&#"325#32=#"2654''2654'#"&547H?C1&!'2B TER'!A:IRU%N?%:k.3$ 4H4@7+-8H [W|L|LA$A6,-8H [8,+44*f?"b#&4)'"0T57I/3'4&fPPV:H1Vk#.=# F(.G4/9 !M0;<1V*iEVRDHRD@K !L0;<1V*iEk:PM=I=R? %`U # P." ,4 '!/M6/;G2!3##"&547#5654&#"632#"&5462>54&"%2654&#"7^VS&%A31C&ebI)A$ ,=2CB6>K#2#:!)' *&zdkXG"41CC13#JtPi"/>)HS<:HeS~ ""+.%#0-$'.M/<NZ2!3##"&547#5654&#"632#"&5462654&#"2654'#"&'%2654&#"7^VS/.U<=S1ebI)A$ ,=2CB6>K%$,64%".ES!)' *&zdkXG%BDWTBD(JtPi"/>)HS<:HeS~X9)$ (2( 0-.%#0-$'.M <H233#"&54632&#"3265!5654&#">32#"&5462654&#".cSS/YDht^IHG"$}W"aBa_I(A% +!4B6>AM%"'"((†V;8J;,# &#[cHjQp".=)+\31PeTsn8%2.#9I_>2#!"3!!"&5463!2654&#"#"&546732654&5466O(59V9 0;1:G]A4"3VJRhQ<2F& $<Y'?B#`JP(H:+#:tYE\GN$HVmXMf YC$: 9?5?OIbK2#!"3!!"&5463!254&+532654&#"#"&54>7326='546*D' AAcO90;294}($46/)[FOj 2)3E /%,4`& 9#F;I$H:+#:T"0$+ !7<'TGYlZ-L,Z?-B =4W:FH72#"54632&#"32654&#"#"&54>732=4>\snWmK(.$4 J=[M§T"" ")hMh`2JC5>1K`#/QAM@b%#".54632.#"32>5#"#"&54732=4>322'654&#"#54#"&546326ɤAL4]xD' O;?XZCAe='}%/ZCUe|fI54&#"#"&547326=462'654&#"#"&54732=46N_ =-$3 J6%<ZCUe|42I<%8a}5?bP-";;/8DUD-%9Cu_9KC6w-%Y1>e*.=RCi1)P3@Q64AMX+e2'>54&#"#"&547326=462+"3!!"&46;2654&#"#"&546732654&546N_ =-$3 J6%<ZCUe|42I<%8at$5 8&$$H (( -<)"6>,4G.1#.2"&<u_9KC654&#"#"&547326=462+"3!!"&546;254&+532654#"#"&5467326='46N_ =-$3 J6%<ZCUe|42I<%8as@:((@6$$Q '' Q D8;05F1."/ %?u_9KC654&#"#"&547326=462#"5432&#"32654&#"#"&546732=46N_ =-$3 J6%<ZCUe|42I<%8ae;N{fE6%5LQOa1';<+7E*5!' /(:Cu_9KC654'#2>54&'#".=wXS+7V= +$7vJM&7/Ue|42I<'6RCSBT#c*%&0 ("83%!,  *[nG+H>U8#G,UB,D!{fFSLSdU.SSdFVF6* [+( 76!-"  #MAMU%4632!!3#".54>32&#"326=!5#54#"#"&547326=463237"!5&wXS \b7P?`F6B'iO:z[JM&7/Ue|42I<'6RCSBT#[nGvv &" VXUB,D!{fFSLSdU.SSdFVF6IC2#"/32654&+532654&#"#".54>732?> 2L%LRbJ%$ 1#;3)#".(>",A(<377! =+'5G5a#9:,& CO732?>264&" 2L%LR8:A3"2  1#;3)#".(>",A(<377! =+'5G5a#9:N4""4",& CO@&"C1C+! ' <%+&8,2)KYK,C!/\?7G@9?+Ma;9Q)"4""4IKYk2#"&547/32654&+532654&#"#".54>732?>2654'+2654'#"&' 2L%LRCBU<=S0 1#;3)#".(>",A(<377! =+'5G5a#9:: +72'$.E,& COG&$PDWUAB)<%+&8,2)KYK,C!/\?7G@9?+Ma;9Q)X:($ $6) 2+HDL#".5432&#"32654&+532654&#"#"&54>7326=4>329/y<@]5D.W-"=Q9GVC6&&-9/60LZBSg >.$4 J=4'$1K`KI77P)MHk#"'#"&54>54&#"##532654&#"#"&54>7326=4>323265332>54&'u;A+4'I2T>8H)2)"& %& &:L=GW+&(D(! 0 5617!2" 1(C;3%J1LaHDs#"&547&'#"&54>54&#"##532654&#"#"&54>7326=4>323265332>54&'2654&+"u;AGH 1"1C4&T>8H)2)"& %& &:L=GW+&(D(! 0 56* !IoDO "*C1$871)#*% BMOL_z`3W9# eQ/F!@JI3L'>17!2" 1(C;3%J1La* Hp}"&547&'#"&54>54&#"##532654&#"#"&54>7326=4>323265332>54&'2654'+2654'#"&'u;AYWTzS7%T>8H)2)"& %& &:L=GW+&(D(! 0 5617!2" 1(C;3%J1La( X9)" '3( #. Ns#".54632&#"3265#"'#"54>54#"+532654#"#".546732676323265332>54'D35eN8C/mP'U(3mI$eP1B[4j(1(H4/I'& ?:1G F:k 2"') @O7- "P3BL'!%6 k@tlek1" '" vk1HTY0*)3QttQ5N?H'Wz.9&Xe90H,%#1'D1<)=2tSL(|h%3254'7#"$54732>7#&'#"&54>54+5;254&#"#".546732>763232653!'k~b `Q_/ \5i6P)0)HG$6*O<1G F:k*" %%)N;P7/['P5@M*C9OvleRw6$FT)00*EpdMi6O>H'Wz.D Ja{"B;.H/"A"/(DL}u~#"&547#"$54732>7#&'#"&54>54+5;254&#"#".546732>7632326533254'7264&#"&9*" 0Fb `Q_/ \5i6P)0)HG$6*O<1G F:k*" %%)N;P7/['P5@M!'k~2""$&>."3 B4HeRw6$FT)00*EpdMi6O>H'Wz.D Ja{"B;.H/"A"/(D*C9O#2"!4L|r%3254'7"&547#"$54732>7#&'#"&54>54+5;254&#"#".546732>7632326532654.'#2654&'#".=!'k~:@U|Tsyb `Q_/ \5i6P)0)HG$6*O<1G F:k*" %%)N;P7/['P5@M/.&A+7'#8'# $':*C9Os V1=VU>+eRw6$FT)00*EpdMi6O>H'Wz.D Ja{"B;.H/"A"/(Dr y:( 5 6& & +7H=2'>54.#"#4&#"#"&5467326=4626 Pw :*"/ 0(!2S9+-CVEOjR/#1 /(#4h8;ńe3D?7<*2L%5=D .@KaO`}c\u6<,2L%?KMRg67G<9E2#"&547&#"#4&#"#"&54>7326=463262654&'=rI:4`k27CHbTa4632632#"'7327654&'#"&54>7.#"#4.#"#"&54>732652654'PbO\8G^I[WMLg;8('X=?7+M@7Q E0 H5/IS& )C\EPd ;*#1-# %;O2%3!0)ET77sLpML*JIa?R -:[mUF4?-)08:":CkK_|d3HB6<,5N#ISBDF& 7&1?F+72!5>54&#"#"&54>732654&5&546354.'.my^^)!+?bGPa ;*m@2.9}KF.%)hNO'-@2\Rh|f4F@7J]O? NaDs;*>)F;6BJ2##"&547#5>54&#"#"&54>732654&5&546354.'264&".m!!A31C!^^)!+?bGPa ;*m@2.9}KF.%)4""4"h /0DC1/ NO'-@2\Rh|f4F@7J]O? NaDs;*>)"4""4F6BOa2##"&547#5>54&#"#"&54>732654&5&546354.'2654&#"2654'#"&'.m.,U<=S/^^)!+?bGPa ;*m@2.9}KF.%)%$,64%".Eh&?DWTBD&NO'-@2\Rh|f4F@7J]O? NaDs;*>)3X9)$ (2( 2+GGJ52#".54732654&#"#"&5467326=463J&\tr[G#@D7*=`DPb<8"07B6+8c-JK'jrqjhXqżM_9,BYucH#r@F\<0oL_GK?J#"&=#".54732654&#"#"&5467326=4632264&#"%9A31CJTr[G#@D7*=`DPb<8"07B6+8cI3J&s##("1>.0DC1 qjhXqżM_9,BYucH#r@F\<0oL_-JK'"4"#"GLBNa"&547#".54732654&#"#"&5467326=46322654&#"2654'#"&'%.TzS 4;r[G#@D7*=`DPb<8"07B6+8cI3J&DY&%'%*85$1 *(U 8%AZUAqjhXqżM_9,BYucH#r@F\<0oL_-JK'UX9)" '3 # #. M+S\2'>54&#"#"&547326=46#"&=4&#"#"&5463232654'2654'N_ =-$3 J6%<ZCUe|42I<%8a*C4/>,#N@,5`E:D=?V90I8NaH:+Z5:a"#&C6'LOM+[en2'>54&#"#"&547326=46#"&547&=4&#"#"&5463232654'2654&"'2654'N_ =-$3 J6%<ZCUe|42I<%8a*5:B./A-6,#N@,5`E:D=?V90I8NaH:+Z5:a"f&.-#&C6'LOM+^l2'>54&#"#"&547326=46#"&547&=4&#"#"&5463232654'2654'#"'2654'#"&547'2654'N_ =-$3 J6%<ZCUe|42I<%8a*6C$ 4H93,#N@,5`E:D=?V90I8NaH:+Z5:a"   P." ,4 '!#&C6'LOL;O19A%4632!!3##"&547!5#5654&#"&5463237"!5&264&"wXS A31C TI7(+4,;UEF]$vBT#s4""4"[nG#.1CD0.#,H.9B76#2XHYYJ4'VF6"4""4LI08EW%4632!!3##"&547!5#5654&#"&5463237"!5&2654&#"2654'#"&'wXS,.T=>R1I7(+4,;UEF]$vBT#\%%+72'1 E[nG&ZUAD(,H.9B76#2XHYYJ4'VF6X9)$ %5"! 2+HxHO23467632!!3#"&54>32&#"325!5#5654.#"&546"!4 $1(#-0J8O1 SF'@@ WQ#L02DU*I&2D8Dc7OC("<&3(Mh"&.LQ9L.&+IB3= 2XHX*]@6LG@`h%4632!!3#"&54632.#"3276=!5#5654&#"&5463232'654&#"#54#"&546326"!5&wXSƐ_z}_xD' Q;QFWFjKLI7(+4,;UEF]$vD% #HBT#[n3{L+6GB (:$/HIf,H.9B76#2XHYYJ4'$% ;;% % VF6LG&.T%4632!!3!5#5654&#"&5463237"!5&2'654&#"#54&#"&546326wXSI7(+4,;UEF]$vBT#s6H)?(. 9'(1KUJ;7&%[nG,H.9B76#2XHYYJ4'VF6UWB$-) *Z+Fѵ&!A0\#/gAZ10LG&.R\%4632!!3!5#5654&#"&5463237"!5&2#"&547&#"#54#"&5463262654'wXSI7(+4,;UEF]$vBT#YCZ6+*7D+97'4MYJ86%/k 6B$[nG,H.9B76#2XHYYJ4'VF6UgL7ED6R6 ѵHC3Z!-hAZ0/)"O.4E$+LXG&.jv%4632!!3!5#5654&#"&5463237"!5&4>32632#"'732>54'#"&5467&#"#54#"&2654'wXSI7(+4,;UEF]$vBT# 0%5&,;R0<9_K&& (: ; 6+&2>+>",98  NZx"$%[nG,H.9B76#2XHYYJ4'VF6.B 0.KT2Ih ':0P&"!4Og&aDZ-SKxӊ$)# I@.1<5C 45*<)[D2+(R_F>'FP9&?_=7V9s +J-9;1F 0Y-C!)236IrKT`23432!!3#"&547#"$&54673 =!5#5654&#"&54>"!42654&#"Og&aDZ-SL3 2"4Bǭ$)# I@.1<5C 45*<)f2""[D2+(R_F>bB8- #*F0 )?_=7V9s +J-9;1F 0Y-C!)236!!!6IIRau23432!!3#"&547#"$&54673 =!5#5654&#"&54>"!42654.'#2654&'#"&=Og&aDZ-Sw67U>=Uy$)# I@.1<5C 45*<)3.A+7'#8+-/)9[D2+(R_F>|GQ.>UU>-$?_=7V9s +J-9;1F 0Y-C!)236  y:( 5 588 )9L;+HP[2#".547&/3254&+532654&#"#4&#"632#"&54>326264&"%2654&#"zGbBJ86A3"2   8U29'$.717/ASS,-?1AD93262654'+2654'#"&'%2654&#"zGbBJ=FTzS/ 8U29'$.717/ASS,-?1AD932632#4&#"3265#';54#"26=#"v=J(# #'%(/ %/! !?/ '. B.0H)I@\D7.$:5*.76+$?'H&"cI<%9 /F!28X0 1#" :'I)-" "PMkS9L>GI>SdS  )'c%,4UT)H5<DNY%#"/324+5324+#"'#"&547&54>3263232%4&#"3265#';54#"32=#"$>1:H:H'20P)#?:IBD .(G%OEV78,+44*'?æ9)$?4?"b##* ! ^"FD`.PPR>P@ 2 PPnSD^:PM=H@PTal*'c! $`UHdAHOZe"3!!"&5463!254+53254+#"'#"&547&54>3263232#4&#"325#'";5432=#"8S1;<0}6*/EZ;P)#?8KBD96G%O%:@|/5P;|7-+44*f_.$"$?"b 'B1()9:0(-dWCCC6D5%0 CC%4>,*,9%1C?5<4E!S%QGM:@JU^2#"&54632&#"32654&+#"'#"&547&54>32632#4&"';54#"32>5#32=#"nE]Dw\[B(0>"^T+r5,UEP)#?:IBD .(G%O.A E9V49)$?.5)&1(?"br[},#.m@Ue|PPR>P@ 2 PP/I29QN32#"&546326326322654&+53254'$264&#"+,SE(, AH(/0**%.41ES@KF:K ;(6]2*"L:\4% .!/=$ 9Fa948dB'yF^ + &D@.32>&& % ?$9E:!L 4211/$-E'>5$F #-^`?s" !/<.)M;!3bPNMF4?) '.7;!h;=L-H1.HL;oer%#"&547&/3254&+532654&#"#4&#"#"&5467&#">32#"&546326326322654&'%2654&+53254'$264&#"+,42A31C AH(/0**%.41ES@KF:K ;(6]2*"L:\4% .!/=$ 9Fa948dB'yF^4"& = + &D@.32>&& % ?$A"!?0DC1- :!L 4211/$-E'>5$F #-^`?s" !/<.)M;!3bPNMF4?v" ) '.7;!h;=L-H1.HL{dn%"&547&/3254&+532654&#"#4&#"#"&5467&#">32#"&546326326322654'#2>54'#"&'%2654&+53254'$264&#"+,;GS|R8 AH(/0**%.41ES@KF:K ;(6]2*"L:\4% .!/=$ 9Fa948dB'yF^.)(C&0 5$"./B + &D@.32>&& % ?$D##TCXV@I):!L 4211/$-E'>5$F #-^`?s" !/<.)M;!3bPNMF4?% $v+'  '3) C) '.7;!h;=L-H1.HJ7)1233##"&547!532654&#"#&54>264&"=CQ7S"$B21C$4+7$)#* + 974""4"(R>I-G"3/ED03""?/"80! $. S#2##2J)5H233##"&547!532654&#"#&54>2654&#"2>54'#"&'=CQ7S,0S>=S2]+7$)#* + 9.%C&0 3&1 /(R>I-G&BCXUAD)"?/"80! $. mw+(  %5"! CJ9%-233!5>7!532654&#"#&54>5#=CQ7R<9[8 C+7$)#* + 9oJ&#(R>I- .9."?/"80! $. 7):Jz3;F233##"&547!5>7!532654&#"#&54>5#264&#"=CQ7R!! .B!9[8 C+7$)#* + 9oJ&##!#$(R>I-!.*?1.! .9."?/"80! $. 7):-&--%Ja4<G\233##".547!5>7!532654&#"#&54>5#2654'#2654'#"&547=CQ7R"+-# $5 +9[8 C+7$)#* + 9oJ&#"&4)+1(R>I-%8$5 -# 7& .9."?/"80! $. 7):z P." *)  '$,JR\233!532654&#"#&54>2#"&547&#"!532654#"#&546323&54>2654'=CQ7Sr+7$)#* + 9.+B5,%2H4@>0 0(*7r&Di%B(R>I-G"?/"80! $. (:2=J:.V< J5M' '; (1;)*5E#>3(.I5@ )Jjnz233!532654&#"#&54>#!"3!!"&5463!2654'#"&5467&#"!532654&#"#&546323&54632'3254'=CQ7Sr+7$)#* + 9@4B$$5&&0>> 1)$/<'+0B>c#,%'7o%OI-G"?/"80! $. 3D&  A-B 2<3$,3>1A!.  &-!%.6:F? )%I$Jju233!532654&#"#&54>46322#!"3!!"&5463!254#5254&##"&547&#"!532654&#"#&546323&2654'=CQ7Sr+7$)#* + 99MI-G"?/"80! $. L;G-)/)'!!6&!'3?0)S7)C -  ',F .%'2F#J4u233!532654&#"#&54>4632#"&54632&#"32>54&'#".5467&#"!532654&"#&546323&2654'=CQ7Sr+7$)#* + 9IQAN(0BkV1``(51%#7A+@ #4+#:*/!2 #n *3 )6 r(V(R>I-G"?/"80! $. /CYK T@Y}  '@A"H '&.& #G<  -'4*)&8-5%& I3J}ir233!532654&#"#&54>4>32#"&54732654'#"&547&#"!53264&#"#&546323&73254=CQ7Sr+7$)#* + 9 .@,,u@9zg. *$K ( .K "*Z0$'(R>I-G"?/"80! $. N %.>E)UohO7 ;?\riM22B3%O.+E!,& +.!$/^*=I%Jt}233!532654&#"#&54>#"&547#"&54732654'#"&547&"!53264&#"#&546323&54>32'32542654&+=CQ7Sr+7$)#* + 9-:(G0'@9zh. *#K<( .K "*Z' @+-w+$' (  (R>I-G"?/"80! $. .)+702 gO7 ;?\riM10D3%O,,D",& +.!",9%6 >E)M.=I"" "J{233!532654&#"#&54>4>32#".547#"&54732>54'#"&547&"!53264&#"#&546323&732544'326'"&5732654'=CQ7Sr+7$)#* + 9' @+-J B2!2 "@9z5I;*. *#K<( .K "*Z+$'!- &:&)-$21(R>I-G"?/"80! $. N%6 >E)S6 %+?& hO7 ;?\r&D+10D3%O,,D",& +.!",a.=I" ; :.";H[i"3!!"&54>3!2654.'#"&54>7&#"!532654&#"#&546323&547632632#'2>54'!$-,<$ O_$/ &O;?N2##/J72_#,("#, +H;=U2<@?Z\Cgf{% &&+0GJ:)* iN)B% AIVweL+I. =;Lx;">-(5/$3!2>54&+532>54&+#"&54>7&#"!532654&"#&546323&54>3262654'^{HJP:#*.+$),- ) TC"S<9K"7+%<5L#_"-(D- +H;AQ2< .O1g=p"*@G1{PC@(C4GI 0% & (%7#! ,4ATOp^A.N0$1G8x;">-*3.%=IY=D,Ti4A5$JUEK4^71@L1_m%4632#".54>32&#"32>54.'#".54>7&#"!532654&#"#&546323&2654'߂cz@Ji `e4K@SM99+#[f'7V4" +QD&7 E3$J5M#8+8*"#* + P3>W2>%#0),ir{d %)>TO(,8. 9Zy':-+>090F75m"U #11% E:O?A8VDM:;/.(JKvPZ%4>32#"$&547327654'#"&5467&#"!532654&#"#&546323&2654'j&T9u4MR䊜s 71$䬅UL92BQ9*5C-(U#7-& * 6?9K*2(TCS9p JgYo~g8cCY`Y%,)Y{YGL_2?8H: &J(,%0#2NR=@6RAL8B)J2oKy]gs#"&547#"$&547327654'#"&5467&#"!532654&#"#&546323&54>32%2654'2654&#"#++*" 4B}s 71$䬅UL92BQ9*5C-(U#7-& * 6?9K*2&T9u4MR(T "("M @%"3 F0 6o~g8cCY`Y%,)Y{YGL_2?8H: &J(,%0#2NR=@6RdCS9p Js-L8B)J2o$"""Kgz[ep#"&547#"$&547327654'#"&5467&#"!532654&#"#&546323&54>32%2654'2654.'2654&'#"&=2PW<=Ukys 71$䬅UL92BQ9*5C-(U#7-& * 6?9K*2&T9u4MR(T.:V7'#8+-/)tO=@SU>'&o~g8cCY`Y%,)Y{YGL_2?8H: &J(,%0#2NR=@6RdCS9p JKL8B)J2o.y:( 5 588 (H0(nw%2#!"3!!"&5463!2654'#"&547'#".54;2654&#"#54&#"632#"&54>32>32+"32>2654#"324#"G^SB*9g/<:1;L^8*)7 vp.14@M<03'S?3>! (&"-7,?7p0Y -C jzD:W).3Y**B61B ;.#$,.%?$(1-" B0 -!?4->D? O/7% 9 #8,(>7&7-:_4,>>//.f%M%2#".54732>54#5254&#"#"&547'#"&54>;2654&#"#54&#"632#"&54>32>32+"32>2654#"324#"E[**=VkNCjD\"S?bz>UmJEN9 9)2. $'D@",PGW2AVC)5$S?4=!(%.#*9,A5p0X AXv6G2$#@8@e.3m**?2% (/K) Fjn}| qkb\< <)6(3!#.>>""1H7.:I63,DFO.8% 8(77-)> 7N=M[(!0 .. !//*4fM ?qz%2#".54632&#"32654&'#"&547'".546;2654&#"#54&#"632#"&54>32>32+"32762654#"324#"yWo;F0kWpC8.K4D[#p/-6,)7 B3 ap>O2:4&S?3>!(&.#.6,?7p0Y CUnY'9 +#4+.3O**aLc{"#,'nX-L$(1,#H7'! .KH4%=:< @.8% 9(77-(>7T=FX"AA //.fM@x%2#".54632.#"32654.'#"&547'#".54>;2654&#"#54&#"632#"&54>32>32+"32762'654&#"#54#"&54632672654#"324#"y8Q+nfAL4]yC' P;+7$[Br! 6,*6 g: #+(BC$;R<07"S?3>!(&.#-7,?7o1Y @XpWH=-!6&% #"Q.3O**57~VO 2!6GB '$&-m$6 $(1.!I6 /"3 E7,6;W@.8% 9(79+(>7Q@GW5!AA& + ;% % //.fMl%2"&547'#"&546;2>54#"#54&#"632#"'#"&54;2>54&#"#54&#"632#"&54>32>32+";2>7>32>32#"'#"32?62654#"324#"324#"*:8T6 ,%7.Q+6H}i@>f2'SG,=! (%.#0sOUK(=7/ZS?3>!(&.#.6,?7o1Y .C {fzu9QmE-@2p0X *A ~#?`R@:fA !.3F** ]**5'(1.! 2(5?7#bBA O7/% 8(7U\D<(^"1*'0 S.8% 9(77-(>7$4*GV843O\*,> 7 /(XC,)#://.%ffJN(%2#!"3!!"5463!254'#"&547#"&546;2>54#"#4'&#"632#"'#"&54;2>54#"#54.#"632#"&54>32>32+"3267654632>32+"32>2654#"3254#"3254#">SZDX//D`7)n=0(&0 a^/8EsX54WMLH4 $#4)izqq44WLM '6 # *(1(:/a+ P&: A,o_y?[Fa+O2HPJ0&+##$$;1;F!5J$,Z1#(2,$ C-4+:F2$_|3]=$94,[[?3Cb4&_}n $#! )78-*? 5 /(@+c_>T5 ' [?,==,X*01101LD22#!"3!!"&5463!254#52654&##"&547#".54;2>54#"#4'&#"632#"'#"&54;2>54#""#*#"#45<54&#"632#"&54>32>32+'"3>54>32>2654#"3254#""3267"&%3254#"H*/ (-%4% %01$&) 21'&0 UM / %-VLG5 # *(>`Kzx45WM  +85 # *)1(90a+L&: yzEDEYU:'81a+O'*""#+8A-%/)7## 8%q D*)9- ((!!'3-# A." +_,\=$#! (8OP73E`4&_4  CD$$! )79,*> 5 /(6'0AK8(>5X&,, 01(.m "01"L0%2!".54632&#"32>54'#"&547#"&54;2>54#"#4'&#"632#"'#"'&54;2>54#"#54&#"632#"&54>32>32+"32>7>32>32+"32$2654#"324#"324#"15 5A-jTRC7(4mF)HE)D1'%1 4rB&,Sȟ#5 WMMH5 &!4)ft%44VML*84 # *(1'80a+N2ƱzST_a&."`,L'; Ų/=,"'+#### >,") -W=F##(2,$E4($ _|\=$94,S_B9+]4&_42DC$#! )79,)=5 ' 3$Wx6#75!0'$v --+#b"bL2'654&#"#"'&5467&#"#4&#"632#".547!#"&546;2654&#"#54&#"632#"&54>32>32+";2>?>32>3262654'2654&#"%324#"j6'1YfU#nWA@)$9/*.CyZy ]zRl>6E9p% 3*,2+i_H<<))$;;5,+:T0$6::O7/% 8 #9+(<5!K=If%0K0*0P3 qK6nJPo3G')&1-$=%fJ%#".5467'654&#"#".5467&#"#4&#"632#"&547+"&46;2>54&#"#54&#"632#"&54>32>32+";2>?>32>326322654'2654&#"%2654&#"324#">-1" "*0 WeQ"lV?(< :,(-;Q:&N_ +6o-E2DRq]$,-#|?nDA pVK1F88B7g(3Ub54"+$"<$!&"(#F**D'- 2"+6 BvYu ZxPj-A47p" 1*%1*h[F"3)C;W^ :U*4V866#57:M&=$ &(&)8*': 3 I;Ja*&=#+1YO,# ezH6kIPk2E$!""7$1,#; "!dJ%#".5467654&#"#".5467&#"#4&#"632#"&547+"&46;2>54&#"#54&#"632#"&54>32>32+";2>?>32>326322654'2654&#"2>54'#"&'%2654&#"324#">%&S<*> O3JeQ"lV?(< :,(-;Q:&N_ +6o-E2DRq]$,-#|?nDA pVK1F88B7g(3Ub5*B)1%# #-8g$!&"(#F**?(54.#"#54&#"632#"&54632632+"32?6322654#"324#"i!]Q.$:)*6 !i+ #+hU,2"*)4'SA3:#(%/"*9hR`;1UFUkS0.'2KQDLb.4P** f묊~"mviZx($%1H,( D+ 05A 7$* KC@,;& 8(77-AN57K>CS ' !>"N@//.f%Fx%2#"&547#"$547327654&##"&547'#".546;2>54.#"#54&#"632#"&54632632+"32?62654#"264&+324#")LbOG 2"4BTbi!]Q.$:)*6 !i+ #+hU,2"*)4'SA3:#(%/"*9hR`;1UFUkS0.'2KQ .4!! #**N?Q@N #*F0묊~"mviZx($%1H,( D+ 05A 7$* KC@,;& 8(77-AN57K>CS ' !>"//.#2"#Df%F?w%2"&547#"$547327654&##"&547'#".546;2>54.#"#54&#"632#"&54632632+"32?62654#"324#"2654&'"2654&'#"&=)LbA33:U|TLGi!]Q.$:)*6 !i+ #+hU,2"*)4'SA3:#(%/"*9hR`;1UFUkS0.'2KQ .4P**.*A(:'#83%/):N?4X R/=VU>1& 묊~"mviZx($%1H,( D+ 05A 7$* KC@,;& 8(77-AN57K>CS ' !>"//.f% #y8* 5 5!-8 ,6LEWco#".547&'#"&=4.#"#".5467&#"&546326323265332654.'264&+%2654'X*9 GEE/ "*E0.RB_:-(lUD)< 9/-M^^!kwb?4.MJX<)"?S2):N 3#4""U)5We(@D3sD K3A 2!  ALaLa :2ZzRl.B6;n% nW~?Mj`M]LD,#D4>iM-94"4"K6oIPo #,LUbt#"&547&'#"&=4.#"#".5467&#"&546326323265332654.'2654'2654'#"&'%2654'X*9 VXU<=S,4'.RB_:-(lUD)< 9/-M^^!kwb?4.MJX<)"?S2):N 3#) %)92'#/EN)5We(@D3B`DWW?A'3LaLa :2ZzRl.B6;n% nW~?Mj`M]LD,#D4>iM-94% X8*$ %5) 2+K6oIPo #,Mht#".54>32&#"327#"'#".5&4.'&#"#".5467&#"&54632632265332>54'2654'y$AKe58CDZa'6SO,? Y()5We(&zCnz<!(%KK&90T"3(ZzRl-B67q& ,@7HU_RH"R+#Dq+A3YfK6oIPo #,Lo%#".54632.#"32>54'#"'#"&='.#"#".5467&#"&546326323265332654'72'654&#"#54#"&546326%2654',Fa_4AL4]zB' P;@WZCAg9% 5LU9.RD]<5&lXA)< 9/+N]^!kwb?4.M.C"fFS2)>Ju';&% #)5We(na\; 2!7FB '/#%./AR;8MLbG4>7'&'#".'4&#"#".5467&#"&546326323265332>54&'2654'r%.17'502HQQ$N$-I%8 *@# ]N:%5 /*&ATU _jU7.1;?NU#-LD'8 4+#.KV"AD'pzHh=7`B.EH&9/nZxSl.C67n' u?HY`WC"R*"Do.D74aJ5lHNm #+Pkw#"&=#"$&546732>7'&'#".'4&#"#".5467&#"&546326323265332>54&'72654&#"%2654'~,3F/0F17'502HQQ$N$-I%8 *@# ]N:%5 /*&ATU _jU7.1;?NU#-LD'8 4+ %.s ""#.KV" B(4BA5SiǀHh=7`B.EH&9/nZxSl.C67n' u?HY`WC"R*"Do.D74a AD'$"*"J5lHNm #+Pn|#"&547#"$&546732>7'&'#".'4&#"#".5467&#"&546326323265332>54&'72654&'"2654&'#"&=2654'V(; U>=U 17'502HQQ$N$-I%8 *@# ]N:%5 /*&ATU _jU7.1;?NU#-LD'8 4+ %. #(:,8+-/)8#.KV"B%2(>UU>32#"&54632>326322654'264&"%2654&#"))D01C2GpU$mX@)< 9/*0CS-$ -F%/!4B6>AMrk-J)>58Cky&3Wa5$2##2#%%"'"(( =%3AD0.6 PWZ{ [|Rl.C5:q# 5(,(#.?&)\31PeTxM#*l]=J7oILs3G"4""48%2.#9MSPZez2"&54>7654&#"#".5467&#"#4.#">32#"&54632>3262654'2654&#"2>54'#"&'%2654&#"XkZ\S|R!1%FpU$mX@)< 9/*0CS-$ -F%/!4B6>AMrk-J)>58K&3Wa5,%%C*3&1/6%"'"((†laZaCXV@); PWZ{ [|Rl.C5:q# 5(,(#.?&)\31PeTxM#*tJ7oILs3Gu" " &5$ F8%2.#9EDO[233!53654&#""&547&#"#4&#">32#"&54763263262654'2654&#"Vj_SןjJ8NNh@M&/SI63L&.!/F5>@OJH`_F$V.#)? )F",*O'&!)(}_}EG":KgInCRNCsA 2(,(6.I8)SA0LlOqRNON8/a-U*.:P/%$/.#9E;OWbn233##"&547!53654&#""&547&#"#4&#">32#"&5476326326264&"%2654'2654&#"Vj_S$(A31C)jJ8NNh@M&/SI63L&.!/F5>@OJH`_F$V.#)74""4" )F",*O'&!)(}_}EG51CC15":KgInCRNCsA 2(,(6.I8)SA0LlOqRNON"4""48/a-U*.:P/%$/.#9EN[ny233#"&547!53654&#""&547&#"#4&#">32#"&54763263262654&#"2654'#"&'2654'2654&#"Vj_S'1TzS3jJ8NNh@M&/SI63L&.!/F5>@OJH`_F$V.#),%$+72'1 *( )F",*O'&!)(}_}EG&CAZTBF(":KgInCRNCsA 2(,(6.I8)SA0LlOqRNONX:($ $6"! #. B8/a-U*.:P/%$/.#9Miu2!3#".54>32&#"326=!53>54&#"#"&547&#"#4&#">32#"&54632>3262654'2654&#"RgZS.IU=N4bVlB=j"\H6u+0D7" N 8%2?Z(0SJ2-F%+!4B6>AMrh0 ;+8()G#*@9 #L%"'"((vXr^ /5& $ !&_N"%e2LeNf-6%M;bT1),(5#.?&+\31PeT{M59.T4 U+*+P8%2.#9P=er}2#"'&547&#"!53>54&#"#"&547&#"#4&#"632#".54632>326323&5462>54&'%2654'2654&#"w/J) H;5"`.C 2%#,;/ C 3#,9N(#M>-DV'6- 8/$5 |e[*-2"#/F^L6pX'$73,"""*;H6Zy7.:Z/E74l &c6HeMe,6%M7&#"!53>54&#"#"&547&#"#4&#"632#".54632>326323&547632632#!"3!!"&54>3!2654.'#"&%2654'2654&#"%2>54'[45#/J72_޴'(;/ C 3#,9N(#M>-DV'6- 8/$5 |e[*-2"#/F^L<@?Z\Cgf5!$K,<$ O_$/ &N<=P$73,"""6% &&+15X( =;Lx;"$r(HeMe,6%M54&+532>54&+#"&54>7&#"!53>54&#"#"&547&#"#4&#"632#".54632>3263232&54763262654'%2654'2654&#"Y]|HJQ9K).:*),,!) SD"S<9K"-!%<5L#_#,;/ C 3#,9N(#M>-DV'6- 8/$5 |e[*-2"#/F^L3^7<@?Zf> r"*@G1$73,"""PC@(C4GI 0&,< ($7#! +5ATPo^A%C+$$0G9x;&c6HeMe,6%M32&#"32>54&'#".5467&#"!53654&#"#"&547&#"#4&#">32".54632>326323&7327654'2654'2>54&#"qZl9A\r;J4POKF70(OQ(0K. ,'I<"2 EE$8.D +-O;/ C*# .7N(#M>,ES *, 9^<{e[*6$2"#0I[M5&$s$7!& } !"er_ % !)>TM'6_5X|(:.=k 5/E7)q &LmIeMf,@ N32#"&547'#".54>;2654#"#54&#"#"&547&#"#4&#">32#"&54632>3263262654#"%2654'2654&#"L-7%)B'-aHc.*;9*(8 ;E0 "*(BB"2^e3&S?35$(1#0CSJ2-F%.!4B6>AMrk-J);$'3r.-4z**%"'"(( 8' $!)!2%"-&D&#4 B0b9<-@.8 E #9+/&5(,(5#.?&)\31PeTxM#*55\//."??8%2.#9M:)%#!"3!!"&57>3!2654&'#"&547#"&546;2>54#"#54&#"#"&547&#"#4&#">32#"&54632>32632632+"32>322654&#"%2654'2654&#")T4S..5*8)!-H3'8-)7 _g05BwY $-e7"S?35$(1#0CSJ2-F%.!4B6>AMrk-J);$'3r.l-7%XJ-I(.fMh/BZ ! ~**%"'"(( 921%', 7")2'<.6,=J 0!b>T@.8 E #9+/&5(,(5#.?&)\31PfSxM#*55 8'HW%*!%-%I;"??8%2.#9M<%2#!"3!!"&5463!254#5254##"&547#"54>;2>54#"#54&#"#"&547&#"#4&#">32#"&54632>32632632+"32>762654#"%2654'2654&#"fV '2))[)33)%.'P8-)7 -E!A2FV1*> e7"S?35$(1#0CSJ2-F%.!4B6>AMrk-J);$'3r.l-7%]3HP&OGQ.1**%"'"((8&  0%:5$ '$*<$)2'/s.:* b>T@.8 E #9+/&5(,(5#.?&)\31PfSxM#*55 8'GX1'4)4!/*."??8%2.#9MUgs2'654&#"#".5467&#"#4&#"#".547&#"#4&#"632#"&54632632632>3262654'!2>54'2654&#"bl{1WlQ nUD)< 80'3JSF9(k ?+': a(0CSI3-F%-< "*F-@NsSE1VC,2Je:I9=,7N(5We"(X-02) &&!).•eHDt]z ]zOo.B67r% 5? 2#"&54632>32632>3262654'2654&#'%2>54'2654&#"bkN2DbC.)? )E+!nTE(< 80'3JSF9+k$4+': a*2ASI3Qa .B2 0!AMrl,K)D+:Bi6>1B'4K(5We"4"" ,$. X+21*$#&!).cVW 6.1CD0&@ MP1=2" ]zRl-B77r% 5? 7654.#"#".5467&#"#4&#"#".547&#"#4&#">2#"&54632>32632>3262654'2654&#"2654'#"'%2>54'2654&#"bkW`"+ =T0"F )E+!nTE(< 80'3JSF9+k$4+': a*2ASI3Qa .B2 0!AMrl,K)D+:Bi6>1B'4K(5We",%"D,65%C7$. X+21*$#&!).c]Ze%: W?(: PU1=2" ]zRl-B77r% 5? 54&+"&54>32&#"32654&"6HT>;A3"2 t==o6-.5a:J(O7D5i?L) k4""4"?5J)!E1C+! $!?9 ''F4/.G80)""##K.;N2"&547&'732>54&+"&54>32&#"32654&'#2654'#"&'6HTJKTzS+`1=o6-.5a:J(O7D5i?L) ^$$,63&"/*(?5S'"WAZUA@'49 ''F4/.G80)" !X:($ &4' #. K3"#"&54632&#"32>54/.54632&L@JbM`-IK(IjYDX<-><;/10cl%0r]H=8'MWE5L'.& 0*' 6%] <(FUE5A?+Q%2#"&54632&#"32654'#"&4632&#"32'654#"#465654#"&546326NYmIabK^5Z2EJ5`zi=R`qJ=T$  aOt9/-;62&!,r\HnU:4^J    '   G>4%#"&'532654&+53254&+"&54632&#";27Sa?wi5B9!x/#w:Ip^zG7g@O%e31 8'(B7+)1D*G4BOG70'# /!TG>K%#".547&'532654&+53254&+"&54632&#";22654&'#711A3"1 ~4i5B9!x/#w:Ip^zG7g@O%e31n ( (# 8'/#<1C)" &'7+)1D*G4BOG70'# /!T+ ,#G@;FY%"&547&'532654&+53254&+"&54632&#";22654&"2654'#"&'7HBTzS1c,i5B9!x/#w:Ip^zG7g@O%e31%&$,65$"/*( 8'>$PAZUAD( 7+)1D*G4BOG70'# /!T%X:(" '3' #. Jn,%2#"'&54732654&#"+"54632&#"327GZq\gdTBvAR.5o\|G7g9Zw K7=HRTogOBU^.&"uHUG7/lJEo7E%2#".547&'&54732654&#"+"54632&#"3272654&#GZ67E/ "*abTBvAR.5o\|G7g9Zw ,2#" K7;$!B3A 2!"RSmgOBU^.&"uHUG7/l"! Js5BT%2#"&547.54732654&#"+"54632&#"3272654&'2654'#"&'GZGLU<=S(I`TBvAR.5o\|G7g9Zw $,62'#/EK7E$"WDWUA='A}NgOBU^.&"uHUG7/l !X9)$ $6) 2+MT(4%#".547#"&546322>54&#"264&+0E/ ") _yad1<*bGHa"I2## 4 6-3A 1"{afhcH!H0Id`G3>+"4"M&6H2"&547.5462>54&#"2654&+2654'#"&''d`aTzS"*<.!yQ1<*bGHa"I&! +72'1EhwCeBYW?6' -O2fn!H0Id`G3>+X8*" %5"! 2+MEJR#".547&'#"&=74&#".5463232653327654&'264&"W)8 KE/ "*E12YHa5!(0 6.*; qK7\G-50S(.5*.G)2##2#@D0tE33A 2!" BLePSG>%M354'#"&'W)8 ^\S>=S.5%2YHa5!(0 6.*; qK7\G-50S(.5*.G) &0 3&1 E@D0CbCXU)5LePSG>%M35#"'#".54754#".546323265332654&'N:K`|[oF5c"_Z%@i=)3?e(3T86!S:Op*: gS8CX'6SOBRB1&~E*!*#"$5?2'KK*R9fJyLCC1e3TU`G+#DqcJ7qM@v#"'#"&=74&#".5463232653327654&'2>54'7#"'#"&=74#"&54632326=3W)8 "/:)S92YHa5!(0 6.*; qK7\G-50S(.5*.G)  KV .%7%!:3>7 JZI4,6.#:@D08X1 MLePSG>%M354'7"&547&'#"&=74#"&54632326=3264&+W)8 "/:)S92YHa5!(0 6.*; qK7\G-50S(.5*.G)  KV<=B\B+!:3>7 JZI4,6.#:C#!!$@D08X1 MLePSG>%M354'7#"&547&'#"&=74#"&54632326=32654'"'2654'#"&547W)8 "/:)S92YHa5!(0 6.*; qK7\G-50S(.5*.G)  KV=F$ 4H7!:3>7 JZI4,6.#:2 L4)'"@D08X1 MLePSG>%M3%M3,6'/( . M@~#"'#"&=74&#".5463232653327654&'2"&547&'#"&=4#"&54632326=33267#"&5462654&#"264&#"W)8 "/:)S92YHa5!(0 6.*; qK7\G-50S(.5*.G)F'1C?B\B&# %M3,6'/( . -&--%M@#"'#"&=74&#".5463232653327654&'2#"&547&'#"&=4#"&54632326=33267#"&5462654&#"2654'#"'2654'#"&547W)8 "/:)S92YHa5!(0 6.*; qK7\G-50S(.5*.G)F'1DH$ 4H1" %M3,6'/( .  P." ,4 '!M@HT[#"'#"&=74&#".5463232653327654&'4632!7354&'4#"6W)8 "/:)S92YHa5!(0 6.*; qK7\G-50S(.5*.G)9T&-/*2,Am@D08X1 MLePSG>%M2%M254'#"&547W)8 "/:)S92YHa5!(0 6.*; qK7\G-50S(.5*.G)9T*3 4"4H3c&-/*2,Am", )'"0@D08X1 MLePSG>%M2 $,G4>").gM<$6TN P#!  ,4 '!/M,@bmv#"'#"&=74&#".5463232653327654&'4>32#".54632&#"326=#7354&#'"654&W)8 "/:)S92YHa5!(0 6.*; qK7\G-50S(.5*.G),-CV38J5B;7N;)#$(30,_(t @D08X1 MLePSG>%M2%$bPB!5?tS[!KIfK".547327#"'#"&=4&#".546323265332654'7[ysKi!dEip\22VFe3" (0"G(*: qM7YH.6-S4+8Kj|۷1Mjh7|tck0X[B*vJK`L\J?$I0PgDI4b{TaWNC9C3?cO:`K iXa#".=#".547327#"'#"&=4&#".546323265332654'7264&#"+.C1"2 ysKi!dEip\22VFe3" (0"G(*: qM7YH.6-S4+8Kj|4""' B%1C+! =1Mjh7|tck0X[B*vJK`L\J?$I0PgDI4b{TaWNC9C3?cO:`#2##2KgYfz#"&547#".547327#"'#"&=4&#".546323265332654'72654&#"2654'#"&'"-U<=SsysKi!dEip\22VFe3" (0"G(*: qM7YH.6-S4+8Kj|. C,64%"0 )6 8%DWUA(1Mjh7|tck0X[B*vJK`L\J?$I0PgDI4b{TaWNC9C3?cO:`" v9)" &4)  MFJUa2#".547&'#"&=4&#".54632326533265#"&5462654&#"2>4.#";HQ((E/ "*\D3XIa4"8Mo*; jS//E+6.S!0';_*)1@E=")' &$  $$mWM ?#3A 2! ONiVEKAkO8BG2`'M5HSH;A$5 cr&"R;7K.")1/J1.!6!MJUas2#"&547&'#"&=4&#".54632326533265#"&5462654&#"2654&#"2654'#"&';H"aS>=S&G73XIa4"8Mo*; jS//E+6.S!0';_*)1@E=")' &$ %%%+72'17mW0R7 fCXUA<& @NiVEKAkO8BG2`'M5HSH;A$5 cr&"R;7K.")1/J1X9)$ %5"! %9M\h2#"&54632.#"3265#"'#".5<54#".546323265332>5#".5462654&#"yS8B}[lM=M%!`V+w;Zp,1\!6" S:Op@FgS7EU)5SL9,A! +#3 @G!**!'&q|+!(% i6LL)%( fKxL&|Db7YWZH-%@7D'CD&#4(4K.#;( ,7HA e%2654&#"".5473 7#"'#"&574&#".54632326533265#".54632 +*#%'zPb"]BfE!$`?5XL]2"*/ 1#(.hRBQ /!GSN8FU$E "+C154'#"&54>7&#"#4&#"#4&#"632#".547626326322654'%4&#"326g@4$$3@4$dNA8K >($S?5T?3'5SI5,F$-<2D7+5DJGF6\X6=](B)#6(#,%1 -R%")$%'lu, "2W5u"-6XlSB%6-$E:5@(,(6$/A$IV>4,@M+wPMONJK*! !.RkH:D, 9&-@NKGa_F3Ze0@Ql+# E !K' &%!).0 %/4," 3/) ")5'5@'!,(5$/@$H ?*1LfSuPNOMZZK<$*!&y/H0.#$2H;iq|%2#"&547&/3254/&5463232654&#"#4&#"#4&#"632#"&547632632632#"&#"326264&"%264&#"&3-61A31C?& 1_`=q=8#G D9C[SA3'3SJ5,E$-< "*5>@NKGa_F3Ze0@Ql+# E !K'2##2# &%!).0 0!>0DD0)4," 3/) ")5'5@'!,(5$/@$H ?*1LfSuPNOMZZK<$*!&"4""4/H0.#$2Hht%2"&547&/3254/&5463232654&#"#4&#"#4&#"632#"&547632632632#"&#"3262654'#2654'#"&'%264&#"&3-@=TzS+( 1_`=q=8#G D9C[SA3'3SJ5,E$-< "*5>@NKGa_F3Ze0@Ql+# E !K'.$ %)92'17 &%!).0 6%LBYUA?( 4," 3/) ")5'5@'!,(5$/@$H ?*1LfSuPNOMZZK<$*!&! X9)$ %5"! %9/H0.#$2O+iv%2# $5467!2>54/&546322654&#"#4&#"#4&#"632#"&54632632632#"&#"2654&#"rTXob47*92M[\=q=2)CE1EaSA0)4SH4Pa +>+9 /!6Xrk./Y54/&546322654&#"#4&#"#4&#"632#"&54632632632#"&#"2654&+2654&#"rTXLG 2"4B47*92M[\=q=2)CE1EaSA0)4SH4Pa +>+9 /!6Xrk./Y54/&546322654&#"#4&#"#4&#"632#"&54632632632#"&#"2654&'"#2654&'#".=2654&#"rTXs4;U|T47*92M[\=q=2)CE1EaSA0)4SH4Pa +>+9 /!6Xrk./Y/#!De=9^A-W=. 6(5 $!-3)5@( ,*3i_I<<))UczMM; ["2(<!j #y:( 5 5' & +79$3-$$$LK>J[g74>32632632'654&#"#4&#"#4&#"632#"&2#"&5462>54.#"2654&#"L$8\:i0/Xj/*SN:A 3)+hK;'3S@2&6SS,-> !*E4>LOfcNL`]? '.  & 5ML,(*&%HJ8#OMHJ=Df3U6 ARf-$3B),)5G =*:HjlcOIfcGOh 7$2H89Nr,#'0-$'.LVb%#"'#".=4&#"#4&#"#4&#"632#"&5476326326323265332654'74&#"326bIL2+M-7&.%*M7,!,N<.&="'6,<9.:E>BbC:*WS*'M%,(2"/:*FS>:HlRdRWJKHJ^JrD;*"C3%,(2"/:*FS>:HlRdRWJKHJ^JrD;*"C3<#2# +#$.+#%-L_j%2654'7#"&547&'#".=4&#"#4&#"#4&#"632#"&547632632632326532654&#"2>54'#"&'%2654&#"2AgyUYU<>R9(+M-7&.%*M7,!,N<.&="'6,<9.:E>BbC:*WS*'M%,(2"/:*FS>:HlRdRWJKHJ^JrD;*"C3<v+'  '3#  "+#$.+#%-Qw#".54632&#"32>7#"'#".'&54#"#4&#"#4&#"632#"&546326326323265332654'2654&#"%(4%@aE =<%mQNF0*8O]+?, '4W%-I"7KRL5- !#M>-'= '6/;:.;D{f]**M]*!K0<M#-MC6Jg,!$'#JJ+_h< !*% 9.,!HH", aZ2A ",'4#->%F_1;HgSvKKHH5WV]F*"CnhGlS%($1.!"1Ijmx#"$&5467!2$7#"'#".'&54#"#4&#"#4&#"632#"&546326326323265332>54.'2654&"6B+6%0)$+J+*K"8KQM6-6M>-D^'6&31'9E|e^))M_* K~+;$-MC&7 !# + 4%'%Az{G`HAV9ziW QI"- [Z1B!$,&5rSG==7.fT{JJGGNFK+!Cn+?3>-- %($1-"$/Imy#".'!"$&5467!2$7#"'#".'&54#"#4&#"#4&#"632#"&546326326323265332>54.'7264&#"2654&" %; 1!+9+6%0)$+J+*K"8KQM6-6M>-D^'6&31'9E|e^))M_* K~+;$-MC&7 !# 6Bs !("+ 4%'-=0 "+10{G`HAV9ziW QI"- [Z1B!$,&5rSG==7.fT{JJGGNFK+!Cn+?3>-- %A$0##"%($1-"$/I{n~2#".547!"$&5467!2$7#"'#".'&54#"#4&#"#4&#"632#"&546326326323265332>54.'72654.'2>54&'#".=2654&")5$$5* +$ +6%0)$+J+*K"8KQM6-6M>-D^'6&31'9E|e^))M_* K~+;$-MC&7 !# 6B.:A&0 ("8 +"!, 8+ 4%'_ @V? 8#f{G`HAV9ziW QI"- [Z1B!$,&5rSG==7.fT{JJGGNFK+!Cn+?3>-- %A/y+'85 ""  (:s%($1-"$/K_ky2#"'#".'&54#"#4&#"#4&#"632#".54632632632326533265#".5462654&#"2>54&#"G1K)R8`)&V*?JRM5-!-M>-DV'6- 9/$4 {f^))M^* K1<L2M@35Q!8(49?$#!{!#']m+RQ1II"4(aY1A',&4g]F"3+:G$<;uJJGG5WV[F7;1F]mC>;8F-!:(*6!%/+#$/MIt%#"&547"#"'#".'&54#"#4&#"#4&#"632#".546326326323265332>7#".54>32'2654&#"2654&#"%2654&#"~'= 00B `)&V#7KRM6,7M>-1G '6&307$5 |e^))M^* K2<L4M@3&8 !:- 1'#3 k##"!3&%]+ #''B$z+#:(+4,%($1-D1I|%#"'53264'#"&547&'#".'&54#"#4&#"#4&#"632#".546326326323265332>5#".54>32'2>54&#"2654&#"%2654&#"t2JdK9,$A)8 -#(7Y%$X#7KQM6, !#M>-1G '6- 8/$5 |e^))N^* K~L$.L?4&8 !9, 1'3Ik $" !"#' H:DSA09X )-/$(CJ!-\Z2A ",'45M5G#3+:H%;<zJJGGzF6<0H'AA"C"3+5,^l" <(*6 7$1/ $/K~2#"&54>32&#"32>5#"&'#".'&54#"#4&#"#4&#"632#".5463263263232653325#".5462654&#"2654&#"G$4 ,HqLXlDR.WG1Pqq>b;'6_*L&V"8KRM6,7M>-)>!'6&307$5 {f]**L^*L2<L 1M@3{5- 9@##" z+"#'-LO+UoG(.&% ("%.%!4FA"N("J"- \Z3@!$,'4&2>% G==2Q%;<vKKHH5WW[F7<2E,#4*:F- ;(+4%(%0/ $/LK>s74>32632632'654&#"#4&#"#4&#"632#"&2'654&#"#54&#"#54&#"632#"&546326326%2654&#"2654#"L$8\:i0/Xj/*SN:A 3)+hK;'3S@2&6SS,-> !*E4>Ll6O`F0' :) ":'*k +./"*2fDE 9E C,(*&F-%HJ8#OMHJ=Df3U6 ARf-$3B),)5G =*:HjsVCm**[6AѶ ++.6)&0G4`U21./C,#'0-$'.76LK>{74>32632632'654&#"#4&#"#4&#"632#"&2#"&547&#"#54&#"#54&#"632#"&54>3263262654'2654&#"3254&#"L$8\:i0/Xj/*SN:A 3)+hK;'3S@2&6SS,-> !*E4>LICZ5+,6G#.:"("9.#,+!-$),4(:.=0$>;$0j"5B$,(*& .%HJ8#OMHJ=Df3U6 ARf-$3B),)5G =*:HjteM7DE5Q6 Ӷ-"' .:( 3E65N#330.#)Q.5I"+G,#'0-$'.4LYY>74>32632632'654&#"#4&#"#4&#"632#"&4>32632632#"'732>54'#"&54>7&#"#54&#"#54&#"632#"&2654'2654&#"3254&#"L$8\:i0/Xj/*SN:A 3)+hK;'3S@2&6SS,-> !*E4>L&/# ?.">:$(=T";9cD)% (=> 4+&2.4,:)! :.$#2 )!.$)3,W #;,(*&,%HJ8#OMHJ=Df3U6 ARf-$3B),)5G =*:Hj+D&3300L U7Oa %5.J#;G7, !,!+Ҷ")"1 .:(4K '-) %$H,#'0-$'.(5 M1=HQ>32!4&#"#4&#"632#"&546326322654&#""654&354#"TF"H5#8SH4Ob +>!2 5?AMr 5( 4]?P$#'"(# . )sQNF[423A &,(5i_I"3+2OeS{ MB9%2.#=[#9;%3hEsF1MA;DOXd>32#"&547!4&#"#4&#"632#"&54632632354#'"654&2654&"%2654&#""TFCbC H5#8SH4Ob +>!2 5?AMr 5( 4]?PQNF . )z4"!6!$#'"(#[42-1CD0.3A &,(5i_I"3+2OeS{ MB^EsF1#9;%3"##29%2.#=M<EP]p|>32##"&547!4&#"#4&#"632#"&54632632354#'"654&2654&#"2654'#"&'%2654&#""TF.8U<=S:H5#8SH4Ob +>!2 5?AMr 5( 4]?PQNF . )m%)92'"/ 0$#'"(#[42 GDWUAJ"3A &,(5i_I"3+2OeS{ MB^EsF1#9;%3 "X8*$ $6( &)9%2.#=I\ I%2654'%#!"3!!"&5463!2654&+"#"&5467&#".54632632v*4We5bHl?#93>?2j8KgU nSB@P<,0IY*5!>.v_;37F6V3" s;1]=D\.8f_'J5,+5kMYlMgGWTF1` `H&^"g+Xx 1A;D\ S%2654'%#!"3!!"&54>3!2654&+532654&#"#"&5467&#"&54632632r*4Vf6I>J>>40B 0!eH>(-7@C5lU@?Q/:(HZ_!kxX<75d Kx<0Z>EY.8#xBfEAL,@co2#".54632.#"32654&#"#".547&#".54763262'654.#"#54#"&546326'2654'{˦AL4]xD' O;@WZCx`7nWB)< h)L`_!38DE_6.1 &%  #V)5We(Ι 2!7FB '/#%.Ɯ \zRl,B6}Q rU}>%vB^GG' , ;% 'I9oIQo #,GNXa2'654&#"#"&5467&#"#4&#"#"&5467&#"&5463263263262654' 2654' l,"1Zt]nSB@P:/!3KSL9lSB@P9/+'?% ^!k}]B04;k@1g5-9P*4Xe6T4WeÑh,L3 Bu]{ \{UgfQ9q$B5 @0-_vn_nRCAO:/!3KSJ;lRCAO9/+'?% ^!kyaA14;k@1g5-9@r9oBV3XeJ+3We4P*I4+-6h]r \{QkhO;o$B5 9O ZzQkhO9q$ /:-=Kc\[q=[I7mKPo3FI7oIPo4EGnw2#!"3!!"&5463!2654.+532654&#"#"&5467&#"#4&#"#"&5467&#"&54632632>3262654'2654',eRP-D5_"#Z1?@0_JZ$! &%^C7nRCAO90!5ISK:lRCAO71+'?% ^!kyaA14;k@N:5-;}V3XeJ+3We4N?G))K0E I6),7E:$/ ,B,:\{QkhO9o&D3 :N ZzQkhO9m( /:-=Kc\<tI7oIPo3FI7oIPo4EHdp|2#"&54632&#"32>54&#"#".5467&#"#4&#"#".5467&#"&5463263263262654'!2654'"p/GbX0Y|GZO0"U"\}%CK6#pV$nUD)< 9/SE9&lUD)< 9/,0I#_!j{]>57Di6$~%48Q*4We()5We(wbT5,$'+.IUg ]yRl-B69q$ t ;J[yRl,B6:o% ,?7HWa~[ZsJ8nJQo #,I9nJQo #,H<$2'654.#"#54#"&546326".54632.#"32>54.#"#".5467&#"#4&#"#".5467&#"&546326326326322654'!2654'&%  #"?N5]yC' O;?X<-3Pt; .T6+nUD)< 9/SF8"lWB)< 80*0I#_!j{]>57Di6$~'28Lt*4We()5We(' ,  ;% & 3#7FB '/#*?gj8JhT< \zRl-B6:o% t 8MZzRl,B69n' ,?7HUa~[Z֞kK7nJQo #,I9nJQo #,K=\fr2# $54732>54&#"#".547&#"#4&#"#".547&#"&54632632>3262654'!2654'1`vT؉[%R7FlFeP_K<%5 ZlL<1]N:%5 Z!@TU!_mR8./<]/ B29#2F".KV.P#-KV#i6gmR4޹ytgk/JyNWu ]yPo.C6|Q r :IZxSl.C6{Q t?FWa~V9wH6kINm2EI5lHNm "+Kgq~2#".547# $54732>54&#"#".547&#"#4&#"#".547&#"&54632632>3262654'2654&#"%2654'1`v]+0F/#2 [%R7FlFeP_K<%5 ZlL<1]N:%5 Z!@TU!_mR8./<]/ B29#2F".KV.2"! #-KV#ie B&4B*" A޹ytgk/JyNWu ]yPo-B7|Q r :IZxSl.C6{Q t?FWa~V9wH6kINm2E## I5lHNm "+Keo}2#"&547# $54732>54&#"#".547&#"#4&#"#".547&#"&54632632>3262654'2654&'"2654&'#"&=2654'1`vC?3NU>=U[%R7FlFeP_K<%5 ZlL<1]N:%5 Z!@TU!_mR8./<]/ B29#2F".KV.  #(:,8+-/)8#-KV#iM4N|UU>!/޹ytgk/JyNWu ]yPo-B7|Q r :IZxSl.C6{Q t?FWa~V9wH6kINm2E   [7+#5588 (:[I5lHNm "+I2<E2!5654&#"#"&5467&#".5463263235462654'"!54&[s|RfK$nSB?Q:.,L`_!47wb=63Hd~Cr*4We6=L#Uvb@lYy ]ySjeR9r# qV}>$wAhIVirH9nJQo6CYWEϟ[qIE?HT^2##".547!5654&#"#"&5467&#".546326323546"!54&2654&'#%2654'[s E/ "*!=RfK$nSB?Q:.,L`_!47wb=63Hd~Crj=L#U4"R*4We6vb-3A 2!-@lYy ]ySjeR9r# qV}>$wAhIVi5WEϟ[q"!!H9nJQo6CI=FSeo2##"&547!5654&#"#"&5467&#".546326323546"!54&2654&#"2654'#"&'%2654'[s$.U<=S1bRfK$nSB?Q:.,L`_!47wb=63Hd~Crj=L#U &&)92'#.7Y*4We6vb!@DWW?D"@lYy ]ySjeR9r# qV}>$wAhIVi5WEϟ[q!X8*" %5( &8H9nJQo6CM\co2#".54632&#"3265!5>54.#"#".5467&#"&54632632354>54#"%2654' .J, 4lMAL3x`RG!)M&ZJ6\e)*%K1$nUD)< 9/+0I#_!j{]?43Hb&>C )5We(,;7#??&!+#Rhh:>G1 ]yRl,B63263262654'H9B-0++iJ>&3S#5+nSB@P9/!Nc_!k*14%:69@gI9\T4We1bA1S6" ?Rb,%&7 ]zRjeR;m&F|?M0O2$!!LNoG9nJPo5HV[e%#"/3254.'&5463232654&#"#4&#"#"&5467&#"&54632632632#"&#"326322654'VU`O0 *]dHe .9# L =?B[SU@,#nTA@O9/#Mc^ k[<6=CvO?Qi+$ D M%*7%+4Xd4V';5+-/) 04(?L\{VggP=m$F~?Kg!#^ZI=#,'-EH9nJQo4EHcDlv%#!"3!!"&5463!2654&#""#"546323254&#"#54&#"#"&5467&#".54632632632#"&#"32636322654'DDN @#|4>@26?'  Y3) L (H;AUSW5*$nSA>R:.!Db(7 &FvYB1?>kSE}Ri%*8 ?M 1.-+4Xd5^)>)B1()9# Q")&!(-!>6MhGXTF0_ ^J)Z_IYmNLG3) ' K C/ 41**3   r/% B (C4F\SW5*$nSA>R:. 0=))6 &wYB16MhGXTF0_ !I2)Z-D(ZlNL6-& &!n`r|%2#".54>32&#"32654&#"&54>7654&#"#4&#"#".5467&#"&54632632632#"&#"2654'.C" "8`@2 \O3(M $'ZZ_LM4-*A-9C1E`SY76nVA)< 9/,0I#^ k{^>5;R7i?8D/\;.")6Xd500-2#!!#H74632632632!54.#"#"&5467&#"&%354#'"654&2654'Mwa;87=nJL-*3& % nTB@O80!$Ja^!jRMF@/+*4We6h ZZ)A%]yTigP32&#"3265!54.#"#".5467&#"&546326326354#'"654&2654'Eb4r_6OC\I6G&dP54&#""&5467&#"&54632632)6W`0&N.MާLxI0wC#!nTO9/#!2J!c&jX9:@;k:X5H:oIMs7Cwi\k"7IH&r\zUhhO;o$0F:>Kk {+X\E-KFPZ#".547#"$54732>54&#""&5467&#"&54632632%2654'264&#"O)-C1"2 P[N.MާLxI0wC#!nTO9/#!2J!c&jX9:@;kr)6W`0)4""*E ?&1C*! wi\k"7IH&r\zUhhO;o$0F:>Kk {H:oIMs7C"4"KFP]r#"&547#"$54732>54&#""&5467&#"&54632632%2654'2654&#"2>54'#"&'3,T=>R ??N.MާLxI0wC#!nTO9/#!2J!c&jX9:@;kr)6W`0.%C*2'1  /` 6%AZUA# wi\k"7IH&r\zUhhO;o$0F:>Kk {6H:oIMs7Cw# $ %5"! &)L -7_h2'654&#"#"&5467&#"&5463262654'#"&=4&#"#"&5463232654'2654' t5'1VqSnSB@P9/&0H#^!kX:84M*5We2J*C4/>,#N6%+6^G:D=?V/:I8NaH:+Z69a"#&C6%NOL  -\ft}2'654&#"#"&5467&#"&546326"&547&=4&#"#"&5463232654'%2654'2654&'+'2654' t5'1VqSnSB@P9/&0H#^!kX:84*.=A^A&9,#N6%+6^G:D=?V/:I8NaH:+Z69a"YH8oIPo4E$"+&#&C6%NOL -`jx2'654&#"#"&5467&#"&546326#"&547&=4&#"#"&5463232654'%2654'2654'#"'2654'#"&547'2654' t5'1VqSnSB@P9/&0H#^!kX:84*8G$ 4H<8,#N6%+6^G:D=?V/:I8NaH:+Z69a"YH8oIPo4E:   P." ,4 '!#&C6%NOGJT%2654'7#"&=4&#"#4&#"#"&5467&#"&54632632>32%2654'@4Hp ~bRES?) #*SJ4%lSBAO80%0I$_!k}]:81Jb=#6I[7_*4W`22iM;Hc~`QMRF 2! :K[ySjhO>l$1G=}?Mg [ hUEKCH9nJLt6CGEV`j%2654'7#".47.=4&#"#4&#"#"&5467&#"&54632632>32264&#"%2654'@4Hp ~BB 2! "*?8?) #*SJ4%lSBAO80%0I$_!k}]:81Jb=#6I[7@4""$A*4W`22iM;Hu@ I "* 1Da>MRF 2! :K[ySjhO>l$1G=}?Mg [ hUEKC#2#!H9nJLt6CGQ^pz%2654'7"&547&=4&#"#4&#"#"&5467&#"&54632632>322654&'"#2654'#"&'%2654'@4Hp ~VTTzS5_?) #*SJ4%lSBAO80%0I$_!k}]:81Jb=#6I[7. 'C,65$"..V*4W`22iM;H>]AZUAH''MRF 2! :K[ySjhO>l$1G=}?Mg [ hUEKC "v9)" (2) @H9nJLt6CHw%4&'7#".54632&#"32>5#".=4&54.#"#4&#"#".5467&#"&54632632>3232>2654'E5 #8MgB>P6x`rC8b&WZ$In?' .Z&9 ).LSE9&lUD)< 9/-0I#_!j{]>57Di6=1&=$ $)?)5W`3:l!i>_\C9# *#/A;!:&9/W %,6> ;J[yQr/D7=m$ ,?7HWa~[#, )83B6-*=4I9nJLt4FH"2'654.#"#54#"&546326".54632.#"32654'#"&'654&#"#4&#"#".5467&#"&54632632>3232654'72654'&%  #DN5]xD' P;?XXAy.RDY<(.LSE9$lXA)< 80,0I#_!j{]>57Di6X%*7+ ,8Bp (;,DaX)5W`3% , ;% & 2!7FB '/#%.n(g?6ZL6> ;J[yTo/D7>l$ ,?7HWa~[2) ?,\). gL<Ojp=^R3lI9nJLt4FG U^h2!535462654'7#"&=4&#"#4&#"#"&5467&#"&54632632>32"!54&2654'\uّp4Hp ~bRES?) #*SJ4%lSBAO80%0I$_!k}]:81Jb=#6I[7 @P#Q*4W`2zb"WgpiM;Hc~`QMRF 2! :K[ySjhO>l$1G=}?Mg [ hUEKC]YFιRbH9nJLt6CGEbkv2##".547!535462654'7#"&=4&#"#4&#"#"&5467&#"&54632632>32"!54&2654'#%2654'\uD0 "*p4Hp ~bRES?) #*SJ4%lSBAO80%0I$_!k}]:81Jb=#6I[7 @P#Q"/-#%*4W`2zb,3A 2!,"WgpiM;Hc~`QMRF 2! :K[ySjhO>l$1G=}?Mg [ hUEKC]YFιRb"0 1!H9nJLt6CG_hs2#"&547!535462654'7#"&=4&#"#4&#"#"&5467&#"&54632632>32"!54&2654&"2>54'#"&'%2654'\u-TzS0p4Hp ~bRES?) #*SJ4%lSBAO80%0I$_!k}]:81Jb=#6I[7 @P#Q&%&%*2'1 /K*4W`2zb"AAZUAB&"WgpiM;Hc~`QMRF 2! :K[ySjhO>l$1G=}?Mg [ hUEKC]YFιRb X# " %5"! &)H9nJLt6CG%py2##"&54>32&#"3265!535462654'7#"&=4&#"#4&#"#"&5467&#"&54632632>32"!54&2654'#AD)_6OC\I6G&dPl$1G=}?Mg [ hUEKC]YFιaSH9nJLt6CGJpz%2654'7#"&=4&#"#4&#"#"&5467&#"&54632632>322'654&#"#54&#"&546326%2654'@4Hp ~bRES?) #*SJ4%lSBAO80%0I$_!k}]:81Jb=#6I[7K6H)?(. 9'(1KUJ;7&%G*4W`22iM;Hc~`QMRF 2! :K[ySjhO>l$1G=}?Mg [ hUEKCHWB$-) *Z+Fѵ&!A0\#/gAZ10KH9nJLt6CGJnx%2654'7#"&=4&#"#4&#"#"&5467&#"&54632632>322#"&547&#"#54#"&5463262654'2654'@4Hp ~bRES?) #*SJ4%lSBAO80%0I$_!k}]:81Jb=#6I[7+CZ6+*7D+97'4MYJ86%/k 6B$*4W`22iM;Hc~`QMRF 2! :K[ySjhO>l$1G=}?Mg [ hUEKCHiJ7EC7S5 ѵHB4Z!-hAZ0/)"O.4E$+OH9nJLt6CGXJ%2654'7#"&=4&#"#4&#"#"&5467&#"&54632632>324>32632#"'732>54'#"&5467&#"#54#"&2654'2654'@4Hp ~bRES?) #*SJ4%lSBAO80%0I$_!k}]:81Jb=#6I[7 0%5&,;R0<9bH&& (: ; 6+&2>+=",98  NZx"$%q*4W`22iM;Hc~`QMRF 2! :K[ySjhO>l$1G=}?Mg [ hUEKC.B 0.KT2Kf ':0P&32354&'4#"62654'9T4Hp ~bRES?) #*SJ4%lSBAO80%0I$_!k}]:81Jb=#6I[7a&-/*2,Am0*4W`2c]xliM;Hc~`QMRF 2! :K[ySjhO>l$1G=}?Mg [ hUEKC).gM<$6TOH9nJLt6CG JTfqx%2654'7#"&=4&#"#4&#"#"&5467&#"&54632632>32%2654'4632##"&547#7354&'4#"62654'#@4Hp ~bRES?) #*SJ4%lSBAO80%0I$_!k}]:81Jb=#6I[7_*4W`2b9T&C-/A&o$$'..*2,Am.&11%2iM;Hc~`QMRF 2! :K[ySjhO>l$1G=}?Mg [ hUEKCH9nJLt6Cc]x`@A/0?$#gN;$6TN$2 2$GJTiu|%2654'7#"&=4&#"#4&#"#"&5467&#"&54632632>32%2654'4632##"&547#7354&'4#"62654&"2>4'#"&547@4Hp ~bRES?) #*SJ4%lSBAO80%0I$_!k}]:81Jb=#6I[7_*4W`2p9T*3 4"4H3c&..*2,Am& %()'"02iM;Hc~`QMRF 2! :K[ySjhO>l$1G=}?Mg [ hUEKCH9nJLt6Cc]x"> $,G4>").gN;$6TO $P '< ,4 '!/G,JTs~%2654'7#"&=4&#"#4&#"#"&5467&#"&54632632>32%2654'432#".54632&#"326=#7354&#'"654&@4Hp ~bRES?) #*SJ4%lSBAO80%0I$_!k}]:81Jb=#6I[7_*4W`2jCV37H7C;7N<(#$(30,_ t 2iM;Hc~`QMRF 2! :K[ySjhO>l$1G=}?Mg [ hUEKCH9nJLt6C㢱JM6: >%$bQA (1tS[!QH q%2654'#".5473267#"'.'&#"#4&#"#".547&#"&54632632>3232>54'#.KR+151Z{o܁Pi%^ 1Qj\bZ  09M<0]K=%5 Z!4aY$_jU9,1;\/ A3AR3 "&c7H6lHLo2E2j9&,UXJ:!2Noi=speo =E:8&/DL$j=5 :IZxRm-C6{Q eNKW^V8fN WK$H0?Qq}#"&547#".5473267#"'.'&#"#4&#"#".547&#"&54632632>3232>54'72654&#"%2654'%5*" 2D͑܁Pi%^ 1Qj\bZ  09M<0]K=%5 Z!4aY$_jU9,1;\/ A3AR3 "&c$152""  #.KR+=-"3 D2 =2Noi=speo =E:8&/DL$j=5 :IZxRm-C6{Q eNKW^V8fN WK$H0?2j9&!! 6H6lHLo2EQp{"&547#".5473267#"'.'&#"#4&#"#".547&#"&54632632>3232>54'72654&'"2654&'#".=2654'j(/!U|T܁Pi%^ 1Qj\bZ  09M<0]K=%5 Z!4aY$_jU9,1;\/ A3AR3 "&c$15!"G("8&$ $'##.KR+C<&=VU>("-2Noi=speo =E:8&/DL$j=5 :IZxRm-C6{Q eNKW^V8fN WK$H0?2j9&%.[02 75' & *\H6lHLo2EYB%#12##".547!3354>54#"2>54&#"T9T*!A3+9 T&?CΗ# )DE$,1C20,j6N'bǘΝ "+Y"$1C2##"&547!3354>54#"2654&#"2654'#"&'T9T*)- >*?Q/)T&?CΗ&%%+74&0 8)DE$&?-7&V?B(j6N'bǘ΋W:'" %5# )8M :2!33546"!54&2'654&#"#54&#"&546326 \uqTps@P#R 6H'$?(.!9"(1KUJ;7&$yciWg3YFιSa[WB,F *Z+Fѵ 'A0\#.hAZ10M 09C2!335462#"&547&#"#54#"&546326"!54&2654' \uqTpCZ5,*7D *97'4MYK74'-%@P#R6B#yciWg(iJ7ED6R6 ѵHC3Z!-hAZ0/YFιSaW)"O.4E#,MX Q\2!33546"!54&4>32632#"'732>54'#"&5467&#"#54#"&2654' \uqTps@P#R@ 0& 4'+",98  NZx/)yciWg3YFιSa.B 0.KS2Ih ':0P&J^2!33546"!54&4632##"&547#7354&'4#"62654&#"2654'#"&547 \uqTps@P#R9T*3$ 4H3c&..*2,AmL4)'"yciWg3YFιSac]x">.G4>"*-gN;$6TN P." ,4 '!M, 7BK2!33546"!54&4>32#".54632&#"326=#7354&#'"654& \uqTps@P#R,-CV37H7C;7N<($%&+8,_(t yciWg3YFιSa1D KL5;@&"bHJ!5?tS[!M=3;2#"&547&/32654&+532654&#"&546264&"23K"KO5>A31C-1;G4+*4==2M](4""4" .% @K:* G0DD0#7)"'2,)"$/yfO` rL{"4""4M1=Q2"&547/32654&+532654&#"&5462654&#"2654'#"&'23K"KOJMTzS3 -1;G4+*4==2M](|"%+75$1* .% @KJ(!XBYW?F(7)"'2,)"$/yfO` rL{X9)" '3"!  "MF:%#"&54632&#"32654&+532654&#"&54>32{54.#"&54>32'2'654&#"#465654#"&546326UqtYq?% U+IDS32:F'K+$M*?B4554A?299/:<0>i&,GJ&I_T/-Q(*X'1?!#!("/$"+/,"!0orIf {CKn9H5H A(T3MBM%#"&547&/32654&+532654&+532654&#"&54>322654&"(*02A31C0$M*?B4554A?299/:<0>i&,GJ&I_T/-q+#2#$30#=0DD0' ?!#!("/$"+/,"!0orIf {CKn9H5H A(T""!MEANa%"&547&/32654&+532654&+532654&#"&54>322654&#"2654'#"&'(*>AR~Q2$M*?B4554A?299/:<0>i&,GJ&I_T/- "G3&1 +'39#QAZW?F' ?!#!("/$"+/,"!0orIf {CKn9H5H A(TX02  &4"! $. KH%#".54632&#"32654#523254&#"53254&"&54>32,/P_h8C/mO9K$&7pL$RH DT ;V@ & .N217& 7!d@>M!&"A+N'W1%#P#++FI&If {C$EJ6# 0 GMIm#".54632.#"32654&+53254&+57654&#"&54>322'654#"#465654#"&546326s.:(]EZ1 A$/@A2UjaM03 KL8`C-+@ & .N2:pA-.P\ l 3"8EB #0"&-hM@N*W3"# A!-+FI&If {C$EJ6#A3G# 7!d" %$  .% $IN#"'#"&54>54++53264&#"&546323265332654.'+< oSX;mLF=0906++/0(HY(}d>R? N6NXKS8+:J 3$AG7c}M40#"!, B(|eMb qMx>2< !J <C2>fM/;4IFYd#".547&'#"&54>54++53264&#"&546323265332654.'264&++< GDD0 "*J0mLF=0906++/0(HY(}d>R? N6NXKS8+:J 3$2##AG7r> J3A 2!  @40#"!, B(|eMb qMx>2< !J <C2>fM/;4"4" !IVbv"&547&'#"&54>54++53264&#"&546323265332654.'2654&#"2654'#"&'+< \[S|R0;(mLF=0906++/0(HY(}d>R? N6NXKS8+:J 3$%%$,65$".*AG7=aCXV@B)540#"!, B(|eMb qMx>2< !J <C2>fM/;4X:(  '3(  "Im#".54632&#"3267#"'#"&54>54++53264&#"&546323265332654.'.=Q8WEB3:6`rt:]X;mLF=0906++/0(HY(}d>R? N6NXKS8+:J 3$DK1-%LgX* *% %uOM40#"!, B(|eMb qMx>2< !J <C2>fM/;4Id%2654'7#".54632.#"3265#"'#"&54?654#"532654&#"&54632326532'654.#"#54#"&546326?Ox2KPDN6]zB' O;?XY?>_X;lLF=(I(K-+01'HY({f>R?/ #'NE^S6@&%  #"4fM398msU7 2"7FB '/F1OM30/ !#,#!(_Mb oOt@0< $  1#C1?% , ;% %INs#"'#"&54>54++53264&#"&546323265332654.'2'654&#"#54&#"&546326+< oSX;mLF=0906++/0(HY(}d>R? N6NXKS8+:J 3$6H -%?(. 9'(1KUK:7&%AG7c}M40#"!, B(|eMb qMx>2< !J <C2>fM/;4AWB1>*Z+Fѵ&!A0\#/gCX10INr|#"'#"&54>54++53264&#"&546323265332654.'2#"&547&#"#54#"&5463262654'+< oSX;mLF=0906++/0(HY(}d>R? N6NXKS8+:J 3$CZ6+*7D+97'4MYK74'-m6B$AG7c}M40#"!, B(|eMb qMx>2< !J <C2>fM/;4AgL7ED6R6 ѵHD2Z!-hAZ0/)"O.4E$+IXN#"'#"&54>54++53264&#"&546323265332654.'4>32632#"'732>54'#"&5467&#"#54#"&264'+< oSX;mLF=0906++/0(HY(}d>R? N6NXKS8+:J 3$n 0& 4'++>",98  NZx"$%%AG7c}M40#"!, B(|eMb qMx>2< !J <C2>fM/;4.B 0.KT2Kf '0# P&;L9.3A,"˶H 2!Y#-(\ +'!INVbi#"'#"&54>54++53264&#"&546323265332654.'4632!7354&'4#"6+< oSX;mLF=0906++/0(HY(}d>R? N6NXKS8+:J 3$9T&-/*2,AmAG7c}M40#"!, B(|eMb qMx>2< !J <C2>fM/;4c]x).gM<$6TNI N`ls~#"'#"&54>54++53264&#"&546323265332654.'4632##"&547#7354&'4#"62654'#+< oSX;mLF=0906++/0(HY(}d>R? N6NXKS8+:J 3$v9T&C-/A&o&..*2,Am.&11$AG7c}M40#"!, B(|eMb qMx>2< !J <C2>fM/;4c]x`@A/1*-gN;$6TO$2 2&INdpw#"'#"&54>54++53264&#"&546323265332654.'4632##"&547#7354&'4#"62654&#"2654'#"&547+< oSX;mLF=0906++/0(HY(}d>R? N6NXKS8+:J 3$v9T*3$ 4H3c&..*2,AmL4)'"AG7c}M40#"!, B(|eMb qMx>2< !J <C2>fM/;4c]x">.G4>"*-gN;$6TO P." ,4 '!I,Np{#"'#"&54>54++53264&#"&546323265332654.'4>32#".54632&#"326=#7354&#'"654&+< oSX;mLF=0906++/0(HY(}d>R? N6NXKS8+:J 3$x,-CV37H7C;7N9+$%&+8,_(t AG7c}M40#"!, B(|eMb qMx>2< !J <C2>fM/;41D KL1?@&"bHJ!5?tS[!J? ^#"$547327#"'#"54?654+53254&#"&54>323265332654&'9@VQֹ)h bJ:iJ m{#"&5465#"$547327#"'#"54?654+53254&#"&54>323265332654&'2654&#"9@\,/ 2"3Cg|VQֹ)h bJ:i" "J oy#"&547#"$547327#"'#"54?654+53254&#"&54>323265332654&'72654&'2654&'#"&=(/!7#=USfVQֹ)h bJ:i"%H #.y9)%358&( +7J<h3"&546732654&+532654&#"&54>32y .sVK>3551?:@N`"( !3T6Rg[^AEڹNi;\x]9;P0E&'@`t; @~&FH5!U>Q*7fU?EJh=K2#"&547#"&546732654&+532654&#"&54>2654&+Rg[^JGA31C   .sVK>3551?:@N`"( !3T{ "$U>Q*7f\AO0DD0ڹNi;\x]9;P0E&'@`t; @~&FH5!+#!JJi;FY2#"&547.546732654&+532654&#"&54>2654&#"2654'#"&'Rg[^bcS>?Q! .sVK>3551?:@N`"( !3T=.%C)95$1*(U>Q*7fmBfAZW?6'ڱNi;\x]9;P0E&'@`t; @~&FH5!""w6," '3"! $. ME:B%#".547&'#"'&54>732>5332654.'7264&"2E/ "*H48PJ9; <*#*0B9(,S2*9M0"&,4""4"& 7-3A 2! EM@Dc4F?o732>5332654.'2654&"2654'#"&'a&,\\T=>R06'8PJ9; <*#*0B9(,S2*9M0" (!%+75$1* 6R0AbBYV@D'4M@Dc4F?o5#"'#"'&54>73265332>54'7Oy}Lc:4SjS"*MJ-7NX57PK9; >.",2I;'4S1!,3#j0:ag4&!"%1aC9KL?Db2IBn>Ob.!C>4%K1@8;37#"'#"'&54>732>5332654.'7'2'654.#"#54#"&546326@N6]xD' O;?XN9Kp>)]CV98PU63 <*#ZC8)*S2*:L0"OX.G`[&%  #" 2!7FB '0"%05Ls[97MMMKCY4E@BOb + :3?hP+94w\X9% ,  ;% &M.S#"'#"'&54>732>5332654.'2'654&#"#54&#"&546326a&,nQV98PJ9; <*#*0B9(,S2*9M0"6H'$?(.!9"(1KUJ;7&$ 6R0gMM@Dc4F?o732>5332654.'2#"&547&#"#54#"&5463262654'a&,nQV98PJ9; <*#*0B9(,S2*9M0"CZ5,*7D *97'4MYK74'-m6B# 6R0gMM@Dc4F?o732>5332654.'4>32632#"'732>54'#"&5467&#"#54#"&2654'a&,nQV98PJ9; <*#*0B9(,S2*9M0"e 0& 4'+",98  NZx/) 6R0gMM@Dc4F?o732>5332654.'4632!7354&'4#"6a&,nQV98PJ9; <*#*0B9(,S2*9M0"9T&..*2,Am 6R0gMM@Dc4F?o732>5332654.'4632##"&547#7354&'4#"62654'#a&,nQV98PJ9; <*#*0B9(,S2*9M0"9T&C-1?&o&-/*2,Am.&11% 6R0gMM@Dc4F?o732>5332654.'4632##"&547#7354&'4#"62654&#"2654'#"&547a&,nQV98PJ9; <*#*0B9(,S2*9M0"9T*3$ 4H3c&-/*2,Am.0&4)'"0 6R0gMM@Dc4F?o.G4>").gM<$6TN o." ,4 '!/M,.P[d#"'#"'&54>732>5332654.'4>32#".54632&#"326=#7354&#'"654&a&,nQV98PJ9; <*#*0B9(,S2*9M0",-CV37H7C;7N<($%&+8,_(t  6R0gMM@Dc4F?o73265332654&'7J"Ețz'%Z05QSm 4),gG:'5SQAOA'|禃hZs̈́KJa3U5 @Oe+#Cr`IQelGpEQ#".5465#"&547327#"'#"&54>73265332654&'72>54&"%7 2!"2 OYJ"Ețz'%Z05QSm 4),gG:'5SQAOA'|.!6!9>- "*+!   禃hZs̈́KJa3U5 @Oe+#Cr`IQel $$ GpBM_%4&'7#"&547#"&547327#"'#"&54>7326533262654&"2654'#"&'@A'|~#,U<@P >9J"Ețz'%Z05QSm 4),gG:'5SQAOr&%&%+72'#//Qeli 7%DWW? 禃hZs̈́KJa3U5 @Oe+#Cr`X9)" $6) @J%+6"&5467&#"#4&#".54632632'2654&'AQ:0/3@S5!

7&#"#4&#".54>326322654'"q:7&)_=8aPB9J E1'a6CS5!5*. 2#): "/;*P;@\)9:[W'-(1"/mn*QJ_-:ZsVF2?.F3)=304R,:5>D38X0 JH1$JM?%#".54732&#"32654&#"#4&#".54>32632=I3SJ&;KpI6mbM&1S5"3+.3%(."/;*P:%J2/?S6-=L 6.)7pXU:EV4R1 x&% #" 3"7FB '/#"1ġ7db;-$3326326~$:Wf6eq1WlN!$mSB@O80/3BS3" *#4%*: !/9+Q;>Y9/;5=DmKPp5DmJEmS[{RkgP=m$-%=3 &D+):5?E37W0 JJ GeJT%#!"3!!"&5463!2654&#"#"&5467&#"#54&#".546326326322654'rT6@72;.KL\hR!mSA?Q,<14@S5!6ME1'/lNR9BW4243!2654&+532654&#"#"&5467&#"#54&#".546326326322654'N@B6F/: -E:"#Wj"mSA?Q,<12BS5!5NE1;KlNR9BW424FHe0!=x*4Wf7p4@)@0' #3 9,'@= MgGWUE'`%%2+TB?W eGVk=<.-#+8;1]=B^-9HPZ%#".54632&#"32654&#"#"&5467&#"#4&#".546326326322654'ţ!Y\{[YK+Z~[$zp]#mSB@O803*GS3" *#4%*: sPQ;:X#J6Euk$:Wf6 $!+'v [{SjgP=m$&+=3 &D+):5?E3eJI=DmKPp5DH'_".54632.#"32>54.#"#"&5467&#"#4&#".54>32632632'2'654&#"#54#"&546326'2654'>N4]zB' N<@W%8,?c;' 0V7"mQD@O8012?S4!)< 2$*: &S9Q;:X'F8C|3O!&% #"^*4Wf4 3#7FB (/#$+CZT+LgS; [{QliN=m$,%=3-A6-93?E3DS9JIӛ5fkQ3% , ;% %G:nJPp3FJCIS".54732$54&#"#"&5467&#"#4&#".54632632632'2654'yZ!Q" rR mSB@O80.4@S5!5*.)"*: sPQ;D3eJJlG:mKPp4EJZdq2#".5465#".54732$54&#"#"&5467&#"#4&#".5463263262654'2654.#"q]$5 2! "*Z!Q" rR mTA@O80.4@S5!5*.)"*: sPQ;" "!Šlb<- "* 1" ?`zxpbhű][{UhfQ=m$.$=305R*F,>D3eJJsG:mKPp4E$#$JV`k}2"&547#".54732$54&#"#"&5467&#"#4&#".5463263262654'2654&"2654'#"&'q$,TzS {Z!Q" rR mTA@O80.4@S5!5*.)"*: sPQ;D3eJJsG:mKPp4EX:(" (2"! @H?"!54&'2!5>54&#"#4&#".546326323546!=L"TZ]qO,2N6&3S3" *#4%*: sPQ;8NRl\rWEϟ]o5vb*x54&#"#4&#".546326323546"!54&2>54&" ]qC1"2  ,2N6&3S3" *#4%*: sPQ;8NRl\rj=L"T #2#vb,1C+! +*x54&#"#4&#".546326323546"!54&2654&"2654'#"&' ]q.TzS10,2N6&3S3" *#4%*: sPQ;8NRl\rj=L"T&%&%+74%"./vb"ZUAC%*x32&#"325!5654&#"#4&#"&54632632354>54#"$:S*54&#"#4&#".5463263235462'654&#"#54#"&546326"!54& HÎBL3}_xD' Q;,A ZCv,2N6&3S3" *#4%*: sPQ;8NRl\r&% #~=L"Ty_{ 2!6GB (%.t*xP 3#): lWP;7J79#"I:J :.&(2,*$,+#<3hM,;5?E3cJHI;DL2#"&547&/32654&+532654&#"#4&#".546326264&"0GaCI:9A31C -*3?3%(7/:0/@S2">P 3#): lWP;72##2#J79#"IC$!C0DD0* :.&(2,*$,+#<3hM,;5?E3cJH"4""4IDPe2#"&547"/32654&+532654&#"#4&#".5463262654&#"2>54'#"&'0GaCIBPU<>R4 -*3?3%(7/:0/@S2">P 3#): lWP;7%:*5$"/J79#"IH$!YDWV@G':.&(2,*$,+#<3hM,;5?E3cJH"X$ " '3(  "IM%#"&54>32&#"32654.+532654&#"#4&#".54632632CeJ)CD#n?'3RzB1| :)""9DH:3DS2"=Q3%): mVP;9oOiS:( +KL,(  &Wq%'4;/2>.!=3gO*<5?D3cJHNAL<*CO?H2#"$54732>54.+532654&#"#4&#".546326ReTZ.G`Y-[&YRs7*# 221>C71@S3!U"@T5T3! ܯma} 53$5 78()2+"<4hO*;4@E3cJGOPb2#"&547#"$54732>54.+532654&#"#4&#".5463262654.#"#ReTZGGB21C;?[&YRs7*# 221>C71@S3!U"@T_:N/ED0 ܯma} 53$5 78()2+"<4hO*;4@E3cJG4##OaP\p2#"&547#"$54732>54.+532654&#"#4&#".5463262654&'2>54'#"&'ReTZa`S>=S!-[&YRs7*# 221>C71@S3!U"@To=dCXW?+!ܯma} 53$5 78()2+"<4hO*;4@E3cJG:X+'  &4$ $. IH#"'#"&=4&#"#4&#".546326323265332654.'h*: nST:-\BWA-)32&#"32>5#"'#"&'&54#"#4&#".546326323265332>D2.E_R,Ya_YkQ>\&YV)4\V33fd)2T?Ps)8S,#+@ v>HnTf'(b.D".:(6S%*,? 8m`R~G, %6$ & 9nLWJJW:T.#0@,@3pP(zD`II*?2/[b+$C+F,A3L3\#".547! 7#"'#".=4&#"#4&#"&54632632326533254.'~9>Q|τm~a9$ ,')UPp*U+'K)3#9'* M+2IhwdKC5*I,7&2) .M!/#%I8inQ4 4LO]Q*i]R[w =H ?+eUJ"" ;2dM8L]HF"K4k7A*">,1-?9Lhs#"&5465#".547! 7#"'#".=4&#"#4&#"&54632632326533254.'2654&#"~9>]$5 1!4Bm~a9$ ,')UPp*U+'K)3#9'* M+2IhwdKC5*I,7&2) .M!/#2"",%Ib>, "+F0 = 4LO]Q*i]R[w =H ?+eUJ"" ;2dM8L]HF"K4k7A*">,1-?9!!Lhr#"&547#".547! 7#"'#".=4&#"#4&#"&54632632326533254.'2654&'2654&'#".=~9>1S7#=Um~a9$ ,')UPp*U+'K)3#9'* M+2IhwdKC5*I,7&2) .M!/#", :A)9-8'#!, ;%IiN@ ,#V=$"- 4LO]Q*i]R[w =H ?+eUJ"" ;2dM8L]HF"K4k7A*">,1-?9 #/y9)%35& "  +7I62'654&#"#4&#"#4&#".546326326?Rm!3,'kK=&3SC2(2S2">P3B*: oTR:4^Y69Ça3V5=Ne,$4A)";4hL2p?E4eONIIHF D%2654&'"&5467&#"#4&#"#4&#".54632632632(0/$h98AP91/,GSB3'3S2">P3%*; pSS:6\Y6EY`FIR4?68kQl5E=gQ:p&'-5A*"=3iM);5@D3eNNJJLOoTmIa U%3254'#"'7327654&'#"&5467&#"#4&#"#4&#".54632632632R,#W8Rxq;7')^=89-RB;F`>.VA9SB3'3S2">P3%*: lVS:6\Y6AVtQ[Z2r׋``YOxh؞Oc25@.1?gJ:k(|E`MMIIp$0#""FP_v2#".547#"$&54732654&#"#4&#"#4&#".5463263262654.'2>54&'#".=WjKA(1"U>*4$ l-)+K=2,SA12+S-"?UB3=JoSg'.Xm.'{ " $-8+-!+ 9gT9=(>U ?,")r׋``YOxh؞Oc25@.1?gJ:k(|E`MMIIb [*%358"  )9I-(02!4&#".546326354#4&#"6O(HE)+3!=Q3%*: pTU6DRMFH, i8oM<4gO*;5@E3eTVEuD1<%3IB2*3;F2##"&547!4&#".546326354#4&#"62654&#"O(HE)B21C3!=Q3%*: pTU6DRMFH, iI>* 8oM,/ED0,<4gO*;5@E3eTVEuD1<%3*+I6*3;GY2##"&547#4&#".546326354#4&#"62654&#"2654'#"&'O(HE)%.T=?Q13!=Q3%*: pTU6DRMFH, iA&%&)92'1 78oM"ABYW?C%<4gO*;5@E3eTVEuD1<%3"X8*" %5 # %9M12;C746323632#".54632&#"326=!4&#"&%354#4&#"6MnTl!2܀AM5bXJ 6G+ac(vQ_,#A+(vUNQFH*"i`SSa ",^`0@92FmU^FoI1<$4J%9CK2#".546732>5!4&#"&5463236354+4&#"67=,Otd#bqX4 (.*ZCgDThGc.!?UuoRm!4PNFG,!i #9bA3N&2HLYK(Ff>gpVR4 E.0@gJwK^`SSFqG0=%3JDNVb2#"&547#".546732>5!4&#"&5463236354+4&#"62654&#"7=,AC 2"4B 82bqX4 (.*ZCgDThGc.!?UuoRm!4PNFG,!ib "$+ #9bA>0K #*F0 2HLYK(Ff>gpVR4 E.0@gJwK^`SSFqG0=%31$"! J?CMU`u"&547#".546732>5!4&#"&546323632354+4&#"6264&'2654&'#".=b')U|T'bqX4 (.*ZCgDThGc.!?UuoRm!47=,PNFG,!i .P:'#8'#!+ @*=VU>2'2HLYK(Ff>gpVR4 E.0@gJwK^`SS #9bANFqG0=%37,y8* 5 6& "  +IFr3"&54732654&#"#4&#"&54>32632A$:٠PA&3S3!+3#v!/:*P;:KSnѺgVjǰYw,%<4%K01C6V0 JKuIr?K2#"&547#"&54732654&#"#4&#"&54>3262654&#"Sn^+0F/0FELA$:٠PA&3S3!+3#v!/:*P;:y4!! Óuh A'4BB4gVjǰYw,%<4%K01C6V0 JKV## 2IsrBNd2#".547#"&54732654&#"#4&#"&54>3262654.'"2654&'#"&=SnD=1MU>+> 45A$:٠PA&3S3!+3#v!/:*P;:P.+A)9("8&/)9ÓuV4O<=V$5*(# gVjǰYw,%<4%K01C6V0 JKNz9)858 )9M[6NY#"'&547&#"#4&#"&54632632654&#"'6322'654&#"&5472654')4U?5&"sF*4S,#A+(vpRh%1UC+1#3!*ai|L+A7+-8H ['/8#D)!w54'#"&547')4U?5&"sF*4S,#A+(vpRh%1UC+1#3!*ai>9II98J-A7+-8H [V?>LL'/8#D)@.+,"*#$!w32&#"32>5!5654&#"&5463J"&>O?O6)BC"K?-Dv:D13JH071A5Dd*(:07,7 '&P9-R&?@5C#3XK\K :Z2!3#".54632.#"326=!5654&#"&5462'654&#"#54#"&546326)A$&8TĐBL3}_zB'T9,A WFhQH071@4Dc8&% #")'1# 7,3{ 2!6GB )$/h -M&?A5B$5WK\L' ;;% %K >2!3!5654&#"&5464632&#";2#"'73254+"&)A$&8TH071@4DcU:DU/$C#6-?70N1V,&KS>@(/)'1# 7,G -M&?A5B$5WK\b&;0%&05./&5(,K GR2!3!5654&#"&5464632&#";2#"&547&'73254+"&264&#")A$&8TH071@4DcU:DU/$C#6-?7098B./A,1&KS>@(/#!$%)'1# 7,G -M&?A5B$5WK\b&;0%&0=>1??16 &5(,-&-&$K IVj2!3!5654&#"&5462#"&547&'73254+"&54632&#"32654'#"'2654'#"&547)A$&8TH071@4Dc70;=-# 4H7,&KS>@(/:DU/$C#6-  %533/)'1# 7,G -M&?A5B$5WK\E0>!D$5 G4?"&5(,%&;0%&P." '"#& '".KFP2!3!5654&#"&5462'654&#""&547&#"&5463262654')A$&8TH071@4DcL_Q$:H7F8V5C. ?HU;'$#3&8A")'1# 7,G -M&?A5B$5WK\aFZ0 .H=S=O7FD6P6 .'R* 3`EY',F04G#+KWU_2!3!5654&#"&5462#!"3!!"&546;2654&+""&547&#"&5463262654')A$&8TH071@4DcITB0((v"**"$1C7  G9T6B/:AIO>(!"2!7A")'1# 7,G -M&?A5B$5WK\UFAT3$$D3:F2D099-F+?.F 'P;O&:),;$KX^h2!3!5654&#"&5464632632#!"3!!"&546;254&+532654#""&547&#"&72654')A$&8TH071@4DcP:+!$@./*0''s ,#)WL-E8V5C/:@H!7B")'1# 7,G -M&?A5B$5WK\B;IS$.#73%0;!: 1C/::-?/>/G %&9)-9$K-Wa2!3!5654&#"&5462#"&54632&#"32654&#"#".547&#"&54>3262654')A$&8TH071@4DcQ`j@LO=?6$9QQOaG< F7.$. C1>?H&7-$/#8@*)'1# 7,G -M&?A5B$5WK\vYj0u\Ne3262'654#"#54#"&54632'2654')A$&8TH071@4DcQdnN.6%*:@'ThO?$I:+(E3>>G%. $! .#9C )'1# 7,G -M&?A5B$5WK\ˆew &$.+h[z=Q6H,# R6K8S) 2`%; z ' /'H15I !$KB2!3!5654&#"&5462'654&#"#54&#"&546326)A$&8TH071@4Dc6H -%?(. 9'(1KUJ;7&%)'1# 7,G -M&?A5B$5WK\WB1>*Z+Fѵ&!A0\#.hBY10K@J2!3!5654&#"&5462"&547&#"#54#"&5463262654')A$&8TH071@4DcCZ6V6D+97'4MYJ86%/k6B$)'1# 7,G -M&?A5B$5WK\iJ7EC7S5 ѵHB4Z!-hAZ0/)"O.4E$+KX"Xc2!3!5654&#"&5464>32632#"'7327654'#"&5467&#"#54#"&2654')A$&8TH071@4Dc8 /&5&,;R0<9bH'% <)$; 6+&2>+>",98  NZx"#')'1# 7,G -M&?A5B$5WK\'.B 0.KT2Kf 50=P&( # -M.7B4B$5WJ]K>CO2!3##"&547#5654&#"&54632!5!5654&#"&5462654&#")A$&8T*C-1?)/$*$/@4"1  BH071@4Dc..#-)'1# 7,D20@B.2 2'*!+#:/@( " -M&?A5B$5WK\Q!"-#KERf2!3##"&547#5654&#"&54632!5!5654&#"&5462>54&#"2>4'#"&547)A$&8T(3-# 4H3/$*$/@4"1  BH071@4Dc %(!'41)'1# 7,D%>$5 G4>% 2'*!+#:/@( " -M&?A5B$5WK\z P '< 4"' (".KZ O2!3#"&54632&#"3265!5654&#"&5463235!5654&#"&546)A$&8U`=+fU53*,L:K4/$ *#.AdAlJJ)26)'1# 7,G -M&?A5B$5WK\O@4%)",#:1=<1$9E&:+g;HKGP\2!3!5654&#"&5462##"&547!5654&#"&54623546"354&2654&#")A$&8TH071@4Dc>K)C-0@)/$ *#.AdAlJJ)26&.#$)'1# 7,G -M&?A5B$5WK\O@31?A/34%)",#:1=<1$9E&:+g;Hx$"-%KLU`t2!3!5654&#"&5462##".547!5654&#"&54623546"354&2654'#2654'#"&547)A$&8TH071@4Dc>K%3-# %3/$ *#.AdAlJJ)26.$&4350)'1# 7,G -M&?A5B$5WK\O@ <$5 .< 4%)",#:1=<1$9E&:+g;H  P." '"#& '!/H+/2!3# 47326=!5654&#"&546L^$9PpK[PAfg[QG8.3?4Dc*YJ;(@:b3}r_o@h]?%V8.N/9B3D"2YL[H=K2!3#".547# 4732>=!5654&#"&546264&+"L^$9P:DB2"2 /4[PCkqJX=!5654&#"&5462654&"2>54'#"&'L^$9PY`T=?Q [PCkqJX54')A$&8TH071@4Dc *C4.?.!N6%+6_F0N=54')A$&8TH071@4Dc *77C-1?04.!N6%+6_F0N=54'2654'#"&547)A$&8TH071@4Dc *CA-# 4HH3.!N6%+6_F0N=.c$+w>N@31)?&ѶH5'b$-u@O0.@18(3KVd2!3!5654&#"&5462654'7#"&547&=4&#"#54#"&546326322654&'+)A$&8TH071@4Dc!+Q^08C-0@+7"'"9: %&MWK39$"6.A(#&-$)'1# 7,G -M&?A5B$5WK\>.c$+wN' @1?A/6"E1)?&ѶH5'b$-u@O0.@18(3$$ 0%KXdy2!3!5654&#"&5462654'7#"&547&=4&#"#54#"&54632632264'#"'2654'#"&547)A$&8TH071@4Dc!+Q^5;-# 4H.c$+wS&#E$5 G4E$ ?1)?&ѶH5'b$-u@O0.@18(3v$ P-# '"#& '!/K+g2!3!5654&#"&5462654'7#"54632&#"32>5#"'&'&#"#54#"&54>32632)A$&8TH071@4Dc$0DZ&>; X4G'F4R+>!:^ 6"97'NZ .& 6&!61A)'1# 7,G -M&?A5B$5WK\C1U'LD_,2 341J1ҶH," Z!+m-B 0/Q4.#"#)A$&8TH071@4Dc:"(ZN'& 0!0 :A=9U, 6<:9.(KXI<2%!7p!0K  %)'1# 7,G -M&?A5B$5WK\2OBYb< 5 %$  kPA:C[nK,# F/B=&[(g=J+*`I%*, !Kix2!3!5654&#"&5464&'7"&547#".547327#".=4&#"#54#"&546326323262>54&#"2654'#"&547)A$&8TH071@4Dc<(U`$9DbD1;8jj@:6S&1 2976,&HTE9/$ 3k("g  .'"#'.)'1# 7,G -M&?A5B$5WK\<G?Qj95*,=<-# .\?J=7>UgG2.A,=9#U&`9E('YE#4 I0 -%  &KE,5@2##".547!5654&#"&546323546"!54&2654'#YvE/ "*H8.1A4D`MJc%rm=O#S #//"vb,2B 2!,-O.:B4B$5WK[ZJ9)Vi6WFΠ[p#0 1"K*3>R2##"&547!5654&#"&546323546"!54&2654&"2>54'#"&'Yv ,T=?Q/-H8.1A4D`MJc%rm=O#S %&$*2'1Evb#?AZW?A&-O.:B4B$5WK[ZJ9)Vi6WFΠ[pX# " %5"! 2+KENT]f2!5654&#"&5463235462#"/32654&+#"'#"&546324632"!54&4&"325#32=#"YvGH8.1A4D`MJc%r0**#!*8.5)'0783+Z 3=O#SA%6 "A}j (?vb-O.:B4B$5WK[ZJ9)Vi7F2 # !!CS227(0!7HWFΠ[p%3/)1&6t#=7KNW^en2!5654&#"&5463235462#"/3254+53254+#"'#"&54634632"!54&4&#"325#32=#"YvGH8.1A4D`MJc%r #G"*8.6*(/6O4*'27=O#S=-  A}k (?vb-O.:B4B$5WK[ZJ9)Vi 6!CR226)27G73WFΠ[p/(/(8Ngi  CT447(0 9F.% WFΠ[p&54'5 %(x5# ?9K@I2!5654&#"&5463235464632&#";2#"'73254+"&"!54&YvGH8.1A4D`MJc%r':DU/$C$5-?70N1T.$MS>@'0F=O#Svb-O.:B4B$5WK[ZJ9)Vi&;0%&/5./&5(-&WFΠ[pK 3e264&#""!54&'2!5654&#"&5463235464632&#";2#"&547&'732767654+"&Q"# #-=O#S\YvGH8.1A4D`MJc%r ;CT0$C#6-?61!!*>A$&K %>@'0L"4"+"AWFΠ[p6vb-O.:B4B$5WK[ZJ9)Vi&;0%&/. 2 &:-''& #(-KKTa{2!5654&#"&546323546"&547&'732654+"&54632&#";2"!54&2654&#"2>54'#"&547#YvGH8.1A4D`MJc%r./IrI%C$%L"1>@'0M1U/$C(1-?+$=O#S$+ & -  $vb-O.:B4B$5WK[ZJ9)Vi)H'5MM56% $&(.#4-0% & $%WFΠ[p[$ % !, ,+K(Q[2!5654&#"&546323546"!54&2'654&#""&547&#"&5463262654'YvGH8.1A4D`MJc%rm=O#S:L_Q$:H7F8V5C. ?HU;'$"2'8A"vb-O.:B4B$5WK[ZJ9)Vi6WFΠ[pbaFZ0 .H=S=O7FD6P6 .'R* 3`EY)*F05F#+KW(`j2!5654&#"&546323546"!54&2#!"3!!"&546;2654&+""&547&#"&5463262654'YvGH8.1A4D`MJc%rm=O#S*IT@2((v"**"%0C7  G9T6B /:AIO>(!"2!7A"vb-O.:B4B$5WK[ZJ9)Vi6WFΠ[p`UF>W3$$D39G2D/:9-F+>/F 'P:P&:)-:$KX(is2!5654&#"&546323546"!54&4632632#!"3!!"&546;254&+532654#""&547&#"&72654'YvGH8.1A4D`MJc%rm=O#SP:+!$@./*0''s-, WL.E8V5C/:@H!7B"vb-O.:B4B$5WK[ZJ9)Vi6WFΠ[p;IS#.#73$';!%: 1C/::-@.>/G %&:(-9$K-(cm2!5654&#"&546323546"!54&2#"&54632&#"32654&#"#".547&#"&54>3262654'YvGH8.1A4D`MJc%rm=O#S?Paj@LO=?6$9QQOaG< F7.$. C1>?H%.! $/#8@*vb-O.:B4B$5WK[ZJ9)Vi6WFΠ[p`wXj0u\Ne32632#"'732>54'#"&5467&#"#54#"&2654'YvGH8.1A4D`MJc%rm=O#S7 /&5&,;R0<9bH&& (: ; 6+&2>+=",98  NZx"#'vb-O.:B4B$5WK[ZJ9)Vi6WFΠ[p.B 0.KT2Kf ':0P&K(S`2!5654&#"&546323546"!54&233##"&547#5654&#"&5462>54&#"YvGH8.1A4D`MJc%rm=O#S"1 ;%! 0@$/$*$/B* .$%vb-O.:B4B$5WK[ZJ9)Vi6WFΠ[p ( # 0*A/0 1#*!+#:1> "&$K(S^r2!5654&#"&546323546"!54&233##".547#5654&#"&5462654&#"2654'#"&547YvGH8.1A4D`MJc%rm=O#S"1 ;-5H3 %5/$*$/B0A!'(!0vb-O.:B4B$5WK[ZJ9)Vi6WFΠ[p ( # &?4G.?& 1#*!+#:1>e') 43 (".K(0<C2!5654&#"&546323546"!54&4632!7354&'4#"6YvGH8.1A4D`MJc%rm=O#S9T&-/*2,Amvb-O.:B4B$5WK[ZJ9)Vi6WFΠ[pc]x).gM<$6TNK (;GNY2!5654&#"&546323546"!54&4632##"&547#7354&'4#"62654'#YvGH8.1A4D`MJc%rm=O#S9T&A/1?&o&-/*2,Am.&11%vb-O.:B4B$5WK[ZJ9)Vi6WFΠ[pc]x0/AA/0).gM<$6TN$2 2$K(>JQ]q2!5654&#"&546323546"!54&4632##".547#7354&'4#"62654&#"2654'#"&547YvGH8.1A4D`MJc%rm=O#S9T*3H3 %3c&-/*2,Am%535/vb-O.:B4B$5WK[ZJ9)Vi6WFΠ[pc]x">4G.>").gM<$6TN P." '"#& '".JP:C2#".5473265!5654&#"&54623546"!54&^rOn^ 5itg_D(d*bGnDH8/2@4Dc`%oM>M#Tx`4R, +FX{Iwk|VQ5aP-O.:C2B$3XL[ZI9*Tk5[BΟZrJQFOY2#".547#".5473265!5654&#"&54623546"!54&264&#"^rCD*" #2 rl5itg_D(d*bGnDH8/2@4Dc`%oM>M#T2""*x`A4L"3 *"  +FX{Iwk|VQ5aP-O.:C2B$3XL[ZI9*Tk5[BΟZrK#2"J=REN\q#".547#".5473265!5654&#"&5462354632"!54&2654.'#2654&'#"&="GW<+> cW5itg_D(d*bGnDH8/2@4Dc`%oW^r>M#T #"G'#83%/)+( G=@S$5*0% +FX{Iwk|VQ5aP-O.:C2B$3XL[ZI9*Tkx`S[BΟZrL%[02 5 6!-8 %0 KIR[2!5654&#"&546323546#"&=4&#"#"&5463232>54'"!54&2654'YvGH8.1A4D`MJc%r*C4/>,#N5&+6^G:D= QU=O#S(E%vb-O.:B4B$5WK[ZJ9)Vi, ,1"@RA60.>?V.;I8NaH:+Z /!a"WFΠ[p_#&C6%NOKQZgp2!5654&#"&546323546#"&547&=4&#"#"&5463232>54'"!54&2654&#"'2654'YvGH8.1A4D`MJc%r*:5A/1?32,#N5&+6^G:D= QU=O#S &- %(E%vb-O.:B4B$5WK[ZJ9)Vi, ,1"W(!>/AA/=!!D0.>?V.;I8NaH:+Z /!a"WFΠ[p$! $#&C6%NOKW`mv2!5654&#"&546323546#".547&=4&#"#"&5463232>54'"!54&2654'#"''2654'2654'#"&547YvGH8.1A4D`MJc%r*?>$ %D0,#N5&+6^G:D= QU=O#S  "(E%%535/vb-O.:B4B$5WK[ZJ9)Vi, ,1"\'#G..L"!C0.>?V.;I8NaH:+Z /!a"WFΠ[p   !}#&C6%NO." '"#& '".KR[2!5654&#"&5463235462654'7#"&=4&#"#54#"&54>32632"!54&YvGH8.1A4D`MJc%r!+Q^@4/A"'"9: %&MW-% 7&"6.A'7=O#Svb-O.:B4B$5WK[ZJ9)Vi">.c$,v?M@31)?%ѶH5'b$-u*> 0.?28(3WFΠ[pKZcq2!5654&#"&5463235462654'7#"&547&=4&#"#54#"&54>32632"!54&2654'#"'YvGH8.1A4D`MJc%r!+Q^9/=*+=,7"'"9: %&MW-% 7&"6.A'7=O#S".  !vb-O.:B4B$5WK[ZJ9)Vi">.c$,vX$8-::-8E1)?%ѶH5'b$-u*> 0.?28(3WFΠ[p#0  $K\er2!5654&#"&5463235462654'7#"&547&=4&#"#54#"&54>32632"!54&2654'#"'2654'#".547YvGH8.1A4D`MJc%r!+Q^6: 8%6LE)"'"9: %&MW-% 7&"6.A'7=O#S #V: & "-vb-O.:B4B$5WK[ZJ9)Vi">.c$,vS'&F&. K7M&!91)?%ѶH5'b$-u*> 0.?28(3WFΠ[p   #[;*# ! %5*K+(m2!5654&#"&546323546"!54&2654'7#"54632&#"32>5#"'&'&#"#54#"&5462632YvGH8.1A4D`MJc%rm=O#S $0DZ&>; X4G'F/R+= !:]  6"97BNZKl&!61Avb-O.:B4B$5WK[ZJ9)Vi6WFΠ[pVC1U'LD_,2 341J1ҶH:=Z!+m@Z0/QLA$A6X9H [VT=O#Svb-O.:B4B$5WK[ZJ9)Vi'RD@K !L0;<1V*iEVRD@K !L0;<1V*iEVWFΠ[pKCYbn2!5654&#"&5463235462#"&547'654&#"&54622'654&#"&54"!54&2654&#"YvGH8.1A4D`MJc%r+<*> A6,-8H [W|L(|LA$A6,-8H [=O#S,#"+vb-O.:B4B$5WK[ZJ9)Vi#<+&:-+!L0;<1V*iEVRD@.RD@K !L0;=0V*iEWFΠ[p## KD[do2!5654&#"&5463235462#"&547'654&#"&54632%2'654&"&546"!54&2654#"2654'#"&547YvGH8.1A4D`MJc%r%7 .&7K8A7+.7H [U@>L,>L*(A6X9H [U=O#S.V:" 8 *vb-O.:B4B$5WK[ZJ9)Vi$ .&&8 L6D' !L0;<1V*iEVRD@RD.G!L0;<1V*iEVWFΠ[p .[;*#% %'3*KB =GR233##"&547#5>54.#"#4.#"632#"&5463262654&"%2654&#"eTdUIB21C#? 6%)8S40-;/>=2>Kj\C4o2##2#h$%&'s`HG,/ED0,mQ44-!,$. HR<;IkRuQO#"".#%1.H1K =HZe233##"&547#5>54.#"#4.#"632#"&5463262654&"2654'#"&'%2654&#"eTdUI!-U<@P0#? 6%)8S40-;/>=2>Kj\C4_%&$)92'2Ec$%&'s`HG"ADWW?B&mQ44-!,$. HR<;IkRuQOX8*" %5!" 2+.#%1.H1MOZ%33#".54>32&#"3265!5654&#"#4&#">32#"&54632>322654&#",.4S ;iJBN5eb%?I)N'gP54.#"#4.#"632#"&5463262654&#"2'654&#"#"&54732=46eTdUIm#? 6%)8S40-;/>=2>Kj\C4$%&'4@bP-";<.8DUD&,9Cs`HGmQ44-!,$. HR<;IkRuQOn.#%1.H1EM?w-%Y1>e*/54.#"#4.#"632#"&5463262654&#"2+"3!!"&546;2654&#"#"&546732654&546eTdUIm#? 6%)8S40-;/>=2>Kj\C4$%&'$5  & $$H'!( /:)"6?+4G.1"/;!<s`HGmQ44-!,$. HR<;IkRuQOn.#%1.H1E++'>"20"L9.:` -4H;*H :+6-*#+4KZ2=233!5>54.#"#4.#"632#"&5463262654&#"2+"3!!"&546;254&+532654#"#"&5467326='46eTdUIm#? 6%)8S40-;/>=2>Kj\C4$%&'@:((@6$$Q '' Q D8;05F? #.<"?s`HGmQ44-!,$. HR<;IkRuQOn.#%1.H1F=$-'02(#6!8?70:H;6B  ;*5.#:'/K-2=n233!5>54.#"#4.#"632#"&5463262654&#"2#"5432&#"32654&#"#"&546732=4eTdUIm#? 6%)8S40-;/>=2>Kj\C4$%&'vN{fG4%5LQOa1';<+7E*5!' 0':s`HGmQ44-!,$. HR<;IkRuQOn.#%1.H1CmVo8*vaE\2FTA&] :*/@k1K 2|233!5>54.#"#4.#"632#"&5463262+"32632#"&547#"&546;2654&"#54&#"632#"&5463264#"32$4#"3%2654&#"eTdUIm#? 6%)8S40-;/>=2>Kj\C4 !*?J$'.$%% X]#%A8&1"4 6,( %#H6?$""$%&'s`HGmQ44-!,$. HR<;IkRuQO,)$;"L " ) #++##$9D .(+6#$DD.#%1.H1KA2233!5>54.#"#4.#"632#"&5463262#!"3!!"&5463!2654'#"&547#"&54;2654&#"#54&#"632#"&54>32>32+"3274#"32$4#"3%2654&#"eTdUIm#? 6%)8S40-;/>=2>Kj\C4Tb<6,&&j '!&'2>%%NJ(%1,'  6*") $$31K :+ EQ#0:""s$%&'s`HGmQ44-!,$. HR<;IkRuQOn-"!+'!)   + *V/)  4%.&$/ $$ (>DD.#%1.H1KN2233!5>54.#"#4.#"632#"&546326232#!"3!!"&5463!254#5254#"&547#".54;2654#"#4&#"632#"&54632>2654#"'4"2"3267+&%2654&#"eTdUIm#? 6%)8S40-;/>=2>Kj\C4z &(WoX!!#0!2  k yi9933+#  L@ 3 ..2&+m"$%&'s`HGmQ44-!,$. HR<;IkRuQO4 , L-  &  LV #?R I.-/2.#  !! 7I.#%1.H1K'2233!5>54.#"#4.#"632#"&5463262#"&54632&#"32654&'#"&547#"&546;2654&#"#54&#"632#"&54>32>32+"3264#"32$4#"3%2654&#"eTdUIm#? 6%)8S40-;/>=2>Kj\C4u9Jt\$_P0H.%3O(+K[%.()&@J(5!';7*!( $32I <,8G<'1)!!y$%&'s`HGmQ44-!,$. HR<;IkRuQOk@3AQI;0  R410"(N *%%,%#.$7(09V9DD.#%1.H1K 2Yd233!5>54.#"#4.#"632#"&5463262#"/3254&+53254&#"&546%2654&#"eTdUIm#? 6%)8S40-;/>=2>Kj\C4>5/1@6E+$I))DSq$%&'s`HGmQ44-!,$. HR<;IkRuQO-=(/%7 )/ /GJ4?K3Q`A.#%1.H1K 2cr}233!5>54.#"#4.#"632#"&5463262#"&547'62654&+53254&#"&5462654&'+2654&#"eTdUIm#? 6%)8S40-;/>=2>Kj\C4>5/1/1C-/A8 ++$I))DSK&" $B$%&'s`HGmQ44-!,$. HR<;IkRuQO-=(/0!;1?@0B  # /GJ4?K3Q`P$"%&.#%1.H1K2hv233!5>54.#"#4.#"632#"&5463262#".547'632654&+53254&#"&5462654'#"'2654'#"&5472654&#"eTdUIm#? 6%)8S40-;/>=2>Kj\C4>5/1.:-# %E -+$I))DS<  &4350V$%&'s`HGmQ44-!,$. HR<;IkRuQO-=(^$D$5 .L"  $ /GJ4?K3Q` P." '"#& '!/.#%1.H1KP2lw233!5>54.#"#4.#"632#"&546326#"&5432&#"32654&+532>54&#"&54>32%2654&#"eTdUIm#? 6%)8S40-;/>=2>Kj\C4($Q.0(Rq5$<&-72(% $*)4>*:D$%&'s`HGmQ44-!,$. HR<;IkRuQO4O$5 .  2+'3#! )4="6=K388!5s.#%1.H1K 2Wb233!5>54.#"#4.#"632#"&5463262654'7#"'#".547326=32654&#"eTdUIm#? 6%)8S40-;/>=2>Kj\C4%1JUJ58%$5 %-\<,#%:!F$%&'s`HGmQ44-!,$. HR<;IkRuQO+C4V$0gDU11 @,l,+Z3? ϶!(C.#%1.H1K 2cq|233!5>54.#"#4.#"632#"&5463262654'7#"&547&'#".547326=32654.'+2654&#"eTdUIm#? 6%)8S40-;/>=2>Kj\C4%1JU::,<%$5 %-\<,#%:!4" -d$%&'s`HGmQ44-!,$. HR<;IkRuQO+C4V$0gW+A&<+1 1 @,l,+Z3? ϶!("  ..#%1.H1K 2bn233!5>54.#"#4.#"632#"&5463262654'7#".547&'#".547326=32654'"'2654'#"&5472654&#"eTdUIm#? 6%)8S40-;/>=2>Kj\C4%1JUB@M5&8 G$5 %-\<,#%:! ,V: &*#-$%&'s`HGmQ44-!,$. HR<;IkRuQO+C4V$0g]*%L8J .&P$ 1 @,l,+Z3? ϶!( # *[:+# !65+.#%1.H1K8 2=~233!5>54.#"#4.#"632#"&5463262654&#""&5432&#"32>5#"'#".547326=332>54'7eTdUIm#? 6%)8S40-;/>=2>Kj\C4$%&'6N@'"7F230$3/'"77()F'&@Ds`HGmQ44-!,$. HR<;IkRuQOn.#%1.H1 "/ !@-'22@*n*)]6?ֶL9+U*8;%Ed3K2r233!5>54.#"#4.#"632#"&546326#".54632.#"32#"'#".547326=332654'2'654#"#54"&546322654&#"eTdUIm#? 6%)8S40-;/>=2>Kj\C44:1_B<;S>N.6%*:2' B%7'$6%5 [;%,/6"'2JW( $%&'s`HGmQ44-!,$. HR<;IkRuQO'O-VT4 &$.+ -*33%7,m+,Y-H϶!+F4X$ ' .#%1.H1K 2=b233!5>54.#"#4.#"632#"&5463262654&#"2'654&#"#54&#"&546326eTdUIm#? 6%)8S40-;/>=2>Kj\C4$%&'6H -%?(. 9'(1KUJ;8%%s`HGmQ44-!,$. HR<;IkRuQOn.#%1.H1EWB1>*Z+Fѵ&!A0\#.hBY10K2=ak233!5>54.#"#4.#"632#"&5463262654&#"2#"&547&#"#54#"&5463262654'eTdUIm#? 6%)8S40-;/>=2>Kj\C4$%&'CZ5,*7D+97'4MYJ86%/k$6B$s`HGmQ44-!,$. HR<;IkRuQOn.#%1.H1EiJ7EC7R6 ѵHC3Z!-hAZ0/#(O.4E$+KX2={233!5>54.#"#4.#"632#"&5463262654&#"4>32632#"'732>54'#"&54>7&#"#54#"&2654'eTdUIm#? 6%)8S40-;/>=2>Kj\C4$%&') /&4'+",98  NZx"+ s`HGmQ44-!,$. HR<;IkRuQOn.#%1.H1.B 0.KS2Ih ':0P&7#5>54.#"#4.#"632#"&5463265#%2654&#"eTdUI)8\7 #? 6%)8S40-;/>=2>Kj\C4h%#$%&'s`H /:-mQ44-!,$. HR<;IkRuQO(:.#%1.H1K| FNZe233##".547!5>7#5>54.#"#4.#"632#"&5463265#2654&#"2654&#"eTdUIE/ ")8\7 #? 6%)8S40-;/>=2>Kj\C4h%##$ "C$%&'s`H,3A 1"- /:-mQ44-!,$. HR<;IkRuQO(:"!+"o.#%1.H1K; DLWju233##"&547#5>7#5>54.#"#4.#"632#"&5463265#2654&"2>54'#"&'2654&#"eTdUI",S>=S.8\7 #? 6%)8S40-;/>=2>Kj\C4h%#%&)(+3&3/{$%&'s`H#@AZW?A' /:-mQ44-!,$. HR<;IkRuQO(:%&X 0%$ &4"! A.#%1.H1K2=z233!5>54.#"#4.#"632#"&5463262654&#"2#"/3254.54>323254&#"&54>32#"&#"326eTdUIm#? 6%)8S40-;/>=2>Kj\C4$%&' %593-(1C0;02/%-E/0&7 ,+3 s`HGmQ44-!,$. HR<;IkRuQOn.#%1.H1!)  ! FP.ES+2J%!  JMY233# $546732>5!5654&#"#4&#"632#".5463262654&#" JcXIBex;(1(ZJsw}}gI<'3SJ4%=&-@1A?4.,f^H6 %( !',gSdC5U2! NuBk2^aF-(N4XGX+$,(6**4GO=;I'L2yPPm-#%0/"%/JXgs#"&547# $546732>5!5654&#"#4&#"632#".54632632332654&#"2654&#"N2 2"3Cq(1(ZJsw}}gI<'3SJ4%=&-@1A?4.,f^H6\JcXIl " Q %( !',8, #*D2 NuBk2^aF-(N4XGX+$,(6**4GO=;I'L2yPPgSdCL$"  O-#%0/"%/J?Ucx"&547# $546732>5!5654&#"#4&#"632#".54632632332654.'"2654&'#".=2654&#"&7;U|Tjw(1(ZJsw}}gI<'3SJ4%=&-@1A?4.,f^H6\JcXI !P:'#8'# $' %( !', T0=VU>1(NuBk2^aF-(N4XGX+$,(6**4GO=;I'L2yPPgSdC_[8* 5 6& & +w-#%0/"%/K 2Zcn233!5>54.#"#4.#"632#"&546326#"&=4&#"#"&5463232654'2654'2654&#"eTdUIm#? 6%)8S40-;/>=2>Kj\C4*C4/>.!N5&+6_F0N=>Q*E%S$%&'s`HGmQ44-!,$. HR<;IkRuQO. ,1"@RA60.>?V.;I8Mb54.#"#4.#"632#"&546326#"&547&=4&#"#"&5463232654'2654&#"'2654'2654&#"eTdUIm#? 6%)8S40-;/>=2>Kj\C4*::C-/A37.!N5&+6_F0N=>Q&."$*E%S$%&'s`HGmQ44-!,$. HR<;IkRuQO. ,1"X'C1?@0>J0.>?V.;I8Mb54.#"#4.#"632#"&546326#"&547&=4&#"#"&5463232654'2654'#"''2654'2654'#"&5472654&#"eTdUIm#? 6%)8S40-;/>=2>Kj\C4*?>$ 4HD0.!N5&+6_F0N=>Q "*E%L433$%&'s`HGmQ44-!,$. HR<;IkRuQO. ,1"\'#G.G4K#!C0.>?V.;I8Mb;254#"#"5463232654&#"&4>32#"&#"32636#Bf(!>.? /^= O W9#A R(*.A9D}8 C %L3$pE5' %K,K'"!/;XjlT/ K6!  JV%#"&5467327654+53254&'&5463232654&#"&54>32#"&#"32632ab(%&*@lD@8H"uZ[R=2) N E1*/@97Q%8;$K'&:M`߷Y{>6nT-W^G-9*102(0 !-FivIAc9# "2('%'$,2J \%2#"&54>32&#"32654.#""#"&5463232654&#"&54>32#"&#'"&#"376s%0'nH3L@@7/-:O]#MS73 .!*G7 :H:) 1D=!32#"&#"32632'2'654##4654#"&54626MjaOt8"h5.I8czF8 2 % I8 60'5>V))6hH.@4%E*4%&5HWY  , 2(+41- #hV=L(&(070-JG&H`vO0VQ0">&7/+cJm    6#K%2#"&54732>54&#"&546323254.#"&54>32#"&#"^Q "6a>F*I6N$;E=/.&E > 7%86 /,IJ':T',#J U8+>2$ݴj_#3('<'*-:< !1`BQZ 32#"&#"264&+^QEFE/ ") F*IL`;E=/.&E > 7%86 /,IJ':T',#J n4"# U8T>M3A 1"۶j_Q<'<'*-:< !1`BQZ 32#"&#"2654&'2654'#"&'^Q[\U<=SF*IL`;E=/.&E > 7%86 /,IJ':T',#J ]&(%(:3&$-EU8e=cDWW?3%رj_Q<'<'*-:< !1`BQZ ,E/ "*kiJ % 9 "@SFI &eu#//" $8dA-2B 2!,,/6 gp36 4݅{#0 1"M'/9L2##"&547#5463!54&+4&#"62654&"2>54'#"&'%5>,$-U32#"&4632.#"326=!54'%354&#'"654&H+<5dMroQ([ E "UI-[=8,-BUC&00I)}&2I'KZb2#".54632.#"3254'!5462'654#"#4654#"&546326!54&+4&#"6!AY/p7E/dI]6 F$3D 1&k_  d!'+@SFI'e-[sPr 5$6HB!"/#% $$ %' -% !$0*+%(gp18&.݅{M #G2!546!54&+4&#"62'654&#"#54&#"&546326!7>.Nk % 9 "@SFI &eg6H> ?(. 9'(1KUK:7&$ $8dA,/6 gp36 4݅{WB>K*Z+Fѵ&!A0\#.hCX10M  #GQ2!546!54&+4&#"62#"&547&#"#54#"&5463262654'!7>.Nk % 9 "@SFI &eY=R2'&3?*52#0GRD31#*c 1=" $8dA,/6 gp36 4݅{hJ7DC6Q6 ϴGC2Y!-gBW//#'N.4D",LX  #^j2!546!54&+4&#"64>32632#"'7327654'#"&54>7&#"#54#"&2654'!7>.Nk % 9 "@SFI &e% )#-?''4L9 .!. *"% 0"-+2=F%  $8dA,/6 gp36 4݅{-C 0.K K=Le 5/>P&54&#"#4&#".546326Rl[Ik+3N6(1S3!=Q 3#): lWQ:7}]vOG*u>SG,$;4gN-94?E3dIIIB;H233##".547#5>54&#"#4&#".5463262>4.#"Rl[I A3"1 +3N6(1S3!=Q 3#): lWQ:7  }]vOG.0D)" .*u>SG,$;4gN-94?E3dII.+,I9DV233##"&547#5>54&#"#4&#".5463262654&"2654'#"&'Rl[I$-T=>R0+3N6(1S3!=Q 3#): lWQ:7Z%&$+73&"/E}]vOG$@AZTBC&*u>SG,$;4gN-94?E3dIIX:(" &4' 2+MB233#".54>32&#"326=!5654&#"#4&#"&546326"Sm^Nq?O7f` Q>&R;Qe'g5!5>54.#"#4&#".546326Rk[N)2*#X~*3 6&'1S3!20-$<4hO*;4@D2eJJJQVb#".547#"$&546732>5!5>54.#"#4&#".54632632332654&#"2*" #2 jv)2*#X~*3 6&'1S3!20-$<4hO*;4@D2eJJ}]wNEF$" #J?RTat#".547#"$&546732>5!5>54.#"#4&#".54632632332654.'"2654&'#"&=8 \_)2*#X~*3 6&'1S3!20-$<4hO*;4@D2eJJ}]wNEX%[8* 5 6!-8 +I&082!54>32>354+4&#"6%354+4&#"6c}(BC$4D>3OuMRFI+ jNQFI+ jÖzJl6 ?,,1!FnJ3;%4}FoI3;%4IA(0;EM2#"&547!54>32>354+4&#"6264&#"354+4&#"6c} CbC!W(BC$4D>3OuMRFI+ jz$$ +32>354+4&#"62654&"2654'#"&'354+4&#"6c}%0U<@P3(BC$4D>3OuMRFI+ jM%&$)92'2EfNQFI+ jÖz!BDWW?F"Jl6 ?,,1!FnJ3;%4X8*" %5!" 2+FoI3;%4P+4<EM2#".4>32&#"3265!5<54676326354#4&#"6%354#4&#"6ouCM44MBX82:*ef&U^/{+#LSFI*!jLSFI*!j|f ,! Tk $AU)>GmJ49%3|GmJ3:%3EE+274>32#"&5473265!354&+4#"6+;6ݑiB$?Nm #5 ?REGBj<\4 Oi۴gZyG4!- .2 ku26N{E)9@O74>32#"&547"#"&5473265!354&+4#"62654&#"+;6@C*" 0F B$?Nm #5 ?REGBjk""<\4 M1K#3 B4۴gZyG4!- .2 ku26N{G!!$EI+;BNb#".547+"&5473265!54>32354&+4#"62654&'"2654&'#"&=2 $U>+> +B$?Nm+;6ݗ #5 ?REGBj@!")9,8+-/)8 6!=V$5*>+۴gZyG4<\4 `- .2 ku26N{H [9)#5588 (:M  0@HQ2!5462654'7#"&=4&#"#"&54632!54&+4&#"62654'!7>.Nk 0KY=2+;5I1$'4YB6@ % 9 "@SFI &el&A" $8dA(>1a"*rBPC40:2?V-.Nk:KY97B./A:-5I1$'4YB6@ % 9 "@SFI &ew#!$%&A" $8dA(69a"*rZ'A1??1C!C0:2?V-54'#"&547!7>.Nk:KY?;-# $5 3(5I1$'4YB6@ % 9 "@SFI &e\ &A"", 3&#/ $8dA(69a"*ra$$D$5 -# -: !?0:2?V-54&#"2654&#"327.54&#")*CbC  8*7VEK,@T*?WmL%X!-7-.>D"# #0`A1D1#&16 >$1CD0 sSoVV*=4Mx]nBN{vG4:)@UT54&#"2654&#"2654'#"&'327.54&#"+;TzS-*7VEK,@T*?WmL%X!-7-.>D&!%(:3&3'0`A1D1#&1% A6BYW?3% sSoVV*=4Mx]nBN{54:)@UT32&#"32>7#"'#"&5463263232654'>54&#"%327.54&#"9,0N{R>G3.JG#RH52>\4! F7*7{VEK,@T*?WmL!-7-.>D}i /F/%&11IEncB& !*#$5OE*a xSoVV*=4Mz[nB4:)@UT32'>54&#"%327.54&#"4&"325#32=#"!WmL%Xn8*7VEK,@T*?0*+" !*8.5)'0782*Z !-7-.>D0`A1D1#&1%6 "A}j (?"x]nBN{n sSoVV*=4M7#$1 # !!CS227(0!:E4:)@UT54&#"%327.54&#"4&#"25#'32=#"!WmL%Xn8*7VEK,@T*? #G"*8.6*(/6O4*'2!-7-.>D0`A1D1#&1- 54&#"%327.54&#"2!"&5473254&+532654&+#"'#"&54634632#4&#"325#32=#"!WmL%Xn8*7VEK,@T*?@!-7-.>D0`A1D1#&1V-$%A;" +8.6+'/9M3*-.&" Cl*A"x]nBN{n sSoVV*=4M4:)@UTNgi  DS447(0 9F.% &54'5 %(x5# ?9O.!/?ry%2654'7#"'#"&54632632'>54&#"%327.54&#"2#"&54632&#"32654&+#"'#".546;4632#4&#"26=#'32=#"!WmL%Xn8*7VEK,@T*?@!-7-.>D0`A1D1#&15,#86O!\jz%2654'7#"'#"&546326322'654&#"32#".547##"'#"&546;46323>'>54&#"%327.54&#"2654+'.#"327#32=#"!WmL%Xn8*7VEK,@T*?l ".%S$=?. 6 A;$*) 8.6)'1994**##,!-7-.>D0`A1D1#&11'{# !A~k(?"x]nBN{n sSoVV*=4M6 9$SG6I6G/(%6!420BT227(0!9E0 )7N4:)@UT54.#"32#"&547##"'#"&546;>326'>54&#"%327.54&#"2654&+'.#"327#32=#"!WmL%Xn8*7VEK,@T*?q>T,04( .% " ' 3#+, (/8.6+'08:3** #(!-7-.>D0`A1D1#&1(" !A~k'?"x]nBN{n sSoVV*=4M69*&'&- (1*% .&(1A2CS227(.#9E/"N4:)@UT54&#"%327.54&#"#"&54732654&+532654#"32#"&547##"'#"&546334632>32'4&+326'.#"327#32=#"!WmL%Xn8*7VEK,@T*?@!-7-.>D0`A1D1#&13/ǚ|I0@ ,,*#,2*/'#,43 /&Q  K?9J"%#9n`#7"x]nBN{n sSoVV*=4M4:)@UT54&#"%327.54&#"!WmL%Xn8*7VEK,@T*?,7"9Q%1 4 !-7-.>D0`A1D1#&1"x]nBN{n sSoVV*=4Ms5+- (9$ $14:)@UT54&#"%327.54&#"2654&#"!WmL%Xn8*7VEK,@T*?,7"9#=*+=#%1 4 !-7-.>D0`A1D1#&14"" "x]nBN{n sSoVV*=4Ms5+- /-::-/(9$ $14:)@UT54&#"%327.54&#"2654#"2654'#"&547!WmL%Xn8*7VEK,@T*?,7"9$4 /%&8 4%1 4 !-7-.>D0`A1D1#&1.V:,")$-"x]nBN{n sSoVV*=4Ms5+- 'A&8 /%A'(9$ $14:)@UT54&#"%327.54&#"2654'!WmL%Xn8*7VEK,@T*?^L_Q$:H7F8V5C. ?HU;'$#v!-7-.>D0`A1D1#&1&8A""x]nBN{n sSoVV*=4M3aFZ0 .H=S=O7FD6P6 .'R* 3`EYK4:)@UT54&#"%327.54&#"2654'!WmL%Xn8*7VEK,@T*?iITB0((v"**"$1C7  G9T6B/:AIO>(!"y!-7-.>D0`A1D1#&1!7A""x]nBN{n sSoVV*=4M5UFAT3$$D3:F2D099-F+?.F 'P;OM4:)@UT54&#"%327.54&#"2654'!WmL%Xn8*7VEK,@T*?P:+!$@./*0''s ,#)WL-E8V5C/:@H|!-7-.>D0`A1D1#&1!7B""x]nBN{n sSoVV*=4M;IS$.#73%0;!: 1C/::-?/>/G %&4:)@UT54&#"%327.54&#"2#"&54632&#"32654&#"#".547&#"&54>3262654'!WmL%Xn8*7VEK,@T*?@!-7-.>D0`A1D1#&1Q`j@LO=?6$9QQOaG< F7.$. C1>?H&7-$/#8@*"x]nBN{n sSoVV*=4M4:)@UT54&#"%327.54&#"2654'!2654'!WmL%Xn8*7VEK,@T*?~=RG5D6@/'&.=*1,!>/'%/<$17>I5%"@$<!-7-.>D0`A1D1#&1"3:#3:"x]nBN{n sSoVV*=4M4_E\/ -K=R=Q7EB7R6 ,#(2:R7ED5R676R+ 0bDW<;L4:)@UT54&#"%327.54&#"2654'2654'!WmL%Xn8*7VEK,@T*?LAD2%%s$#':@4 =.&$.:!*3,% <1#%-9)3:BI4# ">+&8!-7-.>D0`A1D1#&1/7 /7"x]nBN{n sSoVV*=4M8Y7B^61#)K97C-K.;;,K' %!)-I/;;-J(>-M %Y:H12P4:)@UT54&#"%327.54&#"2654'2654'!WmL%Xn8*7VEK,@T*? 03)(z (P &,##;.%$,9!*1." :.H,8 !8@F4"!;,$8#8.M!-7-.>D0`A1D1#&1-6-7"x]nBN{n sSoVV*=4M 8'41 $;',' -I/;;,G*$"*-J/;:.J) /K 'W:J32'w4:)@UT54&#"%327.54&#"2#"&54632&#"3254.#"#"&547&#"#54&#"#".547&#"&5463263263262654'!2654'!WmL%Xn8*7VEK,@T*?@!-7-.>D0`A1D1#&1AP&B@$7ET(7,16H 2! @2'"/< L0(! ?2'"< $17=F7# !&= H !/!3;'!3;'"x]nBN{n sSoVV*=4M4:)@UT54&#"%327.54&#"2'654&#"#54&#"&546326!WmL%Xn8*7VEK,@T*?@!-7-.>D0`A1D1#&16H -%?(. 9'(1KUJ;8%%"x]nBN{n sSoVV*=4M4:)@UT*Z+Fѵ&!A0\#.hBY10O!/?bl%2654'7#"'#"&54632632'>54&#"%327.54&#"2"&547&#"#54#"&5463262654'!WmL%Xn8*7VEK,@T*?@!-7-.>D0`A1D1#&1CZ6V6D+97'4MYJ86%/k6B$"x]nBN{n sSoVV*=4M4:)@UT54&#"%327.54&#"462632#"'732>54'#"&5467&#"#54#"&2654'!WmL%Xn8*7VEK,@T*?@!-7-.>D0`A1D1#&1`Nj&,;R0<9_K&& (: ; 6+&2>+>",98  NZx"#'"x]nBN{n sSoVV*=4M4:)@UT54&#"%327.54&#"233!5654&"&546!WmL%Xn8*7VEK,@T*?@!-7-.>D0`A1D1#&1="1 ;/$<+$/@"x]nBN{n sSoVV*=4M4:)@UT54&#"%327.54&#"233##"&547#5654&"&5462>54&#"!WmL%Xn8*7VEK,@T*?@!-7-.>D0`A1D1#&1="1 ;%! /A$/$<+$/@, .#%"x]nBN{n sSoVV*=4M4:)@UT54&#"%327.54&#"233##".547#5654&"&5462654&"2654'#"&547!WmL%Xn8*7VEK,@T*?@!-7-.>D0`A1D1#&1="1 ;-5-# %5/$<+$/@&0A!'40"x]nBN{n sSoVV*=4M4:)@UT54&#"%327.54&#"233#"&4632&#"3265!5654&#"&546!WmL%Xn8*7VEK,@T*?@!-7-.>D0`A1D1#&1?"1 002(iV43*+L/"54&#"%327.54&#"4632!7354&'4#"6!WmL%Xn8*7VEK,@T*?@!-7-.>D0`A1D1#&1r9T&-/*2,Am"x]nBN{n sSoVV*=4M4:)@UT54&#"%327.54&#"4632##"&547#7354&'4#"62654'#!WmL%Xn8*7VEK,@T*?@!-7-.>D0`A1D1#&1r9T&C-1?&o&-/*2,Am.&11%"x]nBN{n sSoVV*=4M4:)@UT54&#"%327.54&#"4632##"&547#7354&'4#"62654&#"2654'#"&547!WmL%Xn8*7VEK,@T*?@!-7-.>D0`A1D1#&1r9T*3-# 4H3c&-/*2,Am&4350"x]nBN{n sSoVV*=4M4:)@UT$5 G4>").gM<$6TNP-# '"#& '!/O,!/?^is%2654'7#"'#"&54632632'>54&#"%327.54&#"432#".54632&#"326=#7354&#'"654&!WmL%Xn8*7VEK,@T*?@!-7-.>D0`A1D1#&1vCV37H7C;7N<(#$(30,_ t "x]nBN{n sSoVV*=4M4:)@UT%$bQA!(1tS[!O9'5<L%2654'73!5>7&'#"&54632632'>54&#"5327.54&#"!WmL%X`53Q**7VEK,@T*?@!-7-.>D*7#6#0`A1D1#&1"x]nBN{KYC sSoVV*=4M4:)@UT7&'#"&54632632'>54&#"5327.54&#"2654&'#!WmL%X`5 *" "1 Q**7VEK,@T*?@!-7-.>D*7#6#0`A1D1#&12#"x]nBN{K+"2 )" +YC sSoVV*=4M4:)@UT7&'#"&54632632'>54&#"5327.54&#"2654&#"2>54'#"&'!WmL%X`5,S>=S.Q**7VEK,@T*?@!-7-.>D*7#6#0`A1D1#&1.%%C*3&3E"x]nBN{K&?CXW?A)YC sSoVV*=4M4:)@UTH2#"/2654&+532654&#"#"&547&#"&5463262654'5:W'KQ4!(F)' !!%7A<6lSB?Qi $M`^!jua>8>W(6V\. /% :$S (! 44&#*-."$8\wSjeRvTrV}?Lg$$rI9lHIs7CJ4AK2#"$54732654+53254.#"#"&547&#"&5463262654'XsCGvnO E쯇7%%- 4#=6lTA@Pi!"N`^ kua?8K%#".54632&#"32>54'#"&546;&#"&546322654'&#"]x7@+fQO=.@kk>Z.SD9D[I0V3@+bwa9#.+5;J"V  *!&';cg9Fa|NAMjL(V:y<Jk;=* $P;@Y/"3ME$/2!!3##".547!546"!54&2654'#^uSE/ "*Dsv@U(P#//"j/G,2B 2!,l0UC6%N[#0 1"M"-A2!!3##"&547!546"!54&2654&"2>54'#"&'^uS ,T=?Q/ksv@U(P%&$*2'1Ej/G#?AZW?A&l0UC6%N[ X# " %5"! 2+J-474632!!3#".54>32&#"326=4&5!"!4J[j^S6`M@L4bVKF&R%YZ$QONC)yB@O: % (*:Q_>6M5>DLU2!!3!5462#"/32654&+#"'#"&546324632"!54&4&"325#32=#"^uSs0*,!!*8.5)'0784*Z @U(P%6 "A}j (?j/Gl7#$1 # !!CS227(0!6I"UC6%N[%3/)1&6t )#=7M=FMU^2!!3!5462#"/3254+53254+#"'#"&54634632"!54&4&#"325#32=#"^uSs #G"*8.6+(/6O4*%3@U(P-!A}k(?j/Gl 6!BS226)27G64"UC6%N[/(2%9 #$s3.=6M@PW_h2!!3!546"!54&2!"&5473254&+532654&+#"'#"&54634632#4&#"325#32=#"^uSsv@U(P -$%A;" +8.6+&09M3*, .&" Cl*Aj/Gl0UC6%N[#|WE>Ngi  CT447(0 9F.% &54'5 %(x5# ?9M.IPYb2!!3!546"!54&2#"&54632&#"32654&+#"'#"&546;4632#4&#"26=#'32=#"^uSsv@U(P,"86IGP[bir2!!3!5462'654&#"32#"&547##"'#"&546;46323>"!54&2654+'4&#"325#32=#"^uSs|-B S$=?. 6 A;*$+)8.6+'1994**# $+@U(P~1' % !B~k(?j/Gl+&7,SG6I5H/(%6&/S!CS228'0!9E0 )8UC6%N[T<*&%27 1'5s3%=6=Xalsz2!!3!5462#"/3254+57>54&#"32#"&547##"'#"&546;>326"!54&264&+'.#"327#32=#"^uSs>T,04( .% 7' 3#+*"(/8.6,'08:3** #@U(Pt(" !A~k'?j/Gl+8+''&- (1*%! .&(1A2AU227(.#9E/!UC6%N[T0! $,&16!1'5s3&=6K&bkry2!!3!546"!54&#"&54732654&+532654#"32#"&547##"'"&546;>32>32'#3254'4.#"325#32=#"^uSsv@U(PX.*l B2'## '.%*B'./)"I  M.0G!& 03bV 1j/Gl0UC6%N[TPoSM?OiT>&L(%0#)1@3 CQ//6)."8E}?A?2,=N57 "%T1)1p1";5M:2!!3!546"!54&2'654&#"#"&54732=46^uSsv@U(P5?bP-";=-8DUD&,9@j/Gl0UC6%N[YN>w-&X1>e*/54'#".547^uS'8I97K8%1 3&-6"sv@U(P$.+-! "-$j/'&E5MK7E&(9$ %06*/l0UC6%N[.[$ % , %5+M8AK2!!3!5462'654&#"#"&547&#"&546326"!54&2654'^uSsjL_Q$:H7F7,+5C. ?HT<'$!@U(PV'8A"j/Gl.aFZ0 .H=S/F 'P;OUC6%N[&;(-:$MXPYc2!!3!5464632632#!"3!!"&546;254&+532654#"#"&547&#"&"!54&2654'^uSsUN<+!$@./*0''s5#)W L.E7,+5C/:@H!@U(Pa!7B"j/Gl9KS#.#73#0;!: 1C09:-@.>/G %}UC6%N[&:(-9$M-PZ2!!3!546"!54&2#"&462&#"32654&#"#".547&#"&54>3262654'^uSsv@U(PPaj?MM~6$9QQOaG< F7.$. C2=?H%.! $/#8@*j/Gl0UC6%N[\wXj.0u\Ne.;08*"!)6 '*' 7*"!)5 ?07@/#95@U(Pw,-3-3j/Gl._F]/ -L?Q>Q7FD6U4 -"(2;R7FC7R7@CT* 0cEW==UC6%N[W.'I15J#./'I15J$-MUgpz2!!3!5462#!"3!!"&5463!2654&#"#"&547&#"#54&#"#"&547&#"&546326326326"!54&2654'2654'^uSs.: +.6#0.65(! '2 $,+ 3) '1 $,29>.6& 1@U(P)0((0j/Gl(1<"/9'60$%K80I-I.;8.K'$'"-H/::-J'<.M $Y9H12UC6%N[~!&A%(B%( B$*@MTqz2!!3!5462#!"3!!"&5463!254&#퀆&#"#"&547&#"#54&#"#"&547&#"&546326326326"!54&2654'2654'^uSs)B')-##0$"E !(3)'1 $+' 2' &0"/17;/5$ 1@U(P'/(/j/Gl)'.7&51$$;$,' -I/;9/G*%"*-J0::.J)?/L 'W;I32UC6%N["&B#)@'(!B%*A(M)22!!3!5654&#"&546323!546"!54&^uS/$*$/B2!2 sv@U(Pj/) 1#*!+#:1>' #l0UC6%N[M'6?L2!!3##"&47#5654&#"&546323!546"!54&2654&'#^uS&! /A%/$*$/B2!2 sv@U(P&%j/)0*@` 1#*!+#:1>' #l0UC6%N[$&$$M:COb2!!3##".547#5654&#"&546323!546"!54&2654&#"2654'"&547^uS(5$ %5/$*$/B2!2 sv@U(P &4)>*1j/)&?..@% 1#*!+#:1>' #l0UC6%N[ P." ,* &$,MP9B2!!3# 4732>=!5654&#"&546323!546"!54&^uSzV>5DE/$+$.@42?sv@U(Pj/5G SL@Gjt &2%*")";2=<0$l0UC6%N[MDMZ2!!3#".547# 47326=!5654&#"&5463235!546"!54&2654&+]vS0?25(3 * Qn/$ *$.@42?sv@U(P4"+l/Y,DK-* * !w]&2%*")";2=<0$l0UC6%N[# MCLVk2!!3#"&547# 47326=!5654&#"&5463235!546"!54&2654'2>54'"&547^uS:DC02@  Qn/$ *$.@42?sv@U(P&,$'&<& ?j/Y0K/CD.) * !w]&2%*")";2=<0$l0UC6%N[ & 'Q ," (' $0)M7@2!!3!546"!54&2!5654&#"&546323546"354&^uSsv@U(P>K4/$ *#.B12AlJJ)26j/Gl0UC6%N[[O@3%)"+";1=<1$7G&:+g;HMBKW2!!3!546"!54&2##"&547!5654&#"&546323546"354&2654&#"^uSsv@U(P>K)B.0@)/$ *#.B12AlJJ)26&.$%j/Gl0UC6%N[[O@31?@033%)"+";1=<1$7G&:+g;Hx$"&$MGP[p2!!3!546"!54&2##".547!5654&#"&546323546"354&2654'#2>54'#"&547^uSsv@U(P=L%3 4" %3/$ *#.B12AlJJ)26.$", 3&#/j/Gl0UC6%N[[O@ < $,.< 3%)"+";1=<1$7G&:+g;H  P#!  '"4 '".M?HQ2!!3!546233#5>54&#"#54&#"632#"&546326"!54&3254&"^uSs 4?6-'1 4+g &'&'/SB:*!^@U(P($j/Gl3M@W.F8:2#05)(0E8Ni65UC6%N[26!MKTaj2!!3!546233##".547#5>54&#"#54&#"632#"&546326"!54&2654&#"$3254&"^uSs 4?6-+25(3 +e'1 4+g &'&'/SB:*!^@U(P!"M($j/Gl3M@W.5K-*5F8:2#05)(0E8Ni65UC6%N[$+ #26!MR[f|2!!3!5462363233##".547#5>54&#"#54&#"632#"&546326"!54&2>54#"2654'#"&5473254&"^uSs 4?6; 4-*2H3 %2?'1 4+g &'&'/SB:*!^@U(P+/(84'"*)e($j/Gl3M@W.$@4G.@$F8:2#05)(0E8Ni65UC6%N[,*W8($ '!34 "%26!M+22!!3!5464632!"!54&354&'4#"6^uSs9Tr@U(P&-/*2,Amj/Glmc]xUC6%N[).gM<$6TNM !*6=H2!!3!5464632##"&547#"!54&354&'4#"62654'#^uSs9T%A/1?%nr@U(P&-/*2,Am.&11%j/Glmc]x0/AA/1UC6%N[).gM<$6TN$2 2$M$-9@L`2!!3!5464632##".547#"!54&354&'4#"62654&#"2654'#"&547^uSs9T*3H3 %3cr@U(P&-/*2,Am%535/j/Glmc]x">4G.>"UC6%N[).gM<$6TN P." '"#& '".M 7AJ2!!3!54#"&=4&#"#"&5463232>54'"!542654'~_S)*C4/>,#N5&+6^G:D= Q)<(`(E%G/ ,1"@RA60.>?V.;I8NaH:+Z /!a"136V#&C6%NOM >HV_2!!3!54"&547&=4&#"#"&5463232>54'"!542654&'+'2654'~_S)*38B\B,5,#N5&+6^G:D= Q)<(# .%(E% G/ ,1"S'B1??17" G0.>?V.;I8NaH:+Z /!a"136-& 0$#&C6%NOM EO\ey2!!3!54#".547&=4&#"#"&5463232>54'"!542654'#"''2654'2654'#"&547~_S)*??$ %D1,#N5&+6^G:D= Q)<( !(E%%53&#/ G/ ,1"]%$G..K"!D0.>?V.;I8NaH:+Z /!a"136   !}#&C6%NO." '"4 '".LB,8233##".547#5654&#".5462654&#")\{SSB2"1 kZBFT+ )7z +##y\G,/E)" +NcL_bJ'51!AD/d+ "#L*4H233##"&547#5654&#".5462654&"2>54'#"&')\{SS%-T=?Q/kZBFT+ )7zX.%&C*2'1Ey\G"AAZW?B&NcL_bJ'51!AD/dv# " %5"! 2+H9233#"5432&#"32>5!5>54.#".546*^rQS 1V9G912-< 09/0HV>$$,{p_uXG 9@.KJ%&'6?."i:*>bKEW 5P.fI/c2233#"$5473265!5>54.#".546aqQNXHj19?+CZA#(7s^tXC^p激m_qPB$j700]NFZ@C0jIl<I233"&547#"$5473265!5>54.#".5462654&#"aqQN?HCbC04XHj19?+CZA#(7!" s^tXCM5O1CD0 激m_qPB$j700]NFZ@C0j$#+IOm=J\233#"&547#"$5473265!5>54.#".5462654&#2654'#"&'aqQNV`U<>RXHj19?+CZA#(7e# $,65$#/Es^tXC[8eDWV@+"激m_qPB$j700]NFZ@C0j&X9)" '3) 2+LIR233!5654&#".546#"&=4&#"#"&5463232>54'2654')\{SSvkZBFT+ )7z*C4/>,#N5&+6^G:D= Q(E%y\GNcL_bJ'51!AD/d. ,1"@RA60.>?V.;I8NaH:+Z /!a"#&C6%NOLP^g233!5654&#".546"&547&=4&#"#"&5463232>54'2654&'+'2654')\{SSvkZBFT+ )7z*38B\B,5,#N5&+6^G:D= Q# .%(E%y\GNcL_bJ'51!AD/d. ,1"S'B1??17" G0.>?V.;I8NaH:+Z /!a"h-& 0$#&C6%NOLVcx233!5654&#".546#".547&=4&#"#"&5463232>54'2654'#"'2>54'#"&547'2654')\{SSvkZBFT+ )7z*=@ 4" %B2,#N5&+6^G:D= Q ", 3&#/(E%y\GNcL_bJ'51!AD/d. ,1"[&#I $,.J"!E0.>?V.;I8NaH:+Z /!a"   P#!  '"4 '".#&C6%NOL9&.233!5>7#5654&#".5465#)\{SS>9[8kZBFT+ )7zJ%#y\ /9.NcL_bJ'51!AD/d(:L}5=J233##".547#5>7#5654&#".5465#2654&'#)\{SS*" "1 9[8kZBFT+ )7zJ%##"y\+"2 )" + /9.NcL_bJ'51!AD/d(:###"L<08CW233##"&47#5>7#5654&#".5465#2654&"2>54'#"&')\{SS(T=AO+9[8kZBFT+ )7zJ%#%&$*3&3Ey\&32632#!"3!!"&5463!2654&'#"&5467&#"#"&54>732652654'[$;>"sJ]=?ZD" .?<-9>SL6PA;OPM-H8C[HRb >+'5!/' $:%,8S17Q)\FE_]zI6(*:lMF` 7kA\KIOe~_7HC:@,2J!BJD7G; G:1@I]g3!!"&5463!2654#5254&##"&54>7&#"#"&54>732654>32632#!"3254'|#,=15#/WXV>"U?:L 2++A.:[HQc =,&5 9'0.(O6gKA W:"5)I AFK9)G-%N(K.?7@_|\E+K1 6:F'IOe~_8H@9@.2>*Uz"@=$KTDA# /%:21D}M>OMUb%#".54>32&#"32654.'#"&5467&#"#"&54>732654>326322654'ަAN53L@dD8D=QK7<(N>8JHF!L<9ZIQc =,&5!/' 0.(O7oF g}$,)8*s!"$#;.'03]~]H?oBgNf~_8H@8A-2I"Uz"><$YK>A8)5"-=J^EP233!532654&#"#"&547&#"#"&54>7326=4>3262654'I\cSFUC6@@0*6H+.5TEUg =,&5I;#7+6'22)B.4DwXED#kXLc7d>SS>YAXJSSd`7JB8@+Ld:DN.J) 15U00U*-JCfO_j233#"&547!532654&#"#"&547&#"#"&54>7326=4>3262654.+"2654'I\cSCbCfFUC6@@0*6H+.5TEUg =,&5I;#7+6'22)Z"*{.4DwXED-1CD0+#kXLc7d>SS>YAXJSSd`7JB8@+Ld:DN.J) #  15U00U*-JgP[mx233##"&547!532654&#"#"&547&#"#"&54>7326=4>3262654&"2654'#"&'2654'I\cS$-U<@P/FUC6@@0*6H+.5TEUg =,&5I;#7+6'22)0%&$+72'#/E.4DwXED#@DWW?B&#kXLc7d>SS>YAXJSSd`7JB8@+Ld:DN.J) X:($ $6) 2+L15U00U*-I_i%!3#".54>32&#"3265!53>54&#"#"&547&#"#"'&546732674>76326322654'8+S~@K46N=PJ ]4JI5lU.9L?@@0+5H. *YDR63R>w 9'3%0V?%)?Rg$4D ;xGov  %b\#h9Ng7d9OM;YA$HO8LhE?TG&V|/:'RU+,?6t6'U00U'6J[fq%4632#"&547&#"532654&#"#"&547&#"#"&54>7326=4>326323&2654&'%2654'udaFCPB8Jo#Od_FUC6@@0*6H+.5TEUg =,&5I;#7+6'22)?I\c<'1%f0.4Df{QL`XtWGZpTy:#kXLc7d>SS>YAXJSSd`7JB8@+Ld:DN.J) wXETB@F>TTc2@Y15U00U*-Jh3!!".54>3!2>54.'#"&54>7&#"532654&#"#"&547&#"#"&54>7326=4>32632!&547632632#!"%2654'%2654':+--+>V);'&O;=P1#%-4L#_FUC6@@0*6H+.5TEUg =,&5I;#7+6'22)?I\c<@?Z\Cf*)#&SS>YAXJSSd`7JB8@+Ld:DN.J) wXETi[CCCi~`|R2S:X42AX15U00U*-JG2#!"3!!"&54>3!2654&+532654&+#"&54>7&#"!532654&#"#"&547&#"#"&54>7326=4>326323&54>3263254'2654'l]z@DM9%/ ) `&#% (Q: 'Q@9L1(%4*C&_FUC6@@0*6H+.5TEUg =,&5I;#7+6'22)?I\c< -R3_D-&M"A=.4D|YC<"`.8$I?. $&*!<*./@BMUs`F*H0 %"/:*y:#kXLc7d>SS>YAXJSSd`7JB8@+Ld:DN.J) wXETi1B7&H2CJ:QK15U00U*-J%4632#".54>32&#"32>54.'#".54>7&#"!532654&#"#"&547&#"#"&54>7326=4>326323&2654'%2654'fxB>T! _f4K@SM99+"\f'7V4" 1&RC %/ E3&HK547,FUC6@@0*6H+.5TEUg =,&5I;#7+6'22)?I\c>%#0#2 ,.4Dhr Q^3 %)>TO(=I 9Zy D/+>09:8O7k #kXLc7d>SS>YAXJSSd`7JB8@+Ld:DN.J) wXEXDM:82 4$(JW15U00U*-M-R\2#"&547&#"#"&54>7326=462'654&#"#54&#"&546326'3254&'iPA8Px(*4G[HRb >+'5!/' $:i6H'$?(. 9"(1KUJ;7&$7?MlÔtVnWG`"`GIOe~_7HC:@,2J!BJCZi'WB,F *Z+Fѵ 'A0\#.hAZ10:8{(lWM-Q[e2#"&547&#"#"&54>7326=462#"&547&#"#54#"&546326'3254&'2654'iPA8Px(*4G[HRb >+'5!/' $:iCZ5,*7D+97'4MYK74'-?Ml}6B#ÔtVnWG`"`GIOe~_7HC:@,2J!BJCZi'iJ7EC7R6 ѵHC3Z!-hCX0/:8{(lW)"O.4E"-MX"-hr}2#"&547&#"#"&54>7326=464>32632#"'7327654'#"&5467&#"#54#"&3254&'2654'iPA8Px(*4G[HRb >+'5!/' $:i /&5&,;R0<9bH'% <)$; 6+&2>+>",98  NZ9?Ml?"#'ÔtVnWG`"`GIOe~_7HC:@,2J!BJCZi.B 0.KT2Kf 50=P&7326=464632!3254&'354&'4#"6iPA8Px(*4G[HRb >+'5!/' $:i'9T4?Ml&..*2,AmÔtVnWG`"`GIOe~_7HC:@,2J!BJCZikc]x:8{(lWy*-gN;$6TNM ->HT[g2#"&547&#"#"&54>7326=464632##"&47#3254&'354&'4#"62654&#"iPA8Px(*4G[HRb >+'5!/' $:i'9T$C-/A#k4?Ml&..*2,Am-&-"$ÔtVnWG`"`GIOe~_7HC:@,2J!BJCZikc]x`@A^:8{(lWy*-gN;$6TN$"-&M-BL]do2#"&547&#"#"&54>7326=464632##"&547#3254&'3632354&'4#"62654&#"2654'#"&547iPA8Px(*4G[HRb >+'5!/' $:i'9T#/-# 4H/b4?Ml&N  ...*2,Am&4350ÔtVnWG`"`GIOe~_7HC:@,2J!BJCZikc]x&:$5 G4:&:8{(lWy*-gN;$6TNP-# '"#& '!/M,-7Ydm2#"&547&#"#"&54>7326=463254&'4>32#".54632&#"326=#7354&#'"654&iPA8Px(*4G[HRb >+'5!/' $:i[?Ml7,-CV37H7C;7N<($%&+8,_(t ÔtVnWG`"`GIOe~_7HC:@,2J!BJCZi:8{(lWG1D KL5;@&"bHJ!5?tS[!H11LY4>32#".547327654'#"&5467&#"#"&54>732652654'&B+HR0-͘e!Zچvfa NA7Jh>$aC4YFOh :*$2 -&':)$&0 "07'p >;Pgz{tcokWbTon&*3_t`DHdIieQc|d4FB6>/0I#R]T3G) 7%,GH1Wdq4>32"&547#".547327654'#"&5467&#"#"&54>732652654'2654&#"&B+HR0-W**CbCbe!Zچvfa NA7Jh>$aC4YFOh :*$2 -&':)$&0 "+* #07'p >;PrY @$1CC1 %gz{tcokWbTon&*3_t`DHdIieQc|d4FB6>/0I#R]T3G) 7%,G 4"Hr1Zgt4>32#"&547#".547327654'#"&5467&#"#"&54>732652654'2654&#"2654'#"&'&B+HR0-{-S>?Q Oae!Zچvfa NA7Jh>$aC4YFOh :*$2 -&':)$&0 "%$+73&1 E07'p >;P^ 6%CXW?!gz{tcokWbTon&*3_t`DHdIieQc|d4FB6>/0I#R]T3G) 7%,GX:(  &4"! 2+M-U_h2#"&547&#"#"&54>7326=46#"&=4&#"#"&5463232654/3254&'2654'iPA8Px(*4G[HRb >+'5!/' $:i*C4/>-"N5&+6_F:D=>Qy?Ml)E%ÔtVnWG`"`GIOe~_7HC:@,2J!BJCZi, ,1"AQA60-??V.;I8MbH:+Z69a":8{(lW$%C6'LOM-]gs|2#"&547&#"#"&54>7326=46#"&547&=4&#"#"&5463232654/3254&'2654&#"'2654'iPA8Px(*4G[HRb >+'5!/' $:i*;9B./A46-"N5&+6_F:D=>Qy?Mlw$!$%)E%ÔtVnWG`"`GIOe~_7HC:@,2J!BJCZi, ,1"Z&B1??1=! H0-??V.;I8MbH:+Z69a":8{(lW3&.&$$%C6'LOM-_iw2#"&547&#"#"&54>7326=46#"&547&=4&#"#"&5463232654/3254&'2654'#"'2654'#"&547'2654'iPA8Px(*4G[HRb >+'5!/' $:i*9F-# 4H=7-"N5&+6_F:D=>Qy?Mlm &4350)E%ÔtVnWG`"`GIOe~_7HC:@,2J!BJCZi, ,1"X'!M$5 G4G"J0-??V.;I8MbH:+Z69a":8{(lWd   P-# '"#& '!/$%C6'LOM-R\e2#"&547&#"#"&54>7326=462#"&547&#"#"&54732=46'3254&'3254'iPA8Px(*4G[HRb >+'5!/' $:iDa5-'6L7?.6CbQ;9G?MlN&.!BÔtVnWG`"`GIOe~_7HC:@,2J!BJCZi'`N8J:0U=25/7APBr+"^92V+;G:8{(lW$$"KH&6Mc-q{2#"&547&#"#"&54>7326=464632#!"3!!"5463!2654'#"&5467&#"#"&54>732653254&'3254'"iPA8Px(*4G[HRb >+'5!/' $:iC4O0+?5*$$IF)5+57 *0".=')!,>.0:%# +(!"q?Ml 0 #%ÔtVnWG`"`GIOe~_7HC:@,2J!BJCZi-7<C61@*7'=+A,G1(+8'5+"+:D:(= <)*4(!J:8{(lWF"J# $M-72#"&547&#"#"&54>7326=463254&'#!"3!!".5463!2654#5254&##".54>7&#"#"&54673265462632%3254'iPA8Px(*4G[HRb >+'5!/' $:i[?Ml`Y'  " 09:7+9)", # ,%,;06A)5P +!:27326=463254&'#"&54>32&#"32654.'#"&5467&#"#"&5467326546326322654'iPA8Px(*4G[HRb >+'5!/' $:i[?Mlm*g#5(B-'*_VYq, 3*&/7&2(%L3H/ ER)*ÔtVnWG`"`GIOe~_7HC:@,2J!BJCZi:8{(lWg rS"/!! =S?.3B,EY5BQA'^#b=58QD;;Zr7#-#9#)M7-7s|2#"&547&#"#"&54>7326=463254&'32=432#"&54732654'#"&5467&#"#"&547%3254iPA8Px(*4G[HRb >+'5!/' $:i[?Ml<@uc0/DB;z@4*%0F'BN:/7BY,!v/)03ÔtVnWG`"`GIOe~_7HC:@,2J!BJCZi:8{(lWH;7sJI7326=46#".547#"&54732654'#"&5467&#"#"&54732=4323254&'32542654&#"iPA8Px(*4G[HRb >+'5!/' $:i#(7* #1:>8s=1(".A&T$ 97326=46#".547#"&54732654'#"&5467&#"#"&547325'4323254&'32542654&#"#2>54'#".547iPA8Px(*4G[HRb >+'5!/' $:i'*@. / #82rf7+$)8$6B3&-8JA37dS(+?Mlj5)+ *.  %#ÔtVnWG`"`GIOe~_7HC:@,2J!BJCZi :!,=& {cA> 5;UjZB:3>3%(3'n,4A6Z"N0-^h<( M:8{(lW$"=H' $J# ! ' KE;AKV%>73##".547!5654&#"&5463235".54>3273"542654'#SE/"1 .H8.1A4D`MJc%/9( 6&B2e5' #//"7G,2B)" ,-O.:B4B$5WK[ZJ9)?* #+RT# _%O g*<. w>#0 1"K9?ITh%>73##"&547!5654&#"&5463235".54>3273"542654&"2>54'#"&'S#-T=?Q0WH8.1A4D`MJc%/9( 6&B2e5' %&$*2'1 /7G"@AZW?A&-O.:B4B$5WK[ZJ9)?* #+RT# _%O g*<. w>X# " %5"! AMLR]%>73#".54>32&#"326='!5654&#"&5463235".54>3273"54=0\H@L4bVJ</C#\G8LKH8-2A4BaNK]$/9(.% B2u7' J1@4 % %193ESEU]F:)?*#4 WU K"Q f). w>K.U[eks|%>73!5654&#"&5463235".54>322#"/32654&+#"'#"&5463246323"544&"325#32=#"SpH8.1A4D`MJc%/9( 6&B20*+"!*8.4)'0784*Z *e5' %6 "A}j (?7G-O.:B4B$5WK[ZJ9)?* #+RT# 7#"3 # !!CS227(0!6I%O g*<. w>%3/)1&6t )#=7K.]cmt{%>73!5654&#"&5463235".54>322#"/3254+53254+#"'#"&546346323"544&#"325#32=#"SpH8.1A4D`MJc%/9( 6&B2 #G"*8.5*(/8M3+%3*e5' -  A}k (?7G-O.:B4B$5WK[ZJ9)?* #+RT#  6!CR226)26H55%O g*<. w>/(/(8v}%>73!5654&#"&5463235".54>3273"54232#!"3!!"&5463!254+53254+#"'#"&54;464&#"325#32=#"SpH8.1A4D`MJc%/9( 6&B2e5' y.9;A#$< w#$)4# +8.5*%1l3c%""Ck*A7G-O.:B4B$5WK[ZJ9)?* #+RT# _%O g*<. w>h=00+5 /%'$5B,,,#C0;k -0+ ,a 5,K..`fpw%>73!5654&#"&5463235".54>322#"&5462&#"32654&+#"'#".546;46323"54.#"26=#'32=#"SpH8.1A4D`MJc%/9( 6&B2,)/0(5, '1>#86K.gmw%>73!5654&#"&5463235".54>322'654&#"32#"&547##"'#"&546;46323>3"542654+'.#"327#32=#"SpH8.1A4D`MJc%/9( 6&B2w-B S$=?. 6 A;*$+)8.6+'1994**# $+Oe5' 1'  " !A~k(?7G-O.:B4B$5WK[ZJ9)?* #+RT# &7,SG6I5H/(%6&/S!CS228'0!9E0 )8L%O g*<. w>\<#&17 1(4s3$=6K.y%>73!5654&#"&5463235".54>322#"/3254+57>54&#"32#"&5465##"'#"&546;463263"542654&+'4&#"325#32=#"SpH8.1A4D`MJc%/9( 6&B2|+> ,04( .% - !43#+0(/8.6+'08:4+* #e5' j($ !B~k'?7G-O.:B4B$5WK[ZJ9)?* #+RT# $ &'&- (1*%#.&/*A2CS227(.#6H/!L%O g*<. w>\" $,$36!1(4s3%=6K`.4>%>73!5654&#"&5463235".54>3273"542#!"3!!"&5463!254&+532654&#"32"&57##"'#"&54;46323>2654&+'4&#"325#32=#"SpH8.1A4D`MJc%/9( 6&B2e5' :M43e ##Y%%Z  28I +3->07/5*%1n3*Z  \.#\&"#Ck *A7G-O.:B4B$5WK[ZJ9)?* #+RT# _%O g*<. w>k1(&2Q/$$:"6 %#*,49F,,+$D.=k/>Dt ,/)!.d5/K*.qw%>73!5654&#"&5463235".54>322#"&54632&#"32654&#"2#".547##"'#"&546;>323>3"542654+'.#"327#32=#"SpH8.1A4D`MJc%/9( 6&B2tC\j'gQ=66.$R6RbC5II9%)$8.6+'08<3*Y# Cye5' 0(z" !@~k'?7G-O.:B4B$5WK[ZJ9)?* #+RT# sXk q[MbW$6!5)# DS227(0!:E5KN%O g*<. w>X= 8'15#1(4t3 =7KG.\blrz%>73!5654&#"&5463235".54>322#"&54732>54&+#"'#"&54;46323"544&"325#32=#"SpH8.1A4D`MJc%/9( 6&B2'3r:.VL`?Z/8.6+&1Z+4+Z -e5' $8 !A|k'?7G-O.:B4B$5WK[ZJ9)?* #+RT# 5,YljfFJN\;435%DS227)P6I%O g*<. w>&20(1(4t%&=7K.ioy%>73!5654&#"&5463235".54>322"&547#"&54732>54&+#"'#"&54;46323"544&"325#2>54&+32=#"SpH8.1A4D`MJc%/9( 6&B2'3FH?b? :.,>L89<- 8.5*&1Z+4+Z -e5' %6!!A| - %'?7G-O.:B4B$5WK[ZJ9)?* #+RT# /'K0D(:9)}_Z>@F*C%3!;I,,.&G0?o%O g*<. w>"++",#.f    60 K.lr|%>73!5654&#"&5463235".54>322#".547#"&54732>54&+#"'#"&54;46323"544&#"325#2654&#'32=#"2654'#".547SpH8.1A4D`MJc%/9( 6&B2&0X(/ 1!"1  |8,WHV%CB'5,1("1V)1(U 'e5' "!>v  &*,)!*_  2-& *   K.OU_%>73!5654&#"&5463235".54>324632&#";2#"'73254+"&3"54SpH8.1A4D`MJc%/9( 6&B2:DT0$C#6-?70N1V,$MS>@'0e5' 7G-O.:B4B$5WK[ZJ9)?* #+RT# &;0%&05./&5(-%O g*<. w>K.X^ht%>73!5654&#"&5463235".54>324632&#";2#"&547&'73254+"&3"542654&#"SpH8.1A4D`MJc%/9( 6&B2:DT0$C#6-?7098B./A,1$MS>@'0e5' &.$%7G-O.:B4B$5WK[ZJ9)?* #+RT# &;0%&0=>1??16 &5(-%O g*<. w>$"&$K.^dn{%>73!5654&#"&5463235".54>322#".547&'73254+"&54632&#"33"542654'#"'2654'#"&547SpH8.1A4D`MJc%/9( 6&B270;=$ %7-$MS>@'0:DT0$C#6-Le5'   %533/7G-O.:B4B$5WK[ZJ9)?* #+RT# 0>"C..@!&5(-$&;0%&%O g*<. w> P." '"#& '".K9.4>m%>73!5654&#"&5463235".54>3273"544>32&#"#"&54632&#"32654/.SpH8.1A4D`MJc%/9( 6&B2e5' *8C%a:.Yl:K=H>K*9Q:?C/#0//#?6LS %7G-O.:B4B$5WK[ZJ9)?* #+RT# _%O g*<. w>,95)I;CjD$+! ='I/K.4>l%>73!5654&#"&5463235".54>3273"542#"&54632&#"32654+"&54632&#";2'654#"#465654#"&54632SpH8.1A4D`MJc%/9( 6&B2e5' EXf=KQ9K+G(7:,LbnT0CL[t;1fu@7G-O.:B4B$5WK[ZJ9)?* #+RT# _%O g*<. w>H;Xl+#!-)% UEe7(*?,'G7     K.Y_i%>73!5654&#"&5463235".54>322#".54732654+"54632&#"33"54SpH8.1A4D`MJc%/9( 6&B20<19?_.8,65M)6?zK-.#N.:0%#!%O g*<. w>K.`fp{%>73!5654&#"&5463235".54>322".547.54732654+"54632&#"33"542654'#SpH8.1A4D`MJc%/9( 6&B20<0.-* +-Ua8,65M)6?zK-.#N.:0%#!%O g*<. w>$0  +K.cis%>73!5654&#"&5463235".54>322#"&547.547;63654+"54632&#"33"542654'+2>54'#"&547#SpH8.1A4D`MJc%/9( 6&B20<.<-$ 4G)O[8,65M =?zK-. (#N.:0%#!%O g*<. w>   +V*&$ '!4.)K.4>JW%>73!5654&#"&5463235".54>3273"542#"&5462>54&#"SpH8.1A4D`MJc%/9( 6&B2e5' yNgiHKa]? &. K75ML7G-O.:B4B$5WK[ZJ9)?* #+RT# _%O g*<. w>^cOMbbHOh 8%8MHpOK.HNXkw%>73!5654&#"&5463235".54>322#"&547#"&5463233"542>54.#"2654&#"SpH8.1A4D`MJc%/9( 6&B23025,<Hd]KNg e5' Y0 8&5M 8#+#"7G-O.:B4B$5WK[ZJ9)?* #+RT# IK<+_KOhbP6-f%O g*<. w>( & &0!I7'1!v# #"K.IOYcp%>73!5654&#"&5463235".54>322#"&547#"&546323"542654#"'2>54&#"2>54'#".5SpH8.1A4D`MJc%/9( 6&B2&. K79IIc]KNg:e5' $.&7 K75ML+ && $7G-O.:B4B$5WK[ZJ9)?* #+RT#  8%6LM5 `JOhcO#!G%O g*<. w>.(< .&8MHpO$ % !!  +K.gmw%>73!5654&#"&5463235".54>322'654&#"#54&#"#54&#"632#"&54>3263263"542654#"SpH8.1A4D`MJc%/9( 6&B2 %-ZB,%7% 67d '*)#'/24@6BYe5' +7G-O.:B4B$5WK[ZJ9)?* #+RT#  C.q,,_9Bڽ!-!08*'3H84M)4301F%O g*<. w>W:8K.jpz%>73!5654&#"&5463235".54>322#"&547&#"#54&#"#54&"632#"&54>3263263"542654'%3254&#"SpH8.1A4D`MJc%/9( 6&B2]%)R18J#,5%6KW.|%>73!5654&#"&5463235".54>324>32632632#"'732>54'#"&467&#"#54&#"#54&"632#"&3"543254'3254#"SpH8.1A4D`MJc%/9( 6&B2k"2)7(53"6H41T=$  %-53 ,.--#2(2(>,"')%-Le5'  ,  B&%7G-O.:B4B$5WK[ZJ9)?* #+RT# ^6N$4301M Z5Lf B,K%F>8XM+%չ(#" 2"/:),(D9%O g*<. w>%U, +1'56KIOY%>73!5654&#"&546323!5654&#"&5463235".54>3273"54S/$*$/B2!2 H8.1A4D`MJc%/9( 6&B2e5' 7' 1#*!+$91>' "-O.:B4B$5WK[ZJ9)?* #+RT# _%O g*<. w>K#W]gt%>73##"&547#5654&#"&546323!5654&#"&5463235".54>3273"542>54&#"S(! /A'/$*$/B2!2 H8.1A4D`MJc%/9( 6&B2e5' .$%7'1*A/2 1#*!+$91>' "-O.:B4B$5WK[ZJ9)?* #+RT# _%O g*<. w> "&$KY_it%>73#".547#5654&#"&546323!5654&#"&5463235".54>3273"542654'#2654'#"&547S)1$%1/$*$/B2!2 H8.1A4D`MJc%/9( 6&B2e5'   &4) )17'%:..;$ 1#*!+$91>' "-O.:B4B$5WK[ZJ9)?* #+RT# _%O g*<. w> ! !P." ,+ &$,KM\bl%>73#"&54632&#"325!5654&#"&546323!5654&#"&5463235".54>3273"54S;VV43*+LQe/$*$/B2"1 H8.1A4D`MJc%/9( 6&B2e5' 7 z4'*"+#:3<' $-O.:B4B$5WK[ZJ9)?* #+RT# _%O g*<. w>KRY_i%>73# 4732>=!5654&#"&546323!5654&#"&5463235".54>3273"54SzV>5DE/)+$.@42?H8.1A4D`MJc%/9( 6&B2e5' 75G SL@Gjt &2$*")";2=<0$-O.:B4B$5WK[ZJ9)?* #+RT# _%O g*<. w>K.flv%>73!5654&#"&5463235".54>322353#"&547#"&547326=!5654&#"&5463"542>4.#"SpH8.1A4D`MJc%/9( 6&B2V2?77BA/0@>5~Qo/$ *$.C>e5'  %%7G-O.:B4B$5WK[ZJ9)?* #+RT# 7. /C,<<,!s`LG>?M^)!.")'!6/8|%O g*<. w>."!K.kq{%>73!5654&#"&5463235".54>32#".547#"&547326=!5654&#"&546323533"542654&#"2654'#"&547SpH8.1A4D`MJc%/9( 6&B27-# %-70sId+"&*;-.91Ne5' %535/7G-O.:B4B$5WK[ZJ9)?* #+RT#  :0$5 .:$cRB=47BQ#(!!/(1/'2B%O g*<. w> P." '"#& '".K.NT^g%>73!5654&#"&5463235".54>322!5654&#"&5463235463"54"354&SpH8.1A4D`MJc%/9( 6&B2{>K4/$ *#.B12AlHxe5' )267G-O.:B4B$5WK[ZJ9)?* #+RT# O@3%)"+";1=<1$6HL%O g*<. w>=:+g;HK.Z`js%>73!5654&#"&5463235".54>322##"&547!5654&#"&5463235463"54"354&2654&#"SpH8.1A4D`MJc%/9( 6&B2{>K#-*,<#/$ *#.B12AlHxe5' )26!"7G-O.:B4B$5WK[ZJ9)?* #+RT# O@/'3 <+03%)"+";1=<1$6HL%O g*<. w>=:+g;H$+ #K.[akt~%>73!5654&#"&5463235".54>322##"&547!5654&#"&5463235463"54"354&2654#"2654'"&547SpH8.1A4D`MJc%/9( 6&B2{>K,6 8%7J6/$ *#.B12AlHxe5' )268-2*:%P%,87G-O.:B4B$5WK[ZJ9)?* #+RT# O@"= #*E1="3%)"+";1=<1$6HL%O g*<. w>=:+g;H ))R5&  211&5K.6<FRY%>73!5654&#"&5463235".54>324632!3"54354&'4#"6SpH8.1A4D`MJc%/9( 6&B29Te5' &-/*2,Am7G-O.:B4B$5WK[ZJ9)?* #+RT# Uc]xr%O g*<. w>).gM<$6TNK.BHR^eq%>73!5654&#"&5463235".54>324632#".547#3"54354&'4#"62654&#"SpH8.1A4D`MJc%/9( 6&B29T!'-* +-'|e5' &-/*2,Am 6!7G-O.:B4B$5WK[ZJ9)?* #+RT# Uc]x 1'3 2'1 r%O g*<. w>).gM<$6TN$+  K.DJT`gq%>73!5654&#"&5463235".54>324632#".547#3"54354&'4#"62654#"2654'"&5477#SpH8.1A4D`MJc%/9( 6&B29T(1 6J5 1]e5' &-/*2,Am-1*74,5+78 7G-O.:B4B$5WK[ZJ9)?* #+RT# Uc]x&< #-,$ =%r%O g*<. w>).gM<$6TN +*V8'! '!!'2'8T;@FQ%>73# $54673265!5654&#"&5463235".54>3273"54&9z-0*$G:+1A3B`NK]$09(.% ut7' N5p<+AhA1:2ESEU]F9*?*#4 (P#P f). w>TGOU`m#".547# $54673265!5654&#"&5463235".54>32>733"542654&#"0 2"#3 hm-0*$G:+1A3B`NK]$09(.% u9Kt7' "## 8+ #*+" AhA1:2ESEU]F9*?*#4 (N5B#P f). w>V#!" TCCJP[i~"&547# $54673265!5654&#"&5463235".54>32>733"542654.'"2654&'#".=38U|TXS-0*$G:+1A3B`NK]$09(.% u9Kt7' ,P:-8'#!+ Q/=VU>0&AhA1:2ESEU]F9*?*#4 (N5T#P f). w>V[8*%36& "  +LEDQ#".547.=4&#"#4&#"&5463263232654.'2654&#H9S>AE/ "*8ND-)+S8"3',2%nOU91TDd<05A 4&6+* #~fn;J2B 2!$ WGKWK )<5,1J,?;E_yKI`KU>P_I0?7 "L?L_#"&547.=4&#"#4&#"&5463263232654.'2654&'"#2>54'#"&'H=OQSS>=S50=D-)+S8"3',snOU91TDd<05A 4& .&C&0 3&1 E|d9]CXUAH'T=KWK )<5,1JFE_yKI`KU>P_I0?7 $v+'  %5 # 2+IT%2654'7#"&54632&#"3265#"&'&'&#"#4&#".546326329Ig-G}R[}|_^>0@(cuL+CR P+5S3# )# 2$*: pRQ;2RIb52gLiTb.UbH/)"!-!t%+jWP6]yC' O;?X(;2|0RI`q3/S0*'9 slQU91TJ^l6@y0L&3N&&%  # 3#7FB '/#$?bK':3>)<15EZ~KIcD%]K6tF7jrT7' , ;% &L8_emw#"&=4&#"#4&#"&5463263232654.'2#"/32654&+#"'#"&54632>32#4&"325#32=#"H/>^PGbD-)+S8"3',snOU91TDd<05A 4&O0*+"!*8.5+'0782*X0%6""A}j(?FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?77#$1 # !!AU227(0!:E%32&1&6t ) =7L8gpw#"&=4&#"#4&#"&5463263232654.'2#"/3254+53254+#"'#"&54634632#4.#"325#32=#"H/>^PGbD-)+S8"3',snOU91TDd<05A 4&n #G"*8.6*(/6O4*%30 ! A}k (?FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7 6!CR226)27G64 2%8P_I0?7>=00+5/''$5B,,,#C0;k!,/+ ,a !5,L.8ipy#"&=4&#"#4&#"&5463263232654.'2#"&5462&#"32654&+#"'#"&546;4632#.#"26=#'32=#"H/>^PGbD-)+S8"3',snOU91TDd<05A 4&B-;mp7JPz6"0*(?Sc& 9/5*:'.05+*:2!!;#{!&;FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7O9Dt ]F+5AP33/308GE:)/0(5, (0>#86L8ny#"&=4&#"#4&#"&5463263232654.'2'654&#"32#".547##"'#"&546;46323>2654+'4&#"325#32=#"H/>^PGbD-)+S8"3',snOU91TDd<05A 4& ".%S$=?.(1A;*$) 8.6+'1993+V# C1' % !B~k(?FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7C 9$TF6I5H;%6&/20CS228'0!9E~4J$<*&%27 1'5s3%=6L8#"&=4&#"#4&#"&5463263232654.'2#"/3254+57>54&#"32#"&547##"'#"&546;46326264&+'.#"327#32=#"H/>^PGbD-)+S8"3',snOU91TDd<05A 4&+> ,04( .% - (8! 3#+0'08.7+'08:4+* ##(" !A~k'?FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7C$ &'%. (1*%#'.&0)B1CS227(.#6H/!0! $,&16!1(4s3%=6LV8#"&=4&#"#4&#"&5463263232654.'2#!"3!!"&5463!254&+532654&#"32#"&57##"'#"&54;46323>2654&+'4&#"325#32=#"H-= ^PGbD-)+S8"3',snOU91TDd<05A 4& 9N43e ##Y'&Z 1!X+,&*"*%7/6,&0n3*Y ]/#\%"#Ck*ADP9_u`MKWK )<5,1JIE_yKI`KU>P_I0?7A1(&2Q/"$:#"&,*$);%9F,,+$D.=k/>Dt ,/)#,d "5/L*8{#"&=4&#"#4&#"&5463263232654.'2#"&54632&#"32654&#"2#".547##"'#"&546;>323>2654+'.#"327#32=#"H/>^PGbD-)+S8"3',snOU91TDd<05A 4&C\j'gQ=66.$R6RbC5IG;%)$8.6+'08<3*Y# C 0(z" !@~k'?FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7AsXk q[MbW%5!5*" DS227(0!:E5K= 8'15#1(4t3 =7LG8fmu#"&=4&#"#4&#"&5463263232654.'2#"&54732>54&+#"'#"&54;>32#4&#"325#32=#"H/>^PGbD-)+S8"3',snOU91TDd<05A 4&L(2r:.VL`?Z/8.5)&1Z+3*Z 1#!!A|k'?FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?77*YljfFGQ\;435%BU227)P:E%30(1(4t% =7L8qw#"&=4&#"#4&#"&5463263232654.'2"&547#"&54732>54&+#"'#"&54;>32#4&"325#2>54&+32=#"H/>^PGbD-)+S8"3',snOU91TDd<05A 4&L'3FH?b? :.?^J&GE* 8.4)%2Z+3*Z 1%6!!A| $ %'?FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7/'J1D(:9)}_Y>>H5L# ;):K--/%H1>o"++",$-f $   60L8u}#"&=4&#"#4&#"&5463263232654.'#"&547#"&54732>54&+#"'#"&54;463232'.#"327#2>54&#'32=#"2654'#"&547H/>^PGbD-)+S8"3',snOU91TDd<05A 4&S(, 0 1B y6+;WE#B@'5*2'"/T(0(S '$/;t %;F0$'FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7 9 $;+$wXT;=A2H! 8&5H**-#C/:i-$Q  -)!,` &3-%+# !L8[e#"&=4&#"#4&#"&5463263232654.'233!5654&#"632#"&546"3254&H/>^PGbD-)+S8"3',snOU91TDd<05A 4&?Z69CA.!0 ("-%+)2U,/FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7WS@E8 0K5C1#/6)!6C7Tc65L8kx#"&=4&#"#4&#"&5463263232654.'233##".547#5654&#"632#"&5462>54&#""3254&H/>^PGbD-)+S8"3',snOU91TDd<05A 4&?Z69&! !0 &CA.!0 ("-%+)2U, .",/FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7WS@E8 2*) 20K5C1#/6)!6C7TcV "-. 65L8kw#"&=4&#"#4&#"&5463263232654.'233##".547#5654&#"632#"&5462654&#"2654'#"&547"3254&H/>^PGbD-)+S8"3',snOU91TDd<05A 4&?Z69-7 4" %7mCA.!0 ("-%+)2U ?!'&#0,/FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7WS@E8 #@ $,.@#0K5C1#/6)!6C7Tc|P') 44 (#-565L8Y#"&=4&#"#4&#"&5463263232654.'4632&#";2#"'73254+"&H/>^PGbD-)+S8"3',snOU91TDd<05A 4&b:DT0$C$5-?70N1V,&KS>@'0FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7&;0%&05./&5(-L8ep#"&=4&#"#4&#"&5463263232654.'2#"&547&'73254+"&54632&#"3264&#"H/>^PGbD-)+S8"3',snOU91TDd<05A 4&8703<! .B*6&KS>@'0:DT0$C$5-?#!$%FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?709D*?16! &5(-$&;0%&-&-&$L8gt#"&=4&#"#4&#"&5463263232654.'2#".547&'73254+"&54632&#"32654'#"'2>54'#"&547H/>^PGbD-)+S8"3',snOU91TDd<05A 4&8708? 4" %6.&KS>@'0:DT0$C$5-$ ", )'"/FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?70;$G $,.?&&5(-$&;0%&   P#!  *4 &".L8c#"&=4&#"#4&#"&5463263232654.'2#".54732654+"54632&#"3H/>^PGbD-)+S8"3',snOU91TDd<05A 4&10<19?_.8,65M)6?zKP_I0?73#!*,?7D6+7>-.#N.:0%#!L8lx#"&=4&#"#4&#"&5463263232654.'2#"&547.54732654+"54632&#"32654&#"H/>^PGbD-)+S8"3',snOU91TDd<05A 4&10<34! /A$R]8,65M)6?zKP_I0?73#0"<*@01!h:D6+7>-.#N.:0%#!$"&$L8lz#"&=4&#"#4&#"&5463263232654.'2#".547.54732654+"54632&#"32654'#"'2654'#"&547H/>^PGbD-)+S8"3',snOU91TDd<05A 4&10<:9H3 %0LV8,65M)6?zKP_I0?73#3$C4G.=$d8D6+7>-.#N.:0%#!   P." 43 &"L;eo#"&=4&#"#4#"&54>;263232654.'2'654&#"#"&547&#"&5463262654'H/>^PGb>3)+SZ3',s,@4o%1TL\4'6@6'L_Q$:H7F6-+5C. ?HU;'$"2'8A"FO1_u`MUES );J,1J5E>\+KIhVU44`H,A;FaFZ0 .H=S^PGbD-)+S8"3',snOU91TDd<05A 4& ,@"B0((v"*)##2C7  G8+*6B .;AIN?(!#3!7A"FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7D12?V3$$C49G3C/:9-F+@-G 'P:P&;(-:$LX8z#"&=4&#"#4&#"&5463263232654.'4632632#!"3!!"&546;254&+532654#"#"&547&#"&72654'H/>^PGbD-)+S8"3',snOU91TDd<05A 4&N<+!$@./*0''s5#)W L.E7,+5C/:@H!7B"FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?79KS#.#73#0;!: 1C09:-@.>/G %&:(-9$L-8s}#"&=4&#"#4&#"&5463263232654.'2#"&54632&#"32654&#"#".547&#"&54>3262654'H/>^PGbD-)+S8"3',snOU91TDd<05A 4& Paj@LO=?6$9QQOaG<F8-$. C2=?H%.! $/#8@*FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7DwXj0u\Ne3262'654#"#54#"&546326'2654'H/>^PGbD-)+S8"3',snOU91TDd<05A 4&Qdm<N.5%*:@'ThN@$I9,(E2?>G%. $! 9"9C,FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7Aex &$.+hZ{=Q5I,# R6K8S) 2`%; z  ' 1%G24J,%LL8q{#"&=4&#"#4&#"&5463263232654.'2#"&54732>54.#""&547&#"&5463262654'H/>^PGbD-)+S8"3',snOU91TDd<05A 4&G^7mK5!3l>Y.*$ G8V5C/ACGU;)"*;"7>FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7DpS$GG,yNG54.#"#"&547&#"&54632632'2654'2654&#"H/>^PGbD-)+S8"3',snOU91TDd<05A 4&W#(=/.> ~3 2j;W-" E8)*3A-/AFQ<&"'(D\!6;",-#FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7 7)<9,lG?8>Zp15"7 6H2?<2G29*M$ /U=ReJ]#*!@+-B ')#L8#"&=4&#"#4&#"&5463263232654.'#".547#"&54732>54.#"#"&547&#"&54632632$2654'2654&#"2654'#"&547H/>^PGbD-)+S8"3',snOU91TDd<05A 4&Q*, 0 +8 y0/h:S*6(B5('2>(3 ?CO8!$'%BW0 3: !#1 #%-FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?79" $,*${dA;2;Sg.0:;2B/98-C-.+E$ *O:J]E`+&:)(? C&,, &L CL2!53546#"&=4&#"#4&#"&5463263232654.'"!54&\uדp/>^PGbD-)+S8"3',snOU91TDd<05A 4&@P#Ryc"WgFO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7YFιSaLEPYd2##".547!53546#"&=4&#"#4&#"&5463263232654.'"!54&2654'#\uE/ "*p/>^PGbD-)+S8"3',snOU91TDd<05A 4&@P#R "//#yc,3A 2!,"WgFO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7YFιSa"0 0#LNWdv2##"&547!53546#"&=4&#"#4&#"&5463263232654.'"!54&2654&#"2654'#"&'\u%-T=?Q0p/>^PGbD-)+S8"3',snOU91TDd<05A 4&@P#R%%")92'1 Eyc"ABYW?B&"WgFO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7YFιSa "X9)" %5 # 2+L Yb2#"&54632&#"3265!53546#"&=4&#"#4&#"&5463263232654.'"!54&\utb|KXI7F_'{^p/>^PGbD-)+S8"3',snOU91TDd<05A 4&@P#Rycvu-$ -"%a^"WgFO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7YFιSaL8]#"&=4&#"#4&#"&5463263232654.'2'654&#"#54&#"&546326H/>^PGbD-)+S8"3',snOU91TDd<05A 4&"6H -%?(. 9'(1KUK:7&%FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7AWB1>*Z+Fѵ&!A0\#/gCX10L8\f#"&=4&#"#4&#"&5463263232654.'2#"&547&#"#54#"&5463262654'H/>^PGbD-)+S8"3',snOU91TDd<05A 4&CZ6+*7D *97'4MYJ86%/k6B$FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7AgL7EC7R6 ѵHD2Z!-hAZ0/)"O.4E$+LX8v#"&=4&#"#4&#"&5463263232654.'4>32632#"'732>54'#"&54>7&#"#54#"&2654'H/>^PGbD-)+S8"3',snOU91TDd<05A 4&w /&4'+",98  NZx"+ FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7.B 0.KS2Ih ':0P&^PGbD-)+S8"3',snOU91TDd<05A 4&!2 ;/$*$/BFO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7' $ 1#*!+$91>L"8bn#"&=4&#"#4&#"&5463263232654.'233##"&47#5654&#"&5462654&#"H/>^PGbD-)+S8"3',snOU91TDd<05A 4&!2 ;%! /A$/$*$/B*"!$%FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7' $ /*A^ 1#*!+$91>.-&$L8eq#"&=4&#"#4&#"&5463263232654.'233##".547#5654&#"&5462654&#"2>54'#"&547H/>^PGbD-)+S8"3',snOU91TDd<05A 4&!2 ;-5 4" %5/$*$/B %&)'"1FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7' $ &? $,.?& 1#*!+$91> P ' ,4 '$,LZ8n#"&=4&#"#4&#"&5463263232654.'233#"&54632&#"3265!5654&#"&546H/>^PGbD-)+S8"3',snOU91TDd<05A 4&+002+fU54),L:P_I0?7  #(:  ?;4)*"+";2=L`8e#"&=4&#"#4&#"&5463263232654.'233# 4732>=!5654&#"&546H/>^PGbD-)+S8"3',snOU91TDd<05A 4&2?7u[>5DE/) *$.@FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7;1& 2J SL@Gjt &2$*")$92=L8s#"&=4&#"#4&#"&5463263232654.'2353#"&547#"&547326=!5654&#"&5462654&#"H/>^PGbD-)+S8"3',snOU91TDd<05A 4&2?78A! /A >5Pp/$ *$.?)"!$%FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?77;1&4!G*A/"{gRMAFRe-#2%*")";2=J.-&$Lv3#".547#"&54732>=!5654&#"&5463235#"&=4&#"#4&#"&5463263232654.'2654'2>54'#"&547H/>-$BJ 4" %! >5(G=/) *$.?52?.@GbD-)+S8"3',snOU91TDd<05A 4& ", 3&#/FO1[;>" P $,./$|fRMAFRe &3$*"+#:2=<0&)`MKWK )<5,1J5E_yKI`KU>P_I0?7  P#!  '"4 '".L8W`#"&=4&#"#4&#"&5463263232654.'2!5654&#"&54623546"354&H/>^PGbD-)+S8"3',snOU91TDd<05A 4&>K4/# *#.BbBlJJ)26FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7CO@3$)",";1=<1$7G&9,g;HL8bkw#"&=4&#"#4&#"&5463263232654.'2##"&547!5654&#"&54623546"354&2654&#"H/>^PGbD-)+S8"3',snOU91TDd<05A 4&>K)B./A)/# *#.BbBlJJ)26&."$FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7CO@41?@043$)",";1=<1$7G&9,g;Hx$"-&L8eny#"&=4&#"#4&#"&5463263232654.'2##"&547!5654&#"&54623546"354&2654'#2654'#"&547H/>^PGbD-)+S8"3',snOU91TDd<05A 4&>K%3$ 4H3/# *#.BbBlJJ)26.$ L433FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7CO@ <.G4< 3$)",";1=<1$7G&9,g;H  P-# '"#& '!L8@LS#"&=4&#"#4&#"&5463263232654.'4632!7354&'4#"6H/>^PGbD-)+S8"3',snOU91TDd<05A 4&9T&-/*2,AmFO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7c]x).gM<$6TNL 8JV]g#"&=4&#"#4&#"&5463263232654.'4632##"&47#7354&'4#"62654'#H/>^PGbD-)+S8"3',snOU91TDd<05A 4&9T&A/0@&o&-/*2,Am6%11FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7c]x1/A@`).gM<$6TN%2 2L8P\co#"&=4&#"#4&#"&5463263232654.'4632##".547#7354&'4#"62654&#"2>54'#"&547H/>^PGbD-)+S8"3',snOU91TDd<05A 4&9T*3 4" %3c&-/*2,Am", 3&#/FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7c]x"> $,.>").gM<$6TN P#!  '"4 '".L,8Zen#"&=4&#"#4&#"&5463263232654.'4>32#".54632&#"326=#7354&#'"654&H/>^PGbD-)+S8"3',snOU91TDd<05A 4&},-CV38J5B;7N;)#$(30,_(t FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?71D KL6: >%$bPB!5?tS[!M1bH#"$5473 7#".=4.#"#4&#"&5463263232654'=IIov[$V %#.C 11$:S6#MgTcu#"&547#"$5473 7#".=4.#"#4&#"&5463263232654'72654&#"2654'#"&' &U<=Sh[$V %#.C 11$:S6#54'2654'H/>^PGbD-)+S8"3',snOU91TDd<05A 4&C*C4/>,#N5&+6^G:D= Q(E%FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7F ,1"@RA60.>?V.;I8NaH:+Z /!a"#&C6%NOL8jx#"&=4&#"#4&#"&5463263232654.'#"&547&=4&#"#"&5463232>54'2654&'+'2654'H/>^PGbD-)+S8"3',snOU91TDd<05A 4&C*49A/0@-6,#N5&+6^G:D= Q# 2%(E%FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7F ,1"R) A/A@08! H0.>?V.;I8NaH:+Z /!a"g-% 3$#&C6%NOL8o|#"&=4&#"#4&#"&5463263232654.'#".547&=4&#"#"&5463232>54'2654'#"'2>54'#"&547'2654'H/>^PGbD-)+S8"3',snOU91TDd<05A 4&C*=@ 4" %B2,#N5&+6^G:D= Q ", 3&#/(E%FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7F ,1"[&#I $,.J"!E0.>?V.;I8NaH:+Z /!a"   P#!  '"4 '".#&C6%NOL8k#"&=4&#"#4&#"&5463263232654.'2654'7#"&=4&#"#54#"&54>32632H/>^PGbD-)+S8"3',snOU91TDd<05A 4&3!+Q^@4/A"'"9: %&MW-% 8%"6.A'FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7<>.c$,v?M@31)?%ѶH5'b$-u*> 0.?28(3L8s#"&=4&#"#4&#"&5463263232654.'2654'7#"&547&=4&#"#54#"&54>326322654&'+H/>^PGbD-)+S8"3',snOU91TDd<05A 4&3!+Q^08B./A+7"'"9: %&MW-% 8%"6.A'$#-%FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7<>.c$,vN'A1??17!E1)?%ѶH5'b$-u*> 0.?28(3-& 0$L8x#"&=4&#"#4&#"&5463263232654.'2654'7#".547&=4&#"#54#"&54>326322654'#"'2>54'#"&547H/>^PGbD-)+S8"3',snOU91TDd<05A 4&3!+Q^5; 4" %P_I0?7<>.c$,vR'$D $,.E$!>1)?%ѶH5'b$-u*> 0.?28(3v 0P#!  '"4 '".L+8#"&54.#"#4&#"&5463263232654.'2654'7#"54632&#"32>5#"'&'&#"#54#"&54>32632H,< _OI`.%3/S*0'9 slQU91TJ^<05A 4%+$0DZ";>$X4G'D5R+>!:^4$97'NZ .& 5'!61ABK8_ubK`l!:,E)<15EZ~KIeFU=Q_I1?8:C1V&L@\02 251J1ҶH," Z!+m-B 0/Q^PGbD-)+S8"3',snOU91TDd<05A 4&0ZHaO~L2=9T-6 :9'/KXI<3$ 8=3$*$FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?77H K`,QN/#5HC"XG@IdyS )'6MҶH;1b$-pCR0/?+Q("=L8#"&=4&#"#4&#"&5463263232654.'4&'7#".547#"&547327#".=4&#"#54#"&546326323262654&#"#H/>^PGbD-)+S8"3',snOU91TDd<05A 4&1ZN'& 0!0 :A=9U, 6<:9.(KXI<3$9p%0K.-%FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?74@ BYb< 4 %%  kPA:C[nK,# F/B=&[(g54&#"2654'#"&547H/>^PGbD-)+S8"3',snOU91TDd<05A 4&(U`,1 2"1D1;:6R&1 (976,&HTE91" 3k("g  $1"#'.FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7G?Qj9<" &=,# xfJ=7>UgG2/A ,=9#U&`9E('YE'4 I' -%  'L8Mc#"&=4&#"#4&#"&5463263232654.'2'654&"&54'2'654&"&546H/>^PGbD-)+S8"3',snOU91TDd<05A 4&+|LA$A6X9H [>LA$A6X9H [VFO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7ARD@K !L0;<1V*iEVRD@K !L0;<1V*iEVL 8Wmy#"&=4&#"#4&#"&5463263232654.'"&54>54&#"&5462$2'654&#"&542654&#"H/>^PGbD-)+S8"3',snOU91TDd<05A 4&Y-,A^A%+%7+-8H [W|L|LA$A6,-8H [,&-.$FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7@ >%/AA/(04+0;<1V*iEVRD?RD@K !L0;=0V*iE$#!&L8]u#"&=4&#"#4&#"&5463263232654.'#"&547'654&#"&54632%2'654&#"&5462654&"2654'#"&547H/>^PGbD-)+S8"3',snOU91TDd<05A 4&> !)$ 4H?A7+.7H [V?>L,>L*(A7+.7H [U$L433FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?77 3".G4G$!L0;<1V*iEVRRD.G!L0;<1V*iEVP." '"#& '!L;8Zp#"&=4&#"#4&#"&5463263232654.'2#"&547 654&"&546#2'654&#"&546H/>^PGbD-)+S8"3',snOU91TDd<05A 4&': Ɨ@9@^9G ZS9Ne@5,/:H [TFO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7G':1|TIBKlj.>:1N,9XFXT?b:+B2=;0M-9XEYL8N~#"&=4&#"#4&#"&5463263232654.'2'654&#"&546!2#"&547#"&54732654&"&5462654&#"H/>^PGbD-)+S8"3',snOU91TDd<05A 4&;Le@5,09H [T': Z(+7*/A>@@9@^9G ZSY.!%%FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7GM7W6';+94,G'3P@N#4,iC 7 ),9+qJC:E]|u`)84,H&3P@N1(!2!L8N#"&=4&#"#4&#"&5463263232654.'2'654&#"&546#".547#"&54732654.#"&546322>54.+2654'#".547H/>^PGbD-)+S8"3',snOU91TDd<05A 4&7I`=4)*9E VO-39+"3 7<=6& -6D VPA&8   $1 "" .FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7FG5S2%8)52)@'2I54&#"&546323&5462##?A,H#Rl ,7(AxL8@(!7,0=5D\KIa&M̕KIaM/T3:tx]3P, pQH^ E-6=.G!2[FVSE7.EjirnLKJM3!!"&5463%26544>54&#"!5>54&#"&54623&54632#"}!C0=>/}.?7*$/ UB\rM7@(!8+0=5D\_&Mw`I]5Qn*R<04C?#"';(&-RFE2#"54>32&#"3 4.#"!5654&#"&546323&546k.EbX2'@@ wN+8Y3B~ 44GV:04D_NLb&Dr¨\P1K$'K@^/[K>M/K$'1S3!:IeXH073>4D_M*B$&JeSQ97ƒb3U5 =Qb+$<2aHH/K&:B2F!3XH_'0# 7,OuaxHHL=H2#"&5467&#"#4&#"!5654&#"&54623&5463262654&'gQ@AQ:0.2CS7+8J5vG8-2@4C_d%AnRU9E(0,(g7ÝtRgfR>n$.&0=`OJa/K+6A4E"4XK[ZI:)FueJIs<1,}!Ql6DKccTa%4632632#"'7327654&'#"&54>7&#"#4&#"!5654&#"&546323&2654' jWL7@\:i"\Vr=5'(_=87+RC;F!=((b5BS'DP]vG7-1C5D`LKd&K,/)'2!,^|IH>4~Mm*QG`?Q -dMB/K,5B4C#2YJ\YJ6,O32#"&4632&#"326=!5654&#"&546323354+4&#"6 /X@bAAOB'M&XU)_BgH8-2A4BaNK]$'7'*FI*!j:VG%hO,>+%KP#-O-;>193ESEU]F;*'CF''2;%3Ja;2#".54732654&#"!5654&#"&546323&546yd[NZCDV@1PG7-4@4D`LJd&Dräwoчp `rWxcJB]/J+7D2B$3XL[YI:*AoiJcKZ#".=#".54732>54&#"!5654&#"&546323&546322654&#" $6E/ ")x[NebAZCAY@1PG7-2B4DcIJd&Ds\cr#$  C :/3A 1" 6m|p `r+CYT+Wx^OB]/J,6B4D"3XK\XJ:*Aokx"!JraLYk2#"&547#".54732>54&#"!5654&#"&546323&5462654&#"2654'#"&'yc#/T=@P e[NebAZCAY@1PG7-2B4DcIJd&Ds%(:3&1 /ãxn 8%BYY="m|p `r+CYT+Wx^OB]/J,6B4D"3XK\XJ:*AokG"X7+" &4"! CK2Zc2'654&#"!5>54&#"&546323&546#"&=4&#"#"&5463232654'2654'a|"6,aZHF\L8@(!7,0=5D\KIa&M*C4.?,#N5&+6^G:D=?V-54&#"&546323&546#"&547&=4&#"#"&5463232654'2654&'#'2654'a|"6,aZHF\L8@(!7,0=5D\KIa&M*/>B./A':,#N5&+6^G:D=?V-54&#"&546323&546#".547&=4&#"#"&5463232654'2654'#"'2>54'#"&547'2654'a|"6,aZHF\L8@(!7,0=5D\KIa&M*9F 4" %=7,#N5&+6^G:D=?V-54춮&#"632#"&54632#'2654&"2654'#!:wE01E1<=0 . =$)7QBRl$:/@B78LtAQ7II$4+"$4 !2"-.)I(3CB4(6V@#5/$*4L98G98J\Cg} ?+=+B$3 1#$/-H2i#. .JI6JT_t"3!##".547#"&46;2>54춮&#"632#"&54632#'2654&"2654'#2654.##"&=!:w,4S@+> 41<=0 . =$)7QBRl$:/@B78LtAQ7II$4+"$4 !.""V773%/))I+F32+"3!&54>;254+53254#"632#"&54>2654&#"2654&#"2654&#"A`{=W6jvB31C, <,T:$6.=A0;F/>< ay=W6.*R:#7/32+"3!&54>;254+53254#"632#"&54>2654&#"2654&"2654'#"&'2654&#"A`{=W6jw+T=?R., <,T:$6.=A0;F/>< ay=W6.*R:#7/AZV@A'# *9US%MPo8InMZG0J- ?4I!\r$&1 US%MPo8I78LZG;V+1$!/,#%1xu/2# '""*71$!/-"%1MN2=I2#".547&'73254'"&5473&546>54&#"2654&#"o$9 PK ':D1#3 V"F>]xK%#G9+O"==/%#*"!!+!$, 7\<02D*" @6<mMT6#+=@W?PMDL-)75+K##$M7BNg2;2#"&547&'73254'"&5473&546>54&#"2654.'2>54&'#".=o$9 PK *= 7#=U!`%F>]xK%#G9+O"==/%#*):"*-83%$&#$, 7\$5+ ,#V=6(E6<mMT6#+=@W?PMDL-)75+K/[$ %35!- ' *M&MX^gp2#"'73254'"&5473&5462#"/32654&+#"'#"&54632>32>54&#"4&"325#32=#"o$9 PK ?4c%F>]xK%#G9+O1),! !*8.5)%2782*Z :==/%#*1%6 "A}j(?$, 7\+3F6<mMT6#+=@W?PMD6$%0 # !CS226)0!:E*L-)75+K%30(1'5t%=7F&U`hpy2#"'73254'"&5473&5462#"/3254+53254+#"'#"&54634632>54&#"4.#"325#32=#"o$9 PK ?4c%F>]xK%#G9+O #G"*8.5)(/6O4*%30==/%#*' !A}k(?$, 7\+3F6<mMT6#+=@W?PMD 6!CR226)1 7G55*L-)75+K#&2%9 #%s3%=696 &hs{2#"'73254'"&5473&5462#".54732654&+532654+#"'#"&54634632>54&#".#"327#32=#"o$9 PK ?4c%F>]xK%#G9+O+-Y>*PO181(CF(bT !$*"!(/?,#$@==/%#*= 0 3eY 3$, 7\+3F6<mMT6#+=@W?PMD"30;uPUI>MC`1B, .1007)1!6H-%1L-)75+K !U2 !q1-<5#]hu{2#"'73254'"&5473&5462'654&#"32#".547##"'#"&546;46323>'>54&#"2654+'."327#32=#"BVOL ?4c% H>_vK%#G9+O-B S$=?.8 E7*$) 8.5*%3994** # $+e==/%#*V 1'  %6!!A~k(?Y<7[*4F6<oKT6#+=@W=RNC5&7,UE4K5H/(&5&/11CS227(0!9E.")8L-)75+K<#'00'1)3s3$=6(#p{2#"'73254'"&5473&5462#"/3254+572654&#"32#"&5465##"'#"&546;>3267>54&#"2654&+'4&#"325#32=#"BVPK >5c% H>]xK%#G9+O*? ,05' .% - ' 3*$, %28.5*%28:3** #==0$#*E(%&!B~k'?Y<7\*4F6<mMT6#+=@W=RMD5$ ('$/ (1*%# 4 (1?4CS226).#9E/!K.+55+K" $,$3+,1)3s3%=6&`#ny2#"'73254'"&5473&5462#!"3!!"&5463!254&+532654#"32#"&547##"'#"&54;>323>'>54&#"2654&+'4&#"325#32=#"BVOL >5c% H>]xK%#G9+O:N10f !!X&'Y N7F)&-,!3/75*&1o2+Z  \g==0$#*`!^$ !B~k'?Y<7[*4F6<mMT6#+=@W=RMD31)&0S1#%8$!53&#,.4 0O++.#D0;k/>K.+55+K5 Cs+.)#+a* 4-M&BM2#"'73254'"&5473&546233!532654#"#&5467>54&#"o$9 PK ?4c%F>]xK%#G9+OV-6"9[%1 3==/%#*$, 7\+3F6<mMT6#+=@W?PMD 6*/ (9$ %0L-)75+KMM&P[h2#"'73254'"&5473&546233##"&547#532654#"#&5467>54&#"2>54&#"o$9 PK ?4c%F>]xK%#G9+OV-6"9&! /A%%1 3==/%#*] -$%$, 7\+3F6<mMT6#+=@W?PMD 6*/ 0*A/0(9$ %0L-)75+K "%$M.&Q\g{2#"'73254'"&5473&546233##".547#532654#"#&5467>54&#"2654'#2654'#"&547o$9 PK ?4c%F>]xK%#G9+OV-6"9"2-# $5 2%1 3==/%#*E##1))'"1$, 7\+3F6<mMT6#+=@W?PMD 6*/ #<$5 -# <#(9$ %0L-)75+K ""P9 ,4 &$,M%&OZd2#"'73254'"&5473&5462'654&#""&547&#"&5463267>54&#"2654'o$9 PK ?4c%F>]xK%#G9+O54&#"2654'o$9 PK ?4c%F>]xK%#G9+O9ITB0((v"**"#2C7  G9T6B /:AIO>(!"==/%#*$!7A"$, 7\+3F6<mMT6#+=@W?PMD,UFAT3$$D39G3C099-F+A,F (O:PL-)75+K2&;(-:$KX&hs}2#"'73254'"&5473&5464632632#!"3!!"&546;254&+532654#"#"&547&#"&>54&#"2654'o$9 PK ?4c%F>]xK%#G9+OP:+!$@./*0''s ,#)WL.E6-+5C/:@H==/%#*'!7B"$, 7\+3F6<mMT6#+=@W?PMD;IS$/#73%0;!%: 1C-<:-?/>/F %L-)75+K6&:(-9$C##ju~2#"'73254'"&5473&5462'654&#"#"&547&#"#54&#"#"&547&#"&546326326326'>54&#"3254'2654'yBVOL >5c% H>]xK%#G9+O{)70#-$ + ")   * ) *% *0%*(@==/%#*#%"( "'Y<7[*4F6<mMT6#+=@W=RMD-SBT* (E6L8I2?3;N- )#.6I2?>0L/C4L% +Y?O87K.*65+Kj*MC,3+"C,2AD &|2#"'73254'"&5473&5462#!"3!!"5463!27654&#"#"&547&#"#54#"#"&547&#"&546326326326'>54&#"4'32'4'32o$9 PK ?4c%F>]xK%#G9+Ou0)5d)B"' &!$  3 %!$  % ),"'$;==/%#*f# !# !$, 7\+3F6<mMT6#+=@W?PMD1Q2NC,:"$%.+D)C2-2+C$ "C(C3-3+B%6*G#O4B-.L-)75+K=@;!%;>K$&2#"'73254'"&5473&5462#!"'#"3!!"&5463!254&'#53254&#"#"&547&#"#54&#"#"&547&#"&546326326326'>54&#"4'32'4'32o$9 PK ?4c%F>]xK%#G9+O2 $X "U5 '!% !  '!% $& *,$(%K==/%#*s$! #! $, 7\+3F6<mMT6#+=@W?PMD0$(1#0,"5(# )A)6+2@%"$ )B)6./C%8+E#N3D.-L-)75+K; $;>?54&#"o$9 PK ?4c%F>]xK%#G9+OO6H'$?(.!9"(1KUJ;9$$==/%#*$, 7\+3F6<mMT6#+=@W?PMD.WB,F *Z+Fѵ,A0[$.hAZ10L-)75+KF(&JU_2#"'73254'"&5473&5462#"&547&#"#54#"&5463267>54&#"2654'o$9 PK ?4c%F>]xK%#G9+OMCZ6+*7D!)97'4MYI96%.==/%#*6B$$, 7\+3F6<mMT6#+=@W?PMD3gL7ED6R6 ѵHB4Y"-hBY0/L-)75+K)"O.4E$+M&^iv2#"'73254'"&5473&546462632#"'732>54'#"&54>7&#"#54#"&>54&#"2654'o$9 PK ?4c%F>]xK%#G9+ON+*D G6C\ $4,H#A93*(5(A47Q)L-)75+K&+#(5 M &S^2#"'73254'"&5473&5462'654&#"#54&#"#54#"&546326326'>54&#"o$9 PK ?4c%F>]xK%#G9+Ot&4F2#)()('&7 @5'(,).==/%#*$, 7\+3F6<mMT6#+=@W?PMD-L8^$!S,:.$+>9-N%]7M,,))L-)75+KK&Wbk2#"'73254'"&5473&5462#"&547&#"#54&#"#54#"&546326326'>54&#"3254'o$9 PK ?4c%F>]xK%#G9+Os !&&&0 4'!)&&%5 ?4&%*)(==/%#*n(&/$, 7\+3F6<mMT6#+=@W?PMD)<(.;8,E+ -"(<7*I$W7H**((L-)75+Ku#?@(,B&kv~2#"'73254'"&5473&5464632632632#"'732>54'#"&54>7&#"#54&#"#54#"&>54&#"4'32e$9 NM ?4a' H>`uK%#G9+O.!"'#$/! *;-$) !""$"" / 7==/%#* 8 #$, 4^*4F6<nLT6#)?@W=RNC9J,,)(@ C6>T !1(G 1=0'#.& $)>:+M&L-)75+Kb,A=M&CN2#"'73254'"&5473&546233!5654&#"&5467>54&#"o$9 PK ?4c%F>]xK%#G9+Os- 5+!& *;==/%#*$, 7\+3F6<mMT6#+=@W?PMD ' # 2$*"*#;2>L-)75+KM[ &NYe2#"'73254'"&5473&546233##"&547#5654&#"&5467>54&#"2654&#"o$9 PK ?4c%F>]xK%#G9+Os- 4":*,9#* & ):==/%#*o!(*$, 7\+3F6<mMT6#+=@W?PMD' ! 31?@02 2$)"+ =2=L-)75+K%"!.M8&R]i}2#"'73254'"&5473&546233##".547#5654&#"&5467>54&#"2654&#"2654'"&547o$9 PK ?4c%F>]xK%#G9+Os, 5&0 0 !0 0+!& *;==/%#*\ #.%8&+$, 7\+3F6<mMT6#+=@W?PMD ( # &@ $--$ @& 2$*"+#;2>L-)75+K Q-$ *) &"/M&.9EL2#"'73254'"&5473&5464632!>54&#"354&'4#"6o$9 PK ?4c%F>]xK%#G9+Oa9T==/%#*a$-/*2,Am$, 7\+3F6<mMT6#+=@W?PMDwc]xL-)75+K),gM<!"6TNM &<GSZe2#"'73254'"&5473&5464632##"&547#>54&#"354&'4#"62654'#o$9 PK ?4c%F>]xK%#G9+Oa9T'! /A&r==/%#*a$-/*2,Am1"11%$, 7\+3F6<mMT6#+=@W?PMDwc]x0*A/0L-)75+K),gM<!"6TN.2 2$M&=HT[fz2#"'73254'"&5473&5464632##".547#>54&#"354&'4#"62654&#"2654'#"&547o$9 PK ?4c%F>]xK%#G9+Oa9T(4-# $5 4g==/%#*a$-/*2,Am 0?!'&#0$, 7\+3F6<mMT6#+=@W?PMDwc]x">$5 -# >"L-)75+K),gM<!"6TNe') 44 (#-MAL233!5654&#"&5462#"'73254'"&5473&546>54&#"=R59F8-,7C UO$9 PK ?4c%F>]xK%#G9+O"==/%#*QBA; 1A2=@/O!0eBY$, 7\+3F6<mMT6#+=@W?PMDL-)75+KM %1Xc233##"&547#5654&#"&5462654&#"2#"'73254'"&5473&546>54&#"=R59")B./A)UF:+-6C UO$!$%$9 PK ?4c%F>]xK%#G9+O"==/%#*QBA; 41??141A2=@/O!0eBYS&.&$$, 7\+3F6<mMT6#+=@W?PMDL-)75+KM&OZez2#"'73254'"&5473&546233##"&547#5654&#"&5467>54&#"2654'#2654'#"&547o$9 PK ?4c%F>]xK%#G9+OL=R59'3$ 4H3MF:+,7C UO==/%#*P$&4330$, 7\+3F6<mMT6#+=@W?PMD*QBA; <.G4< 1A2=@/O!0eBYL-)75+K P." '"#& '!/M &U`2#"'73254'"&5473&5462654'7#"&=4#"#54#"&54632632>54&#"o$9 PK ?4c%F>]xK%#G9+O9B,% /4(),6=4%((!.H==/%#*$, 7\+3F6<mMT6#+=@W?PMDV4&R$c5?4+)W <+.R%b4C(&6(."*L-)75+KMe&[fq2#"'73254'"&5473&5462654'7"&547&=4#"#54#"&5462632>54&#"2654&'#o$9 PK ?4c%F>]xK%#G9+O}9B%%8.7!$4 ()$6=3L%8I==/%#*m& &$, 7\+3F6<mMT6#+=@W?PMDZ2%N"_A/0)*/.3'S:0&O$]1A'%*0,'"L-)75+K,MC&do{2#"'73254'"&5473&5462654'7#".547&=4#"#54#"&54>32632>54&#"#"&#"32542654'#".547o$9 PK ?4c%F>]xK%#G9+O{9B)1%# -)3 ((6=  &' .G==/%#*}52& $ $, 7\+3F6<mMT6#+=@W?PMDX2&Q$aH?'1 +<;(V;&P$a"3 '&4).("L-)75+K$##%   LE(5%#".547'654&#".546322654&#"3E/ "*5bXADY0#*.b]t2#+ ' 7.2B 2!A!2vK\]M(82 5P/i~fl# !L'2E%#"&5467'654&#".546322654&#"2>54'#"&'33U<>R>,bXADY0#*.b]t.%"C&0 5$1/ I,DWV@8F 2vK\]M(82 5P/i~f|v+'  '3"! CL72'654&#".5462'654&".546/]t"4-bXADY0#*.U>L*(A6X9H $&V~f3V6)2vK\]M(82 5P/i5QE.G M0;<1VD+DWLAM2'654&#".5462#"&547'654&".546322654&#"/]t"4-bXADY0#*..BB./A5 A6X9H $&V?>L8&."$~f3V6)2vK\]M(82 5P/i!?01?@0?  M0;<1VD+DWQEN0$"-&LEPd2'654&#".5462#"&547'654&".546322654&#"2654'#"&547/]t"4-bXADY0#*.#4 -# 4HC A6X9H $&V?>L9 &4350~f3V6)2vK\]M(82 5P/i!,$ $5 G4K" M0;<1VD+DWQEN0rP." '"#& '!/ 2.7".5463&'632/G#x+'504 ;VJ2C*@"!5 $3 2&5432#.54?654&#".547373(=e1C i<H11$JBP1! (5# "6 <>Z@rp? 1$#B8WG,%!,Wz'50.''6?2'-=G( +`%-H E,M(! ,+w.+'675#5!#2#"&546326=4.#/.'=B%--{\54'"&547>7!Q=P5/6%G7(1!% 0H6"+UQ!& "*?b*,'&#632'6?>57654&#"#"&5>$<&! $A6((()53)1   *!L* <#6)-"\); .1Us.(27#""&547#5!#/.+"'767(*>H-{3 1HZ-3' ) =H )22w():4)dz. <&#"326326#"&'2654'#"&547#5!2"&'26J (%;  )[P:c| 1T4(2 -8)g!2)-a$m.TŭLcG7&!A4@F2I 0!,)p8. ""'"'"&/3>'"&5#5!:)=z.=<)7/A .8'>#K.5  _9K(22:w. 3265.'7./32654''.=#5!!72_48 5>7E,0C%"$2rAQ&/f! 0";K5o &5B,:HG C.!B22 D.4327#"&'367#".52654'#"&54?67#5!$*&-: 4+#11:+L' G9 ( '") %, //&>+D`z3f_&22|w-'#"'6?675#5!;#'.'/.!3 4. 4'E$4A '"]  3%@@!2/R"22#>CB0h%274&'"&46332674&+37#&''.#"+"&547;25'&#632+"'#"=46;>324   6?H%X">Q  [ 8F!L4Q$>  * $K): 'W   M=8,(_& LC.l V-=1$* O?23!;3267+"&=>;+"&/5#536=4&+"".5472=:V #Ai:&-,13 !;22S">9u,2 '! E87>54'#".547>=4'#53.=473{$0/,!{,$ 0( 0 'Ss8(.6'7(== *R 9D0tV@,% `#!2 l!/' &A2.%&'5#5!#67+.'2654'#&13 &M;.F(&@( Q >-.22MH%=U?bd6 *LK/-/6J.7"'#5!#>7#"&5432}&9J&> #1&X=22 D%85Rw,.+#"&54636;2,]+ &(%H(E-%Y$42,$9/ }yv53#.+'2674&#+"&54>;2) CA 0(A# = 't" ( :6&7$ OV 3;P82 &0 @!- @":.'5#5!#>7'&54+C+': .,@) 7#%33p#*@=((;4%fb.*3273753#&/./7#"&54632#"'J@]- `gA !c8-a") &  ;/J8@2j6G=H%&  $/.&+"+.54632%3#*;;!0(.W$e$ )2K22(%'&'"'7654'""&5>327'&#"rR 2+<  p5M&c#%/(: !* 3^x%o +u.34&#"/.#'6?.'&'#5!!632#".'4622+$ ,A%-9P 43_!P76=4&+5!#2654&'#t+","'<z&#g,2 #,,+ %22 h0 8/qp. .'#5!#'.+#'67s30KAk>( pCb5 4<]&C 22u=VA!WG,%!,W~.+/.#"&#"&5462#".5463254632'!5~$-N-809+:>34!'-#vV !  `%,0'" ><4?#422=p&&#"#"&'"&54>74/6;2>;2d67 !!-+*,- o *$S|m,0$2""#">%S*h. %32?4'72654&#"7#"&547#5!   '}_B+<8y| %"2^G&1422H.!.".5#"&'7326=4+5!#'2654&+3b(=7<  40 .3% 4X*" &S 1D22 #(/:%  83p.14&'#5!#&/32654&#"#"&=>76oY) l"C'*0C(S&  922 "I* :.5"h$-$.. 6%#"&54>72'"'5#5!#>7+.'32654'  5- #'CN>1M* )C*1A7#"&4632> :O!> "g_%C22D'*"$;vny. .2#"&546'.+"'67.'&'#5!#{' /X3v b644> &yK*-U) l=XA5.  22WG,%!,W[c. !7.'"5467'675#5!#'.'N"j[354/&=467#53T b0!(! &$`-,'[+ L8-I/22.U!!"'.'&#"#"&54732632'&'7#"&5>7>32#"&5463232654&F.C$(| )9*C0J  ":(2E?<H"e D),*.23; YJN<#9=5!  A, . ...M,,;&o#D%$ $.AJ%25&/675!5!#2#"&546326=4&+"/�"1".547;6=HE|By1#% X0/e%JCOT" jIj##+J4E Us#'22&vU(4,$3H$&=N)!   4#GL 5$G3#/&+""#".547325&/32>54'#"&54726?67VV"J " /B ]{865S6>+B])30!>F(Z=d%2&,+))3&Dn!g +O"=- 4B#N +^ N3#/&+###".54732.#"632'7674&#"#"&5>32/&5&= V[$J /B `zg h9*5(2, :X  *!Q>: c!2&.+)&2';G_*6!2-AZ .2S=*  .F267#"'47#5!#/&#""##".547325.+"'>?67#"&- 6RfA"$xL^!3# -> Xt54 l9B% +< 5 Njx,B22'.,$,4&D2BD' ?s.87>7&'"&5#5!!/&#".547;25 +dy+ 9*,7a/B qFZA  cK&VDq22   $:@%***,V32.54732654&'#"&'47#5!!327./&#"&54 :&G6J@!p.  8i6%L=$ dN&K " .DIs$/";0KP#"#:HZ &. 6 $(B::a9HB6+ I!#)\[44# N' S+6K22 MVsNY-QC#zV23!267#"&54632/&#"#"547325.5#5!754#"".5473$': L'q-1"25@Vr" )>,(.b6-B % '&  /& 2k+# 454'.5473#/.#"&5473325#".547>54'#53+A=#5/!$+5;Fа&B !9M94 90 #-%5j T,@7gK0R42/o"<(3 )[$2,T= & L?,)X/";% . '2w.L#"./5#5!!>7'.+"'#".547;25#".'32>54R% #%H*0#x3G" XV*:8/H5U0" #*?$(>RE 22E!]5@8.+-% 5$"GbT$"E6@,+$ "p.=%25"'#5!!>7#"&54632/&#*#".547;6#D2A+,12P ) $) !,=ZZAIi& ;- Od22 X1$&//95&HD&#  ,+.48'.'&#"#"&54732632.'632"&'>%!!k4 $o%:H+<(8b1 0J *1&$09/ .X; ZHO;/ O6M2(Wn3$("6-+<$2>-O8&8+&#&5!;Y2M3#/&#&#".547;25.+'232654&##"&54>32WT( s0E TR)45%GOC, #+?3+Q*"`#b,2&.+-%3$%@MhS7   (%7 N8$:( N2 .0'#5!!767'.#"#".=4737&54{=j Eo4^NU(,%*|,,!9.yR[dDJ22,R@EmKR= !E1%- (MTD4A32?53#/&+""#"&547;225./7#"&'4632#"'FeN}6! }Ta  J@NP! 1 5gH;~+3*10 +H@]T&IB2%Q6(*5$4BCO^1( 0 .6%25&'#"&54632!5!#/&#*#".547327%D 2r#*.(M:/]kV0_9OKNe b; &':$5?bA 22&9R&#  ,+.G%25#"&'#"&54632>54&#!5!#/&#*#".547327"D "X$!$0(#I  2s!1=ZQJMf ;S-.#,%(226'!&=N$%  ,+#pH.#"272'53#/&#&#".547;:32&''764&#""&54>;4Q %!5'   DO+ x3G" NQ"'G+ " +N@9 !/,~ 2&.+)) X6V.*  ,3$.I".'#5!!72#"'46725674&#"'.#"&5473725.+'6?&*'%@E{V./32'.#".547;25"&546322676%!!n<  ;:# 3]2$,/#O*!%T /3} "$G1:( y7"02'3&Lf2".DH%25#./32654'#"&54632767/&#*#".547;6!!"D&*[- @8C*8NP>,?&1$BnB0^9VEMf% 1;~[ Ot;"\2-!>:./$8#>4.'#5!#./&#"#"547327325.'#"&54>32BS9);;-G,]"G< ' ICAT A 3-'+*-vA9+]+722-$! .#%7!64"* . <.#""'>7'.'#5!#.'&#"+.547;2O2  ^Y0]:D3C . B4 \)W&yA7C '-2L$b0C z~O@FT-3 22NS?! & V3#/&+"""#".547;24&#"#"&'"&547'&+'32>?'5"CV$T  /B YU*79 EJ,-F!V  A2gK& !'  K 2&-*-% 2';^ 22!-.;('2] =$u+.E5&'".'#5!#./&##".547;25.#'76?67&#= &+%&hKY+[")*EH/B ' CD2? D& %0)#0-2_7  22 -#// #  #!> 'fX   .F>35#.#"/#5!#./&##"547;25.#""/7270 $'* f")*@M ' CA7%."0:$! |" < %( 22-#*  #!=.2<3G& @ !.;F%250#"&'"&'732654+5!#/&#".54732?>54&+ D4T"< 3  9%8=ZQJMf l- x ,;O)'7!2 E22.$#&=N#&  ,+!#-\.I'./&##"547;25&/32674&#""&546765.'#5!#2|EBeq ")*EH ' @ ?Hc7?W<_*- 7'!P! -1DB@ 0D$t -#""  ((B/<&4!;!%4 22 -). 6&'%675!5!#./&##".547;25.''906T7{F֘e)]")*HE22 ' ?!?DV E @H)$3pk."22-#=*( (8AWE".<4.'"546;%675!5!#'.##".5473:325.'l3U/ Hi$]dwJ֗l"]-[(-A!.yK[H" *2* "!b9H2qk."22I-01#! )<!>V.s3275#""&'#4'#5!#632"&=4632654&#"/&#*+""".547325&'#"&546;2654&#""&546;2$R^ i2Z {/8*0!'H4[9%0% .5- 0B22PlDG$< )0) "$ @PNE1*L/E"22PN8? $@& :(+'4#^W''1 &*+L. #O%2?254&#3&546.#'6?5!5!#+#&'4632.#/./)(#E 0 Ph w `  + @:ML573##"&54672654&'3267"&54632".56?&+4/&/7675#5!654##"54732632b#/j-Q" #7#',#$[ &'".vJ(4,N +]9F1$ !-916@l !R/% 2I;2 '8nFH12*(!G\(1#:(   > 2 X& -D  >=73##"&5467265654'3267"&54632/&+###"5473225"56?&'#4/&/7675!5!654&+"#"5467;2%.5j.P$ #ZJ)%] ') !*$( Zx7#7z,*' +]9C( !7T2,JQ(% 2I6!38M7&33$* '&1"7#: s&9$   > 2 P+ '.e!!2#"&547232654&#6"'&'4'32654'"&54632>54&##"&54632>PV84(12 .$ (RGo" 6;V,/>!%!)? 2%D4GC.2db N *! (#   "M4A>XDcM73%! ) " -)!?VJ' .KQ%2#".'32654&+#"&547'./675!5!#2#"&54626=4&#632'SB <)3^A' *A<,.;# @)5|[:p! !#*?C H@?%1)J844 Nvb( Jf-> .*&( AY22XE( ;.Gt. z5""0!!/&/767&/&/32654'#"&54632>54&##"&54632>?632#"&5467232654&#6)$ (  ;,%&$#0.F3"(W/>-)!)?2%D4G *70:>--2 .$ ,<$Z2+(-  2TY3%!"# "+-)!?VJ'!=.$F#(#   *+. \b35#"#'67.'32654&+#"&547'./675!5!#2#"&54626=4&#6322'.   &)+O4*bw.;# @)5|[:p! !#*?C BA M E:%0*v <"-[nO > .*&( AY22XE( !;J8b+7,FF.!!#".'32654'"&54>7>54&#"#"&54632>?632#"&'472232654&#6/&#"###".547322,&G54 $ " 6;V,/>! !%@2%D6A *70:D#(02.$ )$.02Xz7#.2% %4WAd+&DcM73%!   "(-)!?VH!=.,>9(#   *$N& 9)1"9#:p.Z`%'&#"#.5473272>73254&#"632#"&5467./675#5!#2#"&546326=4.#2'+ %5J+; P 0 + !2'0$"?55{\ )"=(!D/'AZ22[B:! ) 0H.dl25#".'32654&+#"&547'./675!5!#2#"&546326=4&#6322'&/&/##"&547l(&3^A' *bw.; " @)4z\ =n%&!#@C B +0KL ! (!t:E!oD~Nvb( > .)') AY22[B8!<J8A, - BU" $ 0 #F. F74&#&/.'"#"&546325./675!5!#72#"&5463*Kh !#Y1 . %6B4!G;?#EL ;v1#)# J.6I 46  ')%2)L)8 Ug/'22&|Q(4'" .E2#72#"&5463274&#/./675!5!#'.'"#".546*Ij+A!"7$ ;v0!+&Y1 4Y5EI(   2L.(*9+&|Q)3%% 6Iq,,7/Ug/'22+I  .F.X74&#'.#".#"&54632#"&546326325./675!5!#72#"&'4632*Kh+A!Y1 #  .*  2,?# ';?#EL ;v2!$$J.(*6I#+. %+    A)-,-71)8 Ug/'22&|Q*2)$. Q"&'#323275#"&'#5!#632#"&'54632654&#"/&'"&546374&#""&54721^ {&|0!iR] $H 2]=" & 8+!F6-&' "$3 iNE1uLE?@P322PK6/)  6f+!# 0. &*3 ~.f3275#"&'#7"/.##"546325&'#"&5463654&#"#"&5473254'#5!#632#"&54632654&$#&] i2Z {/8*0![#0%J3=N2$<#%*) "## 'R:U,!%& 8&PNE1*L/E $+7<%I$7QHW$*1 *&/ 22PU+'3  .4l3275#"&'#2#632#"&4632654&#"64&'#5!#'.'"#".=/&'#"&546;654&#"#"&54732$#&] i2Z {/8*0!"B 0_-"# & 8+ HJ&# !F,$$) "$# &PNE1*L/EV'PI2'70  @w 220D#6f'.1 *'/.?27#"&546324&'632#3267./7675!5!#'5.#"#"&'|Y)X& 4$:(+ ,#oF/DuWR5;9:"CW&V R=B.4 80!@LP&D22.700?*Ic%.#"632'767."#"&54632654&#"#"&54632&=&53#'32654.#"632V1C",;?:8'!N7   c4#;%'"C[9k '5 @*- & J +"4R"A4* .,W 37M6!!S3z  2<=GV<  .?'5'&#"632'>54#"#"&54>325!!767'&54j>k C!A9  ,=?2M ' #4,6$! 4_MWA#+[iFE 9  ,!0O#; Z3%8  Z2,QAzrLJtcBX>SX"'.+#'7'>54#"#"&54632'5;#7'&'54%2>7.#"6  o= B%P %V= 7'!"'O+,,<&< O>+W?MI  D^S*W 01T!$$ /22M&aZ *+"%-Ap 0SC? ^3274&#764''./>3'&#'7'764&#"#"&54632'53#7'&'c Z<*R0,._@+&c( M0&p*CPB%:/ K !Q8 :-0 O5.8e!/ Cw5TG7y) H-<,=S*=3 */-Y%L5 2:%\Xk +K3#'&/.#"#".54632.#"632'6?654&#"#"&54>32'&=W[> $ C3&G e9,8%@:+ K &>)= a* 3 7 %3/Ea)%' $$&A- *((/ 79'T%2#03#'.#"#"&547.'&#632'6?654&#"#"&54>32'&=64tI  #& ,,*)6:+ K &>)Bp QEW) 3'&  !-+)" *, $$&A- *((0 ML79'e>32'&=3#/.#"'&/&#"&5463632#"&54632>32.'&#7632'6?654&#"#"&U-= C[#  !(   *4+-, :-  0-[:+ K &:L79% * 10    +   ';/?#&6B 6!$v3^  < - - # Fl: BF#D 5Wix+=22 !8 .", &>2BDH 5.V654/3#".'#22#"546327&/#/.+'674'"#"&546?&'#5! ?EF>  -!1*8 ~+$P $l(3" V s0B~f9*",$/E-0S  & ? 97 0h",0 @-PLS'3) %) '22R. u654'#".'##".'463254.+/&+"".5472;5/&+'674&'"#"&54746?.'#5!e  - 7M(J'-5 ~QKGS' (# >$3+,4I85 LCB~f&*#5 t\  4B!!> 0<`8!- * ' <*-$1"*< FLS'$) ( 22.)64.''#26275#"3"&'3265#"&'#%47#5!#632#"&54632654&#"'.'"&5463654&#"#"&'2>54'#"&R <  ! ] 2'$3l732654&#"./&#"'#"&'32747>54'#"&R] &  4?R{07*.#+>GX4 47.*( %%=R# " J "Bus'e}+++  ' '> @P  ,#]61*L/ 7!>:,A%A+!#( 1 %)e2Q22PR-'3   X-Oϣ`]%)%  *4 )f"567?>54/#"'"&'3267'2?#/&/#"&'>54'#"&547#5*% '*&(> +8(2 (&80L<*=[< SV < W3b@-7 ,9%  / (   5-H4*-<- *_2!6L˧ 0)8.BS2.h32654'#"&5?6?37'#5!#+"/#""3376?67/47"&=?376?4/" % 'f--? "  +R2  .* ) ;%;()6   &  % )22 $S '#! 63:)&"FQE7>HX D27 E"74   .1D}&'#5##3>3547767"&'"&'326?267#"#"/3272654'#"&=>54?67#5!#/./O(  $ ;2 (', 6S$(I!$-[/pE  98'6+9  ^\1  k ! &  5- 5 O Lx+7K1>BT+ @;  8.#  224,J .1J]&'#5##3>3547767"&'"&'32673335./7267#"!>54?67#5!#./&/#"&'./4?>54'#"&5O(  $ ;2 ('h,) g$(\4#, 6S$(I!$  ^"4o3?#=+   70'3+9  k ! &  5w$; N"P 5 O Lx+  22- E0$1>BT+ :"  2# 8../?}27&5/&/#>724&/"'"&'326?>54?67#5!#/&/".'#"/3272654'#"&5  &H$  + *&2 ('oC    X L  G!pE  98'6+9   x !  /8   59 5%  &\r  22-P,    )1>BT+ @;  8.;.'h##"'67&#326=##".'32654'"'5&'7>325!#/&/&#&#"#'"/?>3&"5-  |E# ( >0;a/ )P3'6&6S$J8)I   "%S)>!'#  ,5 (  xA9aI(*QQ14 02-,  * 20e.'2_5#2636?>?65"'"'"&'26=/&'7#'.=#'.5#5!!h       J#p"^%> 5  '6e ^    CEv1 (IV>Q%   ;(22   !! .2{;6?65/&/335>?65"'"'"&'326%2&/&/;272>?654/#'&'#'.5#5!!;7;  .   z J _%,(8-'96bt<)910%?* &u%(4  '32  " : C >)-8"76'h& \  3OM#   ;(22 . +?5;6?65/&/335>?65"'"'"&'326%2&//.#'76?&/&/;272>?654/#'&'#'.5#5!!;7=?    .   z J _%,(8-'96 M0+<((#3<)910%?* &u%(4  '3'  K  " : C >)-8"76' &/< - \  3OM#   ;(22 _.2;6?65/&/335>?65"'"'"&'326%2'&'./&/#&#.'&=46?32225&/&/;272>?654/#'&'#'.5#5!!;7;  .   z J _%,(8-'96 "4o/' gDC@<)910%?* &u%(4  '32  " : C >)-8"76' z-  #>"  E/ \  3OM#   ;(22 0,v732?32'&#"232"&'#"/&'"&=47'#'3#6?6;7>32#"&/'./""#%2654/".5463263654&#"%32?6565'&/&/+3v "9#  0 !#  > f;G &30$" % 41#  P%H' #*f #  i! " %%i[   ': )K#'$ #  VF20* *.&   l 65H.4,:!I11 # O  " +f*V   K.W726?6?6=/&/&'#'.5#5!!./&+"01+"&546?632x1  "$-62 .H^  ,/ $-!#H7 /3Fn22  !  @  !V/!, I.%"&'32?22?65254'#"&54?%47#5!!&#"327?6323'&/&5'&54?"/&'326;2+'&/&'#"/./37>54&##"&^f!$' * N) 8 !)7 3 *+ %/ *16! 54&##"&547#5!!&#"327?6323O" $f!$' * N) 8 !)7 xN %%& ! +9! (<$ A7 !(3/$$(   *$1":3 *+ %/ *16! X<E"& .+-(C3 6,! 5`T. -  )#HJ&%# % 6I !4#%B<)_&%4'  4;@,22   5  Di. 8%57467'"&/&'326?5'465%467#5!!";267/&//&/&#'2?'./532654/#'.4< %  a %#N %.' ,)   -i7%9 L*   (:@(L ! /? - >Y#   P4 & )* U'P33 ' OM1&   %F ?$ C*Ia(-#* $ /?Y.$~$274'#"&54>32654&#"'32?/&'467#5!!32?6?6?2#'./#"/&/2654'4#"#"'"/&l4"`(% 6.3 N  15! 1 ,R>%  !(L *' 3 X3}?+& *-+[22   1 ' 7 7.&I'88.A6&"`` Z75%4'"32654'#"5463276#"'/./?.#"2#"/&/463256?632) "?0_[(/!0$&8(n;\&9;]+ 5 !  ]A(O /9<*2'+ !%F( R0(p#8, .9:$: a@N" % %#(G5"9"?D4A$<D-765'64/%26=4'#"&57>3267'&#"'#"./463?6?2'.'./&/25&/"&'54?6?654&"P }5  &Fm7>((' @4S ( 2. , _)9.!G;+.+*3OV0"*C  ! O b %    V 3MC)A#  ?R53(#(  "  H$,,)f_  5E#0   !'*+2654/&#""#".54632654/"'&/5?"/&'3267#"&/;265'4.'"&54?65654'""&546323?6?32722%"  "" #Z  (2$($ #GL\ HI  #)  &!Z6(%3 '   $  F>\-/4)5 & 28 9(7nKS8W$92-!  1&4+ , -]&% )2}4I7"&/74/&'"/46?67226?'4/&/2?6?/&/'./?654/&'""672"/&5&546?256?6?22r*'D $"/A &    "    *  ,""3;4vn        R"$/[4 &", 22/-I"      <8  S ) v j,`H>F  "   /=C= f  i23!32?6?6?'.5467"&/&532654'#"&/&=#5!7654/#"&5463732 '. _% ! Y^a  !23(R&$9 g< &> 1-N . ""1)&  !23'S,9  &> B )_& Ij C[-.-)1 !%!"U9#8A3T q8C1 !%7 EP$2Vc79& -2-!+"+++$4."%]?K0>K9"#:;!<}.!a#"'4'5!32?326?674%#"/5#5!!2?+'&/#'./&/326?4&a$, % '%5#$Cy_'+}"J#&XHG:. Y,":#   B7K RPCć. 6`"&/& "LO@22K a#Rn ZT8"7 !-/:6.,1%A (x.U26?7322#"/5#5!#/&/&#&#"#'"/?67#"/&/32675&B 0_ #  k_& xI    %$9U9#8A3T 7 ?E|/ P$22-.  * ]?K0>K9"#:;!J|d&#"7'4632#.=>;25!74+"#".546?723!3267"&57632#"&/!A&  %&(5 #0$ /)DO -B   ?QL&'e%4"2S3 2 - 0&5,) $4 ,,2' '    G52$f038.%<U8 ~|72;25#"&/5&#"7'4632#.=>;25!74+"#".546?723!3267"&57632/&+###".=4674?363*7# 2 !A&  %&(5 #0$ /)DO -B   ?QL&'e%4"2 "n  024/: 8 - 0&5,) $4 ,,2' '    G52$f038.%<& :)8  'W|&'2>?653#+"&5&54>?6?6?/74/&'"7'4632#'.546?2765'4&'4/&/&5467- 6 5#$)ͧ " 2@+,a+/ 4 )   %&#*@%%)5  C !5#&K92&" "%2% 1L02/2z+(6J T$    0&5C9N Y/$")5E4^46;37#".'&573265"'#"&5463263654&''54&#"3274;#".W;*$,1  ?07[<2 /^_%,+  45( %&C! ,V$P3+7C$01Jn`; ! &  4 O!,# !6$A.^46;25!!;26?#"&/&/./&';2?6?>=&5&'#".#&/&5'*.  X  6%.0\6r   91LZA&   ,!0%  % 52&4$m$U2F ( F/ e37L5  1  # % @L@  s4}%25#".'&573265"'#"&5463263654&''54&#"3274;#".546;37/&#*1".547327>7[<2 /^_%,+  45( %&C! ;*$,1  0i%LDG` <~1Jn`; ! &  4 O!,# !6$A,V$P3+7C'?O,.+F/2;25#"&/&/./&';2?6?>=&5&'#".#&/&=46;25!!;26?/&+"###".5474?327*6$(6r   91LZA&   ,!0%  % '*.  X  6%. $T  /A 4/%:F ( F/ e37L5  1  # % @L@   52&4$m$U &-* 8 [I.B.#"7'4632#.=>;25!!26?"&57>32"'J98  %&(5 #0$ 5'c] $ $H;*+-/ 0&5,) $4 002 Q##  6Bl$Pd7"&546?2'&547'3#'54/./"'432+".54>?254&/"/4632#5HE2%    D[7 8!/,/'&" $-4&%  C,'5%0&ZD>L   2= 28K .5 #" 8' *"9V 9* '-O X32"&546?2'&=7'3#/&/&#&#"#'"/?674&/"/4632#r#  5HE2%    I    % C,'5%0&U ZD>L   2KH 22-0 *9V 9* '- .TX4632#"/&/&/&/326?4/"&54>7>54&#"#"&!!zQ4G+:"# 4" ""!<8+: !! %  + Q3bJ'I:2 5$B4 'lC+0&!4+   "  $2f . n25#2!!/&/&/>7&/&/&/&/326?4/"&54>7>54&#"#"&54632E  !    "%&-= 4" ""!<8+: !! %  +zQ4G@<h2"1-( 5$B4 'lC+0&!4+   "  $&3bJ'I}P#"/7>?27;#/&/&/./2?6?654/'74&'"&0  ( $ =0$ 63  >:FS36,!% R"% + 8"6!")B.".36# #5"43%$ p  ( A.  e=.h!!.#'.+"0+"&546325#"/&/&/&/&'2>=4/.#""/4?63@K4 $.D2&F &$$ ' 0.' F9"  + 2=!3x+' j A "(  % 8 O!q.Hq$2>=4/.#""/4?63#"/&/&/&/&'5!#/&/&#&#"#'"/?6;22F9"  + 2=!3x+' j A Y22-.  *) .E2!5!#'.'#"&546324'#".'32654.#"#"&54>C3F0) <XY 3.#H(,P6/ 0YwN !*'TDJ+?D  , 22 (?5"+) ,3F]@13 32+T=.|!!/&#"/&+"2&5463632#"&5463246;25#"/&/&/&/&'2>=4/.#""/4?63@=# (   2,2&4! &$$ ' 0.' F9"  + 2=!3x+' j A "(  % 8 O!q4 a>?6?!'#5!'&=3#'./&/&#?'>54&"/&/54iEB%& AmC3H4" C[-   *2 .:RB # ) =/ kBE24"S7:% ,2-)*) **"."AX&F*#5  3'%<*&. (S767#"'0>754?#267#"'#5!#/.//&/54}% QR2 f- 6H$(F!$}AmC3^\0=# 0'! H5 r 5 B$ H"x+/kBE224/G>#5  3'%<*&<.?76?6?67'.54754747'&/47'#5!!YC(G ,,$L%&' D , "/( <'<?6vC1&  >> #  "    $J$.(Eo*N*TX.  '1   N$#!-@|D"&" > (0$ .2G +,@44  .5/&#+"&546326='47'#5!!>?@-S#-08*AmCPuCC%&~f$6v&!($7 93kBE22 ;0Q*`2;?/&54?'5#5!!?6?+"'"&/&/;26?5'+'.546?2# #   "*,_B&L /*+)."/`!!  k#R  "&60      + 044|09(2 B:>=PD"306=,-(1#!- $+"!*X2/&/#'.=656?6?325"/&5474?63227&547'5#5!!7676Z % 'W +  - I%)#+'   %!" ):,v= #L0 ) "- %2 !# +   ,"9*'*044|, 9?C Q*2;25+"'"&/&/;26?5'+'.546?22;?/&54?'5#5!!?6?/&+""#".5474?363+ 7#@ /`!!  k#R  "&60  #   "*,_B&L /*?"n /A 4/ X:D"306=,-(1#!- $+"!    + 044|09(2 B:>e6&,* : f.F%6;22!>?''#5!#/&/&#&#"#'"/?67&/54b +|CC%&W AmC3fI      l  + ;0A5F*#5kBE22-0   /<*&'4P'32?53#/.+"0+"&546325'./7"/474632#"'"/1(&WA! }T 3 -D2L,<:;~C+/ y!+d N&IB2 !"4 0 &1E;!-O^. / 'X4Q73232?5!#/&/&#&#"#'"/?67.'&/7"/474632#"'"/1(&WAK2! }I    !`"<;~C+/ y!+d uU '&IB2-.  * UO^. / J]23!3267"&57632#"&/5.+"1#"&546325!5!74+"#".546??QL&'e%4"2S3 2 %1&0(3- )DO -B   G52$f038.%<U8 y% 0+*1- 22' &   %2;25#"&/5.+"1#"&546325!5!74+"#".546?723!3267"&57632/&+""##".5474?327*6$ 2 %1&0(3- )DO -B   ?QL&'e%4"2 $$T /A 4/:8 y% 0+*1- 22' &    G52$f038.1'!&-* 8 'Wp.'2?6?653#+"&5&54>57>=&/&/#"&54632>5'4'!53/&5467r)6  /& f;     F4+\&%   "&7); " !&M'C)* "!&' -( 20 /&*6!")L2#6"*!&03  G&2',#)()8;.W"&576325!5!!32?#"./&/.'2?4'#"/&/&/  2  = +  kW?T'  '  )A*L+X * B 9 22 C/!&Yo=.K>9#8G 21.I:    u;.72;25#"./&/.'2?4'#"/&/&/"&576325!5!!32?/&+"""#".5474?3327*6$'7?T'  '  )A*L+X *   2  = +  7$T  /A 4/ :~=.K>9#8G 21.I:     9 22 C/!&V=&,* 7 I.:46325!5!!26?"&57>32"'5'&+"1#"&F0(3- `$  $ G<*+--+1&q*1- ~22 T # ' @n$P : 0+D.[#"'"&/&'3264/##"&/46?&=&/&'#"&54632>5654.#!5!#(*'  *: ,(  -**D@3)(  )&*2&*g D!V@9$=&cen +722L>% "+ '#(#,@ 226')qD.n25#27/././>7"'"&/&'3264/##"&/46?&=&/&'#"&54632>5654.#!5!#N% !3 %%&'" *{< ,(  -**D@3)(  )&*2&*g D! (*0<8L  -`hn +722L>% "+ '#(#,@ 226') @'.c/&#""&/&=74?72?254&#"72"&/4?'&'#"&54632>54.#!5!!@3N  A*6 )# 1  &  /!)0(*k'6'" =%"   E  ! )0 ".  ")#,A 22]D.c25#".'2654&+#"&5467.##.=654632654'!5!#/.#".547327KE/(5cC< (21M*8L$$3#+*M# 2&FT4.D R# =ZPKPb ;AWtF 3!J,'E&/%-#;2.#,T2-22&72$g@+& =N(!*-V.Z6;7&/&'7&/&/&/326=4'7'&#"#"&547"54632>54.#!5!#$'/=O $"O/BB; , W28v&T  @!$F0(*ks!O 33 <7K(B.-B("  w&<% ':"K#,A 226' .A46325!5!!>?/&/547'5'&+"1#"&F0(3- u FI"&W# BmC "*1&q*1- u22<5A5F*#5 3'%<*&EkAEu * 0+x.C%'%46325!5!!7>32/&/&#'?'&'"'5'&+"1#"&! 90(3- x[; #7[7'$-70 "*1& *1- u22$7T $  ?'"/&#"#"/&/57?3'&/47'5.+"1#"&F0(3-  FI"&U8 )z@ !  K 4- A! .E1&r*1- 33<5@)8, ,9  $=MG!15JR  0+2.D7/46325!5!#?6372/&'5/.#'?.#"#"&C6*&Q2  & $  U:0@`< +7f,52"22 ~wI  0@@,33  t2. V25#22'/46325!5!#?6372/&'5./67'.#'?.#"#"&  ! AC6*&Q2  & $ !(%&QK U:0@`< +2<7f,52"22 ~wI  N-H @@,33  [.r7'2;25.#'?.#"#"&546325!5!#?6372/&'5/&+"""#".5474?3327C%  A50@`< +6*'P[  & $ G  (7 ,(7  ;&0 @,33  !,51#22 ~w/9  {%,* 7 .C746;25&/.##"&/46;35!5!#/&/.##"'E4  &aP'"))G2  %'b P(& F2A~ 4E" "&4? %= 22*'2E+>X.C3246;3!5!#/&/&#&#"#'"/?6;.##'&'{2

3253#/&/./&/&5372654/".57463'&/'6?'&,  <Y-  Y$J[-E4:$*# /" $1)9&7(A '?^ 2B!:D%2{6)7  2() ) 3#  #p V'&#"27&&#'&+"0+"&546325&5./'764&#"#"&54?>32'53#/O"> v*1 $.D2$F! G+   ,A)*I,  DO @M u!V/!&1)E.* ,$4. ~  2y<GU`3#'54/'7654&#"54?>?654&#"#"&54?>32'&=254&//""27&/&#"27& DQ26+  D-%    ,A)A} );" 7  8H vO"> v`2)c .' /  ,E6d{/.'1w  M u @M up d'&#"27&7332"&54?>32'53#/&/&#&#"#'"/?6727675&5./'764&#"/O"> v#    ,A)*I,  I     ! G+  @M u*V ,$4. ~  2-0   E.* #p m'&#"27&"&54?>32'53#/.#"'.+"&546732#"./&54632>;25&5./'764&#"/O"> v  ,A)*I,  DO# # ' %!, +-&! G+  @M ub,$4. ~  20 + $#  A$7E.*  /. ;h27'&/"%76?2'4632'&/#"'7654'""&%.#"/#5!#'5/&#""/&/72?&!&c#"/6-nH'O 2+ <  '* f0  !(.  !  A,o-d 6  4 r.#:  !* '  229 #:A&%  Wk"&'5.#'6?.'&'#5!74+"#".'473723!563#".'4?2067.#">7#"&546;2c: Z0-9P D@2 *2$% 5@PY43_i @J'  +#0Q!+)rS,)2G. 22 /2   H42"FO*:G6$   J*!B=tr.s232?4&/"/.#"&/&+"2&546732#"&5463246;25&/&#'?'&/&/#5!!6;2#".'47  ?$  '  $2,1'& #"4H:._" r5H={,5" 0;(/%$H ,0   +  $C';   .2%S1M 22 & C `&+#FQ'.ja=) 6 S    MkC1/OD,22- ,=$()*V& "9*66=. ^'/.#'?5#5!!76?67./&/#"&/&54?3337/&5'4"%Y>Q'.ja=) 6 S   "4o5' 1g   MkC1/OD,22- ,=$()*V.#- #= " *  6"9*66L. J%577%>75!5!#72/54&/"/&/&'#'7/#%(6, &?)-KZLO  , A  ;B!BS% 75<)22! S   %ES2 ./4725./675!5!##/./.+"+"&546I6!uT@\ %  &.C]dwJjI-:Y[k."22     .#%1 H2q(.9767#"./32654'#"&'5467&/7675!5!#"2!2%23b[I;mL>! Si,A;+8.:`14UP2.%s.3SOa8QcKu09!;7%"RF$822 .O>;25'&/.#'?675!5!#/.#"&/&+"&546732#"&54632RK*" >  !+0#@;25##"&'&/2?4&"B#+GH " B:6  #  ( %2,-+&'Dd< 9.0"[+.2&225;#>2F,0/ 0  +   $C'B#C  *: ,(2J%**D@3(*0*#0:t.L$0 0cY1 cen heL>%+!. 4  ,22 m0672654&'#%3#'./7>54&#""'+"/+#"&54727256=4&+5!637632Q Z %WT>n+0O&HC- /   *(&*'0<z 16+Q-  R  0L,2X4;h!>"  #%4 -2%K;4$  P . P2654&'#'4&+5!!>?/&/547'5+"/+#"&547272565  %<u BD&'W# AmC(&*'0t0LI-22 ;2A5F*#5   43'%<*&EkBE_#%4 &. W2654&'#.#'.+"0+"&546325#"/+#"&54727256=4&+5!#  %`5 .D2&F&(&*'0<R" t0L!,* /!&1,#%4 -22$0 *.BL74>325.'#"&54>324.'&/#5!##&/&/&+*#"01+"&w+" G8;'0-%$ -6A  #]   " $- ?U9 %JH&6,4#$ ,:22   %/+wA9+\Dp _'&#"27&2654&'#7632'53#'&/'764&#"+"/+#"&54727256=4&+5!#PO"> v %r3f*I,  DO0  G+  @(&*'0<z&  @M u^0LkG$4. ~  2-` .* C#%4 -22Dp '&#"27&2754754&'#4&#"+"/+#"&54727256=4&+5!#632'53#/&+"""#".5474?332732;2&/'7PO"> v$  %A)&*#0<z& 6b*I,  DO$T  /A 4/, 0  G+ @M u` .L6*F#% 4 -22F$4. ~  1&,* 7 ` .Jp '&#"27&2654&'#+"/+#"&54727256=4.+5!#632'53#/.#"./&+"&546732#"./&54632>;25&5./'764&#"VO"# v %v.&)&*#0<z&8cv@  DO# *  *3%&! G+  @" u_.L-#% 3  22I ~  20  #+" $  :%7E.* q. r254/#'4&+5!!6;2#"&'4?232?4&/"/.#'?'&/"&'"'+"/+#"&547272565 3 %<t5 &={,6!0;(/%$ ? ":T0:._" 0!(&*'0t<&LI-22 Kg &9X"F/(0(#  ,x,:#S1M  **#%4 / 2654'#7+"/+#"&547263656=4.+5!!72#"&'4?232?4&/'./#".54??25'&#'?'&/"&'"' %}20)&*'0 <%H={$-,)k[0$$! %#?O(9  !FSy:._"u0 '%G#%3  2354'#"/&/4747467#"/"&54?636=&/&+5!#+"'< *&72.4cQ_U& 164SZE!'+ 5!6" f$> 1.   " 1;Q;RdI9-6#_>&"1*1  5 "!  22 ,   *  .[m/&/#'.=46?325"&=6?632267&/+".54?654&+5!#'2654&+L&  V + - I%)$() &.  $K :0&1 Jc" 4  2)! !.5%2 !"/$  =!(%*/'22$6 * @%#: #7.%2672/&#*#".547327325#"/&/&/2>54'#"/&/4747467#"/"&54?636=&/&+5!#+"'74&+32?62.49,=ZOLNd "D )_U& 164SZE!'+ 5!6" f$> R< *&1;Q;X3&:Q(! ,+;y I9-6#_>&"1*1  5 "!  22 ,   *  1.   " F. #]2654&'#7#4'#"/+#"&54727256=4&+5!#/./"/4?672  %}  m">&(&*'0<IX -,, 9t0L4  % &$00#%4 -22-+4 3.cp%25+"/+#"&54727256=4&+5!#/.#"./&+"&5463632#"&5463246372654&'#  (&*'0<b"# *  2,1'4! %|#%4 -22$00  +    B(;? 0L.Xb%25.'#"&54>324.'&/#5!#/&/&#"./&+"3&546732#"&546324639 ;'0-%$ -6A  #]%     (+2,,%?U9KR&6,4#$ ,:220    %<.A%+wA9+\6.k76?2'2654&'#7+"/+#"&54727256=4.+5!#'5/&#""/&/72?/.+"'-q %}20)&*(0<6f0 F   !  A ' 6  4.LH#%4  229 #b&%  W 6.76?2'2654&'#2;2/&#""/&/72?/.+"'+"/+#"&54727256=4.+5!#/&+""##".5474?327-q %*0 F   !  A '20)&*(0<6f$T /B 4/ 6  4.L #b&%  W H#%4  22&-) 8 Y. m%5'246725!5!#32#"/46?274&#/&#'?4&'#"'4&#"&5432#&/&574>748 `  E* G1fj #%N  /4 $(  +  $  33Q<6 %2'^HI7 ) .!  *.   2j26?!5!>32/&=3#'.'.#?'>54&#"+.'&+.#"&5462#"&546326.$W8" W[- ! / *1 +!:S K   7()#80:)N?2/%!  2) 8"S77 * 2-) %*($4."AY*+ 7)1 0'#P?4? #;Jn25!5!74+"#".546?723!3267"&57632#"&/5.+."&5462#"&546326<+vDO-B   @PL&%h%4"2Q5 3  ! 7R#80#! )N@15!  k22( '    H42$f039-&<U8  + 5+1 0&  Q>4?#;w%2;25#"&/5.+."&5462#"&546326325!5!74+"#".546?723!3267"&57632/&+"""#".5474?363]+ 6$  3  ! 7R#80#! )N@15! -+vDO-B   @PL&%h%4"2 $T  /A 4/ :8  + 5+1 0&  Q>4?#; k22( '    H42$f039-&<&,* 9 8~.x#&/&574>?246?25!5!#32?#"&/54?2?4'#"&57'654&'#"'&/&+"&5432 $0    ! +  kW7p D*L+V# !   3 /45    " .{22 C/#$YoG7)  %1.F /  & $*f~.2;25#"&/54?2?4'#"&57'654&'#"'&/&+"&5432#&/&574>?246?25!5!#32?/&+"#".5474?363*7# /7p D*L+V# !   3 /4 $0    ! +  '"n /A 4/: G7)  %1.F /  & $*.    " .{22 C/#$1V&,* 9 G/y632767325!5!##"'"&/././.'3264/##"&/467>3735&#"'&/"&'4632#"/.5t Y4   BGY 5B -j$   (  ;7**D@3&( &# +:/ ,$p`&  t33%8O!T#5 #  (d)L>%"+   A<**%$1D.Q6325!5!!>?6?/&/547'5&+."&5462#"&54632 - }DuJ$'W#AmC 7R#80#! )N@15;`22B A5F*#5 !?3($<*&EkBE+ 5+1 0&  Q>4?/ s%46725!5!#7632/754#"./6?6754&#'./"&54632#"/.57>32 &,, `    +79" )! 1  % )&(9?"$ !  l)'33 +J0$  ^  /&(F,3"$ &" + C7!1;Jp Z'&#"27&'!5.+.#"&5462#"&5463263262'53#'&5./'764&#VO"# vv*  7()#80:)N?2/%! ->@  DO0! G+ / @" u\22+ 7)1 0'#P?4? #; m ~  2-E.*O.i6327'&/&/!5!!6;2#"&'4?232?4&/"/.#'?&+.#"&5462#"&54632 -  5" ]5H={,6!0;(/%$ ? ":U0:. 7()#80:)N?2/%;  + 22754&#".'"&54632#".5>32'9f,$aI *) )/ 7&%?)&+.#ERDo+"232 2-$ <, 4##**S+ :',< /u25!5!#/.#"'&/"&'4632#"/.=632767325'&/&+/&'"/"&54632+/&57>3246*8zY % +:/  %" Y5  0 !&"AMF($ ,433 #**% : `& B  > 5 0' 7 -P3;)~4&#"#"/"/4?67/&+'32>?2'5#+"/./&'32>54./##"&/4636732D % /# &'  A2g#  1  MS*%J3  -I 4 >>**$8 4!$8  gZ  # !"  .* 1 E'#u   2*>75 H: 2 2&H%! ! %"%6 00 R%26=/&'76325!!#'.5&#""#"/#"&54?4/#p".-+&)0 Y^> 517 !!&0,- sv1 /'0 J2   !! V>c'5"+" 0t;6?65/&/2&/&/;2726?654/#'.='&+""#"/#"&54?4/376325!!;7  . %,(8-'46bt<)910%+J1 &u%' // !!&0,- :+&? >2  "   >)-8"46'h& \+, 3O"qP'5"+"'%+N2 f.#'.+"0#"&546324&#"#"/#"&/46?67/&+'32>?2'53#5 '$D2#BD % +#  1  A2g#  1 CVC!,* 8&1''Z  #"   * 2 E'#u  2 m3324&#"#"/#"&/46?67/&+'32>?2'53#/&/&#&#"#'"/?67  D % +#  1  A2g#  1 I    !V Z  #"   * 2 E'#u  2-.  * 4&#"#"/#"&/46?67/&+'32>?2'53#/.#"./&+"&5463632#"./&5463246;2D % +#  1  A2g#  1 CV#  *  "!1'4! gZ  #"   * 2 E'#u  20   +"    ;? . ",\2654/&'"#"32?654/&7#"&/46?274&#/.#'?'&547#5!#   '    Be8! B *G cO016,8  N$  2+=W6  $3/-GG%$ !81422 &,.!2>54/&'""32?654/&#7>;2+"/&'4>72326=4&'#/&#""&/&=74?72?254&#"72"&/4>7#"'".547#5!!3  '" B (      2 (%$@3N  A*6 )#D' ()8      2F         ( ! =%#   E  !&S "4'4122 M 2654/7>54/"3723#3?>5.5467#'"&547474?'#"/.=76?#5!656574&/#".547$H z( %# f=?Sk   + !H 4-'+5)   8  T(%9 K [  #;&+,s (2|" ' !!   .$ / & &2% *p >54/"2654/2;25#'"&5474?'#"/&=76?67#5!67574&/#".54673723#3?>5.5467/&+###"&'&5474?327R( %# B%H *6#-'+5>   | T)%9   f=@Sk    !H  #l  G%4.&+,R [  #: .$!8) % 2% '  (2  & #!  %%? 8 $N -c7265'4''2?65&7#6?'43##'.'&=?&/&'465'&+53/&5671f.8=6    0!" #2Ĩ D8.$J 69(#(TwMDBWc&!%6     ("'&J##22<2'F4!.#$6#  -:  X 22<>D+%w/:o5'&'?46327654&+"";2654/&'#.72#"&'/.#&+'?/#".'4.'#5!#>8)(# /'/!  (0SU!&#  1*5  7#'W{3 D|&+ Y'$% 1!( !o!c,  ?/ $  5)V%4(^Xk  33ZP p%0k0672654/&'""32?654/&#%'&#"27&47#5!632'53#'&5./'764&#"#"'#"'".% _   '" BO"= v8y|&8v@  DO0! G+ 6() _   2 @M u;142 ~  2-E.* &4p$/072654/&'""32?654/&#%'&#"27&"#"'#"'".547#5!632'53#/&+"""#".5474?332732;2&/'764&9 [   '"  BO"= v6()8y|)2*I,  DO$T  /A 4/*0  G+ _ # 2 @M uO &4'142$4. ~  2&,* 8 ` .*J. n2654/&'""32?654/&#47#5!!6;2#"&'4?232?4&/"/.#'?'&/&'#"'".   '" B[8y^5H={,6! 0;(0$$? %9U/:._"  #()   2$1422?2732/&5472326?'4&//.#"#'".5474?32?24'672"54>7"/.5#"/&5732654'#5!o% 5(N  " :,  #-    1#5..B! -%#$K9 !(  3`$/  0 m#"Ac-  6R:)   )$  $ +"  58 &5#4D   3 , f," < !#D22 e3?654#'&/./37>54&'#"&5432?.5#"/&5732654+5!)+ !< %(:@ SV  `;PL$%< (   $!0/&6K  $ 0 ;  $-% (/& +$_2 7+Q ' ! "3$Y !#D22M 3?654&'3723#3?>5.5467#'"&5474746?67&/&5#"/&5732654'#5!2574&/#".5467)+ ! f=@Sj    !H 2-'+5)6  D  $ 0   T)%9 ;   & (2     & #!   .$ ;#4/!#D2 % '~. 2654&'#"&5474?36;2;25#'"&54746?67&/&5#"/&5732654'#5!2574&/#".54673723#3?>5.5467#/&+##x *{**SH4/*7# -'+5)6  D  '0   T)%9   f=?Sj    !H "n   &; 6Q7 8 : .$;#4.!#D2 % *  +2     & #!  &@. f2654&+7#"'"&/./3264/##"&/4672637'.5#"/&5732654+5! )x)+`DC  -i$  0(  <6*+D@3&1 ;  $ 0 @$; d-%  "bW3S$5   (e(L>%%. F !#D22x@.s25#22654&+/./>?"&/./3264/##"&/4672637'.5#"/&5732654+5!#}  ! 7 )x)+D  ; %&50i$  0(  <6*+D@3&1 9  $ 0 @VD.<$; Y2 -( P(5   (e(L>%%. D!#D22-%  ". p3?654/&#""&/&=74?72?254&#"72"&/4?>7.5#"/&5732654+5!)+ !< @3O  A*6 )#   )     $ 0 ;  $-%  =%"   E  ! )  ".*!#D22J@.z250#"'"&/./3264/##"&/4672637'.5#"/&5732654+5!#/&#*#".5473272654&+:F -i$  0(  <6*+D@3&1 ;  $ 0 @VD=1i.QJMf )x)+";S$5   (e(L>%%. F !#D22-%  "bT1&=N$% ,+$; `. e3?654&#>7327327.5#"/&5732654+5!#+&/&/326=4'7'&#"#"&54)+ ! 00'   $ 0 V$&!?M$ b/BB;:=W26x&T! A $;  $& & !#D22-% = 8K'  Q.-B(""w&<% ':/. R3?654./&/&+"01+"&546?6325#"&5#"/&5732654+5!(, ! <   $-!#&F6M  $ 0 =  &-'   ! %/!, ,X!#D00pc67#3?654&#'&#"27&%4+5!632'53#'./'764&#"#&#&##"&5#"/&57326)+ !. !O"# v )?v@  DO0$ G+ .6M  $ 0 ;  $$ @! u2# ~  2- W.* Y !#Dp>7#'3?654&#'&#"27&2;2&5./'7654&#"##"&'#"/&5732654+5!632'53#/&+"""#".5474?3327 )+ !) O"# vO*1 ! G+    !]  $ 0 ):v@  DO$T  /A 4/  ;  $$ @" uE.  ?5!#D2  ~  2&,* 8 p7264&+%'&#"27&%4+5!632'53#/.#"'.+"&546732#"./&54632>;25&5./'764&#"##"&5#"/&57326e *x)+HO"> v %9*I,  DO# $ * %!, +-&! G+   6M  $ 0d"$; @ @M u2$4. ~  20 +" $#  A$7E.*  X!#D. e3?654/4+5!!06;2#"&'4?232?4&/"/.#'?'&/&'#"&5#"/&57326)+ ! 5H={,6! 0;(0$$? #:T/:._" $&6M  $ 0;  221F  HD" 6v&!(1*7Q 4 &$&1  22S.{272?6;2+"/&'4>72326=4&'#'&/&/;726?654&#"#"&=46?654&'#5!![ ,2.   2 (%$?D2, D6I6Xh7!V = @)"& 5=9!#5   (  +:  HD80 4 &$&1  22.#0r5"/&'"''3275#"&546?674/#5!#754747/.'+&#&5463654&+  !B/ <  3%  MX48W"3$ &"' ( C   2   #*F"0 22F5< |L  !D!E  *1 "+  T.g25!66;2467>7.#""&5>?654'#5!#'.+.'"&54632+"''&/3l/ !4 9%]$2#)- 7''1&*Ta3,!4)D!$,R&!Seq7!["'   @" - '1!; #) 221&. 0'F  @?* 0D$P.w//&#"'.#"'6=>32#"&=>3226325/&/;726?654&#"#"&=46?654&'#5!#2|AK2, D( '!+;3*- ".Xh7!V = @)"& !i>1F  HD(3  @ #:!344 &$&1  22S_ +4&#"76#"&54>7254?>7#76?%3#'.'.#?'+"'#"&/&/326?654'#"/5#5!'&=/ !;#% &W[- ! / *1 !%!`5>P2  $D#)M",5"I0" p %-@b     "$ #,2- %*+$4." IGNb%&$JK)3B2) %"K 20"S79&aF. P%4&#/.#&#'>7./76?6?675!5!#72#"/4?2*!) ! 6@?P$P:  J+#"7L8E,2 *'L :w0!   T   )  -G?}-R &1<$ " U  '22&wV)3 H%4>32/&=7#'&#'76375./&#?'>54&#"#"&l4*<">)W8% C[!2Z$5Y.-*1 !%  :R K &-*(/ 8%P77 -2 h?(Gi4+*+ ."AY*)`.7%7267#""&54?#5!#'&#'>7&/7673> , 61J$(E!$#B 3^!0\$45   $@  "  >)-8"76' &0<(  \0' 3O"22 3d.25#2/./6?>?67'&5467'"&/&#"376?632#"./&/5732>54&'#"&546?#5!!3732?" $7& %%&    "^ 3 % :  :&'D,   _/01  *2@n/2  /n<e*&7U -   {2Y &C& # G &. 4++3a 93R " T,&22)M777'&#'767./#5!74+"#".546?723!3267"&57632 ?^-!0\$ #;;DO -B   @PL%h%4"2Z(Q1 h? 2;22' %    H42f038#.B25""#"/5#5!!26?/./>7#"/&/32675&< #w_& #B 0N  >%&H U9#8A3T <<P$227 ?Et. -0]?K0>K9"#:;!H%5'"&546?2'&=7'3#'&#'>?6754&/"/4632# <"5HE2%    G^!0\$/(C,'5%0&*VZD>L   2KH 22 h?%  c9V 9* '-=. a25""!!#/./&/>?67#"/&/&/&/&'2>=4/.#""/4?632< #@  ,%&3 $$ ' 0.' F9"  + 2=!3&-&>x+' j A "(  % 8 O!q HJ%73#'&#'6?./7>54&#""&5?>32@ <"!WT!2Z$k \60O&ID, /  $ .5)+Q- R *1,2L h?Q ': h?# ))K;!8+   P .+7/7>32/&/&#'?'&'"'5#5!!! [; #7[7'$-70/ӷ {&5T $  ?675#%32?5!#/.#'/.'&/7"/474632#"'"/x 4V(1f1(&WARK*" >F! }] "L  n"<;~C+/ c *"!+d ,5 * -a&IB2&Jf3!dO^. / .<'&#'76?&=&/&'#"&54632>5654&#!5!#AL!0 R &32'53#'&#'635&5./'764&#"~ <"pO"> v  ,A)*I,  DO!2Z$! G+ *+ @M ub,$4. ~  2 h?oBE.* 0!-8/./&#'/&/&#'?5!5!?5#25 B6" /+ "7Xvi8R U+  K!2"&.:  9#P6R0228@,55*1 !9'. =A%"25"./6?&'32654'#"&54632767'!!k   >%& P @8C*8NP>,?&1$Bn/) \66 :./$8#>%" ,&1 Lϱ    )",# &$6  !"[e"%*/ 22%#*%   &2.s%5'254&'#0"&5474?;2325/&#'7#&/+".54?'4/&+5!#7/&+"##,# &:  $(I>.)# 3  1F" ,&1 }e"J &2}H*%  qP7 9    #:[e"%*0  22"8  U%1/J%46725!5!#'&#'?6754&#'./"&54632#"/.57>32% <", c1`!2Z$[*)! 0  %!)&)8>#$  *Z)'33 h?E Y-2!"$ ?+ A8!0<V%574&#"#"/#"&/46?67/&+'32>?2'53#'.#'7671>""AD % +#  1  A2g#  1 CV M,,Y7d+Z  #"   * 2 E'#u  2,5LA$ './:@2654'#5!#'&/&#'73.5#"/&57%2654&'#35q0 )c$! 1F#>A   % 5(C,!"&D22*):]x D% !# #"A'2.M%?675!4&'#5!#/&/�"#''&/;>54&#""&5>?6 RK*" >3+PV(1_ ] %2!"/)feq7![" CH*- 7''  &[5 * -~ "./*"$ 22&P!'=' 0D$ ;3!; ' .. Y%5'.'/.#'>?'&/;726?654&#"#"&=46?654&'#5!#2+? % LAK2, D? K3+*/# Xh7!V = @)"& !i' )1F  HD 0 &0<" 4 &$&1  22S4>72"/&//&+"#".547474?36;2;25&/&/&/?>54/#"&=632?3!2?4'#"&"%!"n /A 4/*6  MvS*%&)= +C'!+0L< = - S +4, :6{&,* 8 5D   Lg / ( *0-H4 3<- #(27 /$y2?3##7/&=4'4'/&+"#".547474?36;2;25&/&/&/?>54/#"&=6C0L< = -V:   : 8"n /A 4/*6  MvS*%&)= +C'! -H4 3<- #( 0 *_T 5%$0  &,* 8 5D   Lg / ( *03.b46327#"&'./3265'#".'4632>54&'.#"?32'7674#"'XL+ ,\ 5/"=3%Ia$ <1&('/ '  ( 3=   %>M*'L &n0*$/1*QZ ,503( YQ1H >5?   4>72"/&//&+###".5474?32732;2.'.#?'>54&#"#"&54>32'&=73!2?4'#"&"%!$n  /A 4/ *7# %)4 )1 !%!:R J &>)< 35, :6&-* 7 :%-!++$4."AX*)(/ 79& -2)/$ v4>32'&=353#7/&=4'4'/&+###".5474?32732;2.'.#?'>54&#"#"&>)< 7   :3$n  /A 4/ *7# %)4 )1 !%!:R J &(/ 79& -2 *_T 5%$ &-* 7 :%-!++$4."AX*)4>32/&=73!2?4'#"&54>72"/&//&"'&/&+"&5463632#"&54632>;2./&#?'>54&#"#"&>)W8% 3+4, "%!# (   +33%4!.-*1 !%  :R K &(/ 8%P77 -27 /$:60)   +    :0:?<4+*+ ."AY*){3#7/&=4'4'/&"'&/&+"&5463632#"&54632>;2./&#?'>54&#"#"&54>32/&=9   :6# (   +33%4!.-*1 !%  :R K &>)W8% c* 2 *_&@ 5%$0 0)   +    :0:?<4+*+ ."AY*)(/ 8%P77}J.9%#"'333/&5467'"&/&#"376?63274>72"/&/./&/#"&/&54?&/&/5732>54&'#"&546?#5!!3732?2?4'#"& :&G61g    "^ 3 % :  "%! !&"4o5   _/01  *2@T/2  /K 5,  &.6 )  :{2Y &C& # G:6 L &7U- )8 " "+3a 93R " T,&22)M )/$ }.9%#"'333/&5467'"&/&#"376?632/&=4'4'./&/#"&/&54?&/&/5732>54&'#"&546?#5!!3732? :&G61g    "^ 3 % :   :6&"4o5   _/01  *2@g/2  /F   &.6 )  :{2Y &C& # G:&@ 5%$0  $&7U- )8 " "+3a 93R " T,&22)I *.y!!4>72"/&/'.'&++".546?3237632'&'7#"&54746?6?22?4'#"&"%! $o 6D C  '<%4   021( @5, .2|:6;  6D*: Y&!  $% (4>*/()/$ .i!!'.'&++".546?3237632'&'7#"&54746?6?27/&=4'4e/ $o 6D C  '<%4   021( @4   :.2 ;  6D*: Y&!  $% (4>*/9 *_T 5%$0 4>72"/&//&+""#"&5474?36;2;25'./7>54&#""&5?>32!!2?4'#"&"%!#i PD2-(2 e;0O&ID, /  $ .5)+Q- R )+4, :6s&Q7 : 2%(D h?# ))K;!8+   P ,27 /$jz%/&=4'4'/&+""#"&5474?36;2;25'./7>54&#""&5?>323#7 : +#i PD2-(2 e;0O&ID, /  $ .5)+Q- R +  &@ 5%$0  &Q7 : 2%(D h?# ))K;!8+   P ,2 *. U7654'5.#"&/./#"&/46?2325>54'#"&547#5!!>763 c8 48 >!#6'  2)19ES722W(:7/k7?3'&/47'#5!!>?2?4'#"&54>72"/&/'"/&#"#"/&/57)  K 4- A! .Eo FI"&U 6, #%!& ({@   $=GM!15J33<5@*/$ :6n)8, ,9/]7?3'&/47'#5!!>?7/&=4'4''"/&#"#"/&/57)  K 4- A! .Eo FI"&U   : 5 ({@   $=GM!15J22<5@  *_S 5%$0 9)8, ,9474672"/&//&+""#".547474?23;25'./7"/474632#"'"/32?5!!2?4'#"&541(&WA~*"%!a  *-.* I <:;~C+/ ! }V0/, y!+d !:6u% 9)  9 4!-O^. / &IB2:/$P4w/&=4'4'/&+""#".547474?23;25'./7"/474632#"'"/32?5!#71(&WA : .a  *-.* I <:;~C+/ ! } /  y!+d &@ 5%$% 9)  9 4!-O^. / &IB2 *1.##"/&/./&'3;2?674&'"&5463273265./##"&467'&'#"&54632>5654.#!5!! )  /. <.,-"%. '( !!  #)D>)&*2&*g 16'5#,&  - a\)(" )"  $#JI'#(#,@ 22/4>72"/./'"/&#"#"/&/57?3'&/47'5.+"1#"&546325!5!!>?2?4'#"&#% !0$ )z@ !  K 4- A! .E1&0(3-  FI"&U 6,  :5-i)8, ,9  $=MG!15JR  0+*1- 22<5@ */$U/y46325!5!!>?7/&=4'4''"/&#"#"/&/57?3'&/47'5.+"1#"&F0(3- U FI"&U   : ; )z@ !  K 4- A! .E1&r*1- 22<5@ *_S 5%$0 7)8, ,9  $=MG!15JR  0+p '&#"27&4>72"/&'/&+"""#".5474?332732;2&5./'764&#"#"&54?>32'5!!2?4'#"&/O"> v#%!&$T  /A 4/*1 ! G+   ,A)*I,  9,  @M uZ:6&-* 8 E.* ,$4. ~  2-/$ p ~'&#"27&"&54?>32'53#7/&=4'4'/&+"""#".5474?332732;2&5./'764&#"/O"> v  ,A)*I,  7   :3$T  /A 4/*1 ! G+  @M ub,$4. ~  2 *_T 5%$ &-* 8 E.* p '&#"27&"&54?>32'5!!2?4'#"&54>72"/&//.#"'.+"&546732#"./&54632>;25&5./'764&#"/O"> v  ,A)*I,   /0, "%!# # ' %!, +-&! G+  @M ub,$4. ~  2 :/$ :60 + $#  A$7E.* p '&#"27&"&54?>32'53#7/&=4'4'/.#"'.+"&546732#"./&54632>;25&5./'764&#"/O"> v  ,A)*I,  7   :3# # ' %!, +-&! G+  @M ub,$4. ~  2 *_T 5%$ 0 + $#  A$7E.* .q74>72"/&//&+"#".547474?36;2;235'&/.#'?675!5!!2?4'#"&RK*" >#%!`  )9 -)&    !+0#@  !+0#@;25'&/.#'?675!5!!2?4'#"&54>72"/&//.#"&/&+"&546732#"&54632RK*" >  !+0#@;25'&/.#'?675!5!#7/&=4'4'/.#"&/&+"&546732#"&54632RK*" >  !+0#@72"/&//./#".=46?725#"/&54?6322?6322?4'#"&"%! 3L' )g'; 0 =C"  89  5 5, .2|:6!56& 0 & 1+  :?  +  )/$ .a!!/./#".=46?725#"/&54?6322?6327/&=4'4b6 3L' )g'; 0 =C"  89  5 9   :.2!56& 0 & 1+  :?  +  *_T 5%$p '&#"27&2754754&'#%472"/&'/&+"""#".5474?332732;2&/'764&#"+"/+#"&54727256=4&+5!#632'5!!2?4'#"&PO"> v$  %.M%!1$T  /A 4/, 0  G+ A)&*#0<z& 6b*I,  6,  @M u` .L 2:6'&,* 7 ` .*F#% 4 -22F$4. ~  2*/$ p '&#"27&2754754&'#7632'53#7/&=4'4'/&+"""#".5474?332732;2&/'764&#"+"/+#"&54727256=4&+5!#PO"> v$  %p6b*I,  5   :1$T  /A 4/, 0  G+ A)&*#0<z& @M u` .LnF$4. ~  2 *_S 5%$0  &,* 7 ` .*F#% 4 -22.4>72"/&/./&/#&#.'&=46?32225'./"/4?6724&/&/&/#5!!2?4'#"&D   a"%!"4o/' gH 3 , 9+ *-  85, : %  &]|:6-  #>"  7 ,   /8 22)/$ .{./&/#&#.'&=46?32225'./"/4?6724&/&/&/#5!#7/&=4'4D   n."4o/' gH 3 , 9+ *-  83   :: %  &] -  #>"  7 ,   /8 22 *_T 5%$0 {. T72#"&54674>72"/&//./&#'76?675!5!!2?4'#"&'5,'D4*V"%! -4.%-AZ U(1{40, $#4- :6 S6Y; (!22> /$ ?. H72#"&5467/&=4'4'/./&#'76?675!5!#7'5,'D4* : /-4.%-AZ U(1?1  $#4- &@ 5%$0  S6Y; (!22 */'463275.#"'&/"&725!5!##".'&/3265'#"'46;3>54&'.#"73'7674#".54>7.=632767   (%* +:/ /zY 1*-7P<#$!# 3-$$#-5  & /7 !   $7:G A() Y4  2%    R8%** Bt33 + </+)7EC 69$%  0  A=&4 1(/    9 `& YU2?674&'&/&/+"/+&54?67//724?6;37#"&/&/&/&/32>?'#"&'4>n%.    1+ ?    + #  ^  ; $ RK", )f HR    &  '   0h& ; 2E&(,.#NEF+b0'K "4>72"/&//&+"""#".5474?36;2;24&#"#"/#"&/46?67/&+'32>?2'5!!2?4'#"&"%!$T  /A 4/ *3D % +#  1  A2g#  1  4, :6&,* 8 1;Z  #"   * 2 E'#u  2)/$ %/&=4'4'/&+"""#".5474?36;2;24&#"#"/#"&/46?67/&+'32>?2'53#75 :-$T  /A 4/ *3D % +#  1  A2g#  1 1  &@ 5%$ &,* 8 1;Z  #"   * 2 E'#u  2 *4&#"#"/#"&/46?67/&+'32>?2'5!!2?4'#"&54>72"/&//.#"./&+"&5463632#"./&5463246;2D % +#  1  A2g#  1  5, "%!#  *  "!1'4! gZ  #"   * 2 E'#u  2 )/$ :60   +"    ;?4&#"#"/#"&/46?67/&+'32>?2'53#7/&=4'4'/.#"./&+"&5463632#"./&5463246;2D % +#  1  A2g#  1 4   :.#  *  "!1'4! gZ  #"   * 2 E'#u  2 *_&@ 5%$ 0   +"    ;?p$/072654/&'""32?654/&#%'&#"27&4>72"/&//&+"""#".5474?332732;2&/'764&#"#"'#"'".547#5!632'5!!2?4'#"&549 [   '"  BO"= v %%!$T  /A 4/*0  G+ 6()8y|)2*I,   .1, _ # 2 @M uH:6&,* 8 ` .* &4'142$4. ~  2 :/$p$/072654/&'""32?654/&#%'&#"27&'632'53#7/&=4'4'/&+"""#".5474?332732;2&/'764&#"#"'#"'".547#5!9 [   '"  BO"= v)2*I,  5   :1$T  /A 4/*0  G+ 6()8y|_ # 2 @M uA$4. ~  2 *_S 5%$0  &,* 8 ` .* &4'142:. ~2654&+7###"&'3;2>74&'"&5463273265./#"#"&5467&5#"/&5732654+5! *x**`$  /YC,- 1-, '!! 4"'QC4  '0 :$; d-%  1# i \ /( " -""*(N -(!#D22.76?2'4>72"/&'./&/#"&/.54?3225/&#""/&/72?&5.#"/#5!!2?4'#"&-^#%!(""4o5' KgA&  (.  !  A '* 6,  7  4|:6l- < " 0! #:A&%  W  22*/$.x76?2'/&=4'4'./&/#"&/.54?3225/&#""/&/72?&5.#"/#5!#7- : 3""4o5' KgA&  (.  !  A '* 3  7  4&@ 5%$0 - < " 0! #:A&%  W  22 *.76?2'.#"/#5!!2?4'#"&54>72"/&//.#"/&+"&5463632#".5&5463246;25/&#""/&/72?&- '* 6, #%!#  '  )-+4!  (.  !  A7  4{  22*/$ :6z0   +   !  B?* #:A&%  W.76?2'.#"/#5!#7/&=4'4'/.#"/&+"&5463632#".5&5463246;25/&#""/&/72?&- '* ,   : +#  '  )-+4!  (.  !  A7  4{  22 *_T 5%$ 0   +   !  B?* #:A&%  W\p>7#'3?654&#'&#"27&4>72"/&//&+"""#".5474?332732;2&5./'7654&#"##".'#"/&5732654+5!632'5!!2?4'#"& )+ !) O"# v"%!$T  /A 4/*1 ! G+    67  $ 0 ):v@  +4,   ;  $$ @" uR:6&,* 8 E.  8% !#D2  ~  27 /$p>7#'3?654&#'&#"27&"#"#".'#"/&5732654+5!632'53#72/&=4'4'/&+"""#".5474?332732;2&5./'7654&#" )+ !) O"# v"67 < $ 0 ):v@  76 :3$T  /A 4/*1 ! G+    ;  $$ @" ub 8%*VD2  ~  2-&@ 5%$0  &,* 8 E. \p7264&+%'&#"27&%4+5!632'5!!2?4'#"&54>72"/&//.#"'.+"&546732#"./&54632>;25&5./'764&#"##"&5#"/&57326e *x)+HO"> v %9*I,  +4, "%!# $ * %!, +-&! G+   6M  $ 0d"$; @ @M u2$4. ~  27 /$:60 +" $#  A$7E.*  W!#Dp7264&+%'&#"27&%4+5!632'53#7/&=4'4'/.#"'.+"&546732#"./&54632>;25&5./'764&#"##"&5#"/&57326e *x)+HO"> v %9*I,  5   :1# $ * %!, +-&! G+   6M  $ 0d"$; @ @M u2$4. ~  2 *_T 5%$ 0 +" $#  A$7E.*  W!#Dw.GK'&/&/&/32?6?654&//674&/"2+&#.5?6?27%!!HW$>"EH&M31FF&%  I  -  KINe3;K! +u= 10 }   0 _    > XI2X.W27/&=4'4''&/&/;726?654&#"#"&=46?654&'#5!!V8   :7 ?82, D6I6Xh7!V = @)"& X:9 *_T 5%$0 %.  HD80 4 &$&1  22.N&/.'574>72"/&'/&/.#'?675!5!!2?4'#"&@(81' &7K*" e#%! + %2!+0#@72"/&//&/.#'?675!5!!2?4'#"&= >1B%'RK*" >"%! %2!+0#@!B%'RK*" > :2 %2!+0#@72"/&/./&/#&#&5?35'&/.#'?675!5!!2?4'#"& >!!S:RK*" >#%! (y. %8g82  !+0#@!!S:RK*" >%8g82  !+0#@54'#"&547#5!K$.?4Mi /H '7(/ }[*FJ)<,$9S2 %,9E?!5!#"+&+"#"&#"'546?65'&/.+"#"&54: *  /P!,PS/tE*3')-*!'$3n3$? B&!g P;>+: B222& h !"'@&  $3n   -).'#326?65'&546?#76325!#"#*+&+"#"&#"'546?65'&5467.'#5"'#""#"/#"&54?4/A  / *  /P!,,% B*() -*    !!&0,-  A$3n1&? B&!g P8'22& h !"8@ $3n3$8  '5"+"3.$G72654/&'""32?654/&#326?65'&546?#47#5!#"#*+&+"#"&/"'546?65'&5#"'".% S   '" B / *  /P" 8yGB*()-* 8()_   2U$3n3$> B& h P|14213&!g # 8@$3n()4.-g7#3?654&#4>7#32>5'&/&7"#"'"'54>5/&=#"&5#"/&5732654+5!)+ !0P!$) &.  Z (AB"0 !(!  6M  $ 0  ;  $*8?& +@> 2! 25[+>Q%2J% ."n1&Y !#D22.U3274&=4>7!2%"#"'./;726?654&#"#"&546?654'#5!|7-A*$!i *#[EJE KB}7W) 9+/!%&&*>B' 7S %U~ V7C[^DH 4!2 22^F. <3#4&#/./76?6?675!5!#72#"/4?2[N3 6@?P$P: 4W4E,2 *'L :w0!   !&-G?}-Rq,-6-U  '22&wV)3 ^>3#2?#/&/&/?>54/#"&=6N30L< = - SV   MvS*%&)= +C'!!-H4 3<- #(2 Lg / ( *0E?3#3#'./&#?'>54&#"#"&54>32/&=N3W[-.-*1 !%  :R K &>)W8% :-2-)4+*+ ."AY*)(/ 8%P77Lt..3#267#""&54?#5!#/./767N3i, 61J$(E!$#B 3^]0B03> 5W G#x+"4) 224.HD2G`3#4#"37>#"'#'./32654'4#"&'5./7632#"'2?,N3 0 '- "2'%'_# Lt7D , ;CJ) (U3K;"80 g 19,+? GK-50vD;7-  9y :M b %2 Z"^.63#26?6?6=/&/&'#'.5#5!!N31  "$-? .H^!1 /CFn22  !  3.P3#;6?65/&/2&/&/;272?654/#'.=#5!!;7,N3  . %,(8-'96btL  "  >)-8"76'h& \0' 3O"22 ^.k3#"&546?#5!!3732?"/&5467'"&/&#"376?632#"./&/5732>54&'N3G2@p/2  /K7&(   "^ 3 % :   :&'D,   _/01  *!T,&22)Me*&7U z2Y &C& # G &. 4++3a 93R " ^73#/&/&'/.'&/76?5!5!;#N3 U#5! l6Ce.,[d 9S!7 4074/"&46327654&+"7#"&//./#+"&/&=?32'&#"72+"5463>32N3 #  #&  !u L' #*e!?(LeMB+9 !+ TD9c0$I8V  .!##f. &Q4,: H, -#+- &&4""H 0( \> &p!jH^I3#23!3267"&57632#"&/#5!74+"#".546?N3@PO%h%4"2 /( 4 ;;DO -B   !]H42f038.6#  +/);22' %   ^_O3#4'32>3##'.547>54'#535./.547N3|=  '2#y '$а  @7$617& 5!RM*A #)UF )413 D'A%*; #- .E%'3  #Z:*^#.53##"/5#5!!26?#"/&/32675&,N3N_& #B 0'TK9"#:;!^.$3#26?"&57>32"'#5!!N3] $ $H;*+-J!N Q##  6Bl$Pc22^$;3#"&546?2'&=7'3#'4&/"/4632#;N35HE2%    G^6C,'5%0&!ZD>L   2KH 2289V 9* '-^y.P3#!!2>=4/.#""/4?63#"/&/&/&/&'N3@F9"  + 2=!3x+' j A  XN?3#3#'./7>54&#""&5?>32eN3WT>e;0O&ID, /  $ .5)+Q- R ' ,2X(D h?# ))K;!8+   P [I.-3#'#5!!>?/&/54`N3AmC3uCC%&W# $kBE22 ;0A5F*#5  3'%<*&'=/4 73#'32?53#/.'&/7"/474632#"'"/FN31(&WA! }T  n"<;~C+/ B<!+d N&IB23!dO^. / D3.)3#46;3!5!#'74.##'&'JN3H1  %'W1^4 "8 ;3@ %=  228p % #@Dp@3#'&#"27&"&54?>32'53#'&5./'764&#"N3O"> v  ,A)*I,  DO0! G+ ; @M ub,$4. ~  2-E.* Nr.C3#232?4&/"/&/&#'?'&/&/#5!!6;2#".'47_N3/  ?#24H:._" r5H={,5" 0;(/%$1 ,x?)%S1M 22N3RK*" >o %2!+0#@2F,0/  MC %=X(]'!NU.93#/&/"/4?6724&/&/&/#5!#lN3bC   0 L , 9+ *.  X19 5%  &\-P,   /8 22DA.+3#'.'&#'?'&/#5!#XN3 " ! & 5)2X99D+k.&"W; &! * !3~/n T-U  22N.43#02#"&546/./&#'76?675!5!#3N35,'D4*'-4.%-AZ U(1X184- $#S6Y; (!22Hj/B3#46725!5!#'4&#'./"&54632#"/.57>32N3, `4)! 1  % )&(9?"$ 7F)'331,3"$ &" + C7!1;N{M3#4&#"#"/#"&/46?67/&+'32>?2'53#'N3D % +#  1  A2g#  1 CV61Z  #"   * 2 E'#u  2.LC/73#'&'7'54.'#5!#/.#&+'?/#".ZN3# /'/8)[{3 D|&3 1!'$% 334(^Xk Hq.?3#76?2'.#"/#5!#'5/&#""/&/72?&N3p- '* f0  (.  !  A77  4{  229 #:A&%  W[.D3#'&/&/;726?654&#"#"&=46?654&'#5!#2N34AK2, D6I6Xh7!V = @)"& !i$1F  HD80 4 &$&1  22S^y.P3#'#"&54>72+"'#"&/&/326?654'#"/5#5!!76?63N3#%eH>P2  $D#)M",5" &# A!n    YqNb%&$JK)3B2) %"K 22#- q^.13#'#"&54632'326?"&5763"/#5!!/N3! * o W$ 1! eA,$K!)!$! M'!4H6sX>22K?.23##"&54632'&#'76?.'&'#5!#VN3 J $, b'b #'OC.7$?b4M 2;HT'$sU,+*22K). -3#&/.'5/&/.#'?675!5!#@N3(81' &7K*" 1 %2!+0#@!B%'RK*" >o %2!+0#@72>54.5632%2u,"E%+4+    -&,I .`)"$23<3 ??M3Jn)$& !4 H.[ /! 3B<)7|;3a7530##"/&/&'46?27654/./57672"&54?>3632#"&/2654.'4X"*   $2 G" ! $G  4,1] L*+6 ??R$/  ": 1  PB!2E,0@D#'/ +o!  Kg7"7654&#"4&#"#32753'27654/./57632#"/&'467"&5467&54>372&1"/O=6 .. $[+, L $V(- /;'%B8)&5$#. &"1?? 'H   '->% .'': 1>+,0" 't@+X7"&54>32#"&';2654.'2'#53.'&'23254.54>3232!% (.7i $!(+7  ,K"0P /e- ;9 8+5+  )0  !J4&0#~:U'E"(f]5 W, ,?)= .?9/(%n!  Pl7"7654&#"4&#"#327534?>;2#"&/2654.'"&"&5467&54>372&1"/O=6 . $E  7+._ K,2/  |(- %E'%B8)&5$#. &"1??W MD!5~F,0' J( 2.''4'1>+,0" 'h'L732?654/"723275'7&/"&/4?67 ++* 4  3=*!,7  +' 12*1 " .'+4>72"/&/52?4'#"&73##%!# 6, :6#5*/$ 2W'%27&#"2?67'"/"&5746 7   ';!;! ' vy+ 2.7/&=4'4'573#0 :;>  \&@ 5%$0 J *!2{|=&/?@8n)q*#0!?k2QP! $.594&'#'72?6;2+"/&'4>723265!!(%$  ,2.   2 4(  !!#5   (26/C3#26373#"'"&/./&/.'32>54/##"&/4666 &*M* .j$   (  <6*+ '/!3&1/2  !:'FRT#5 ;#  (e( -%%.60T3##"/&'3;2>74'"&54636;65./#"#"&54>72#66:/FB3K,- 1,- '!  4")"J45N 02Yi ;<\/( " - ##%"-!:.$ 16/93#2/&#".5473263254&#"632#"&5467266.@ U .3 793$ > ,+TD/2! =  ;*/142! *+)-8gE05&/47'5376?   $& <80).8!  4&+,>B#!R&Ф4)?6wE-8'4#"./6?6=37632/7'p + @9" * % ^&,0 / /( EQ -+J0$  U !  4.,"=&/&'#"&54632>5654.#!5!#":+ )&*2&*g !I'#(#,@ 226' %j*|%257/&/.#+"&546p6F0 '$-0_7X6( &!(#8.#'&+"0#"&5463257H*1 $(#B4G8+,!V 9%2IPQ 25""&/&/6?637'<   X 4%& 6" !<d -fx7%7&#'763767 <"2Z$[9 G* h?E* N. !/./�"#'?675#5!#8RK*" L 6,"/)@3.# (  *43%4!n<30)  #+    :0:?f0'25/&#".#"'6=>32#"&=>;6.(  9 %!,:3*) )"(30 7@ #:%3/;25!5!#/.#"'&/"&'4632#"&'.=6327679/zY * +:/  : Y4  Bt33  ** %  `& . /';267'&'"6?4467#53##"/&F  : H6m)  T7 +fD  x  H >$J33 2"UH. .3?654#"&5#"/&5732654+5!)+ !<$&6M  $ 0 ;  $-% Z !#D22ea6/73#2&/&/326=4'7'&#"#"&546?363666%P>N$ b/BB;:=W26x&T! @!$6"'/2J75P%  Q.-B(""w&<% &;?-&( B%2674#""&546323#"=4#"#"=4#6232>7>320,+"&;;.$:8 $& ""%F  %"'3.$*1)9"'1CI8Sd+0 O&6H-0 :! K-' (732?>74#""&546323#"54#6323#"54#632E ) +4&;;.*48 &(&% &(&% 3.l*1)9(!4@K9TG&7N9TG&7N/T'+32?>74#""&546323#"54#632 ) 4':;.*48 &(&% 3 m*1)9(!1CH9TG&7N &.(7"&546?2&/&/"/4632#5H;<% '5%*,ZD2V  =9* '1.r +2#"/46?274&#/.#'6?F07'* G cO0-`i 8!!! r#E+6 %2/-GG#@!>+M_7"&54747467>7!5!656574&/#".5473723#3?>5.5467#+5)\h8  T(%9  f=?Sk   + !H 4-'N.$ ;8nG2% * (2|" ' !!   .D232>5'&/&'546?3#"'"'54>5&/&54?#5!B  N &.   /VY +84/!!(! /N<.;9e( 2! % 35- 8 BC)X@#)@& ."4B'82B22L.0%"#"'>54'#"&547#5!!>767  7@,2)19ES722W(:7 "8 ?r.FX"=&/&'#"&54632>5654.#!5!#/&/&/"/4?>724'"7#:+ )&*2&*g X > )  #6  !I'#(#,@ 22-*%     8" . %  &6'%; 04&#".546323?632#"5pZec% TB|&DK6#" &GfxB.   O6J\ $8dA&# $Yt %323254&#"&54632#"&54&@A-j@XxW6N4;6D*N;*3 T([!Z@1l*8;1(4'E$C'ED%'E&,'EL('E@)'E*C'E|+'E,)'E.'E"/#'ET0'E:'Ee3z'E6 'E5'EPF'E2_'E-\/:%+#"'>?67!"&54>73!.54632"7654&  F:# 9A =))GRq\68"@)Q9Fb8'.=2/(!% FVP&/5  #hUNd D0 NcMrLV=2B\0@%#!"&54>7;.54>32#".54546732>7454&#" =))7>L~jhTP:50%Kq2+h/))2//5  2?6bHQJLI7$G aL>)!2+/ 0-GX W%3276=!"%547#2>54&+#".54;547!"#32#"'&54547632.hMP;)Trb\<PM`Op4|8  $@<$Ӕp F(8J5{=K2Do-_++.G_Y.p`(CA$W 0 '1]Aq  dE}UJ%D [X7#"547!"#>3232654>732?2#"=!"54;>54&#""#"547#32?2.,G8  D-+3#M+!.,G#$5G7) #-%'!fMYW 0 '>4#I0Um &MYeA6H ,0&$&+*r&X/7C+32741#"=47##".54;547!"+#547#3276=!" (Ds@b8# |8  OhMP;)`0##+*R ):4W 2 '++=K2Do-Xx327!32>54#"".543!654.#"3267#"&5463#"632#".54>3!+"6323254>7+byd[7)% VH&ZN1v33!+!1 1O, 'd &bJ,E$-BqE V ;FUV%^$)>+L:N58(.r.&4,49BCa2w1!-<3<.=S3S#;%bn/@O5LcR9.wbR7= >,EV@lZ2#"'&54>7632327632#"54&#"32>54&#"3267#"&54>76OAQ/G{NR)P_AX'p$G "4!DƢ.JQ*<9i?D3!8/F&' *!1)/u`-ZfM3gu}R!,I4ios&(2R5*326326323254>7+! '&543!6=4#"#".54>7&#"#".5467&#">32%"32654'&32>7!""32654'&E 0)# )!fEOj1JWknVk[mTr6$*=TqTpV4kP7P#9+M[&(kP7P#?:IUAi=*[5 &g!I 6$.:oo1BM!I 6$/9o.3 &- G(/'NellJgS<..//rQ47= ?+&3\4no Yp@^INo'& Yo@^IK0$*=L::#;C7+#"'&543!6!"32#9; R9J^&"BKm7|8  iN$ ))>GsFqFm3M>WN]++.C"2Do4B )BC"U2 'z7= >,Va&=R4g&( YKT23254>7+#".543!654&#"#"547#3262#"547!"+>!"326;:^$ ))>7qHr@)C+*.%*!.,G8  ZIEM5fcreB7= >,Wb-6'4;K_K )!X($+*r&(MYW 2 '/-R&)8C^\'"=#!"&54>73!2654>732741D =))D(R/5   ##+)Z\I%265#"#432+#"'&<54>7632332765!"&54>737MRNC^2dU,JzT4" Z-_\*=)2Rvr'IV8Dfb>&{ *F73274>7;2654>767326?D4,;Xh)AB))( -R"%Gd KeI   #  ,&XP%262#"547!"+632#"'&54763232654&#"#"547#.,G8  )rBVCgv6i.Z;ui6" #-%*A(LYW 2 'krN^]?л ,<}N>aV^$EȝG7-X($+*r&X Zc%4#"3267#".54763232=4./632!254>7#!!"'&543!65&=4#">32!"326Z& :6)#Of=/J(HXR/tX%$*AC$)>BFqvq [51TyM9gpq!_GKhi,>N9ji5"ǭBI ^t{F7= ?+&>Q4+8؇z:KM&,7F[LX"=!"54>54.#">32#".54>32!2654>7327414#"326pE@080*V91F:/G01U#99-F$/J\Z(;]7# -(7 )(Y'0 :7)"R )3pIKU: %:jD7,KV;V,/@P3BsM8#5HC#8dG- ##+)r)'$\F ]T%265#"2>54&#""=!"&54>7;432+632#".54>32>7MR#]lH-&%4=)D^1dV6Bu׵NqG!.2"W!7NSaU3Rv=)))(3r05 !r(JU7V32#".54>32>3!+"632#".547632! 7654&#"Z+ /)#C.,G _!.,Gq] [5*,#998N! 2L^W$u#22sV/U@WNcnjC,i S;v*09r" '- GD(LYv&(LZZru:!C.;V,BaGFvL6K&$, =pPciG#:RZf]0f ,<}Ny1O[5]BK623254326323254>7+#"'&543!>54#"#"54#"#".53267!"O`%'N $ ))>Dq \*2&(QLF - 5[/DMh(0h44L[*7= >,&>Q4!Qk:;43yxw[/* )8DCY ]lv%4&#"32>6=4#"#".5467&#">32#".54>326323254>7+# 543"32654'&!"3 +/E7&% TpV4qP5L#=8JZBi<*[5 &iS8P 1JWpoUnY$ ))>Lt"G 6$/9o MFkR#2>.377(/o Zo@^IJ0'+,X_40D>H1iUB&*Z[547#"3276="+32>32!"#!"&54>7654&#""=&+#".54;547>)$. .>E2  KgT.9T44""-6*-DVQ$.=7<`9%|8b++25_2Co*2 'U83VD1L-  ("$$A>HoDPwi*@%+:5W ["=!"54;>54&#"#"547#32?2#"547!"+>3232654>7632#".546;2+"3 7654.#"32741mD#$5G7) #-%*!.,G8  D-+3#M+>U$4 Ozʂ{.DP3-?J[V," &,(RFeA6H ,0($&+*r&MYW 2 '>4#I0Um @41/WZA*3=-(>!7 3(F6* B##+)Xbjv%# '&54>32#"'32>54&#"32741#"=47##".54;547!"+!+632%547#3276=!"%2654#"#^%>C%)*JBQ,cB%\kU1! 2$7&Ds,LK,Op4|8   -R>RhMP;)%7M*;51eqW9bI! 8(HK<+&c0??A.&G"2.R 4H"(CA$W 2 '0~Jb++=K2Eo-)(4^V"BX2632#"5467#"+#".5463!654.#"3267#"&5463#"632#".54>3!+"632325463!+"32>54#"!"32>--H -)>!dvu?ZN1AAv 9',(+!1 1O, 'd &bJ,E$-BqE V 9S%:#%^$#P97)% VHMyS)MY06>,4K(&3*9B$IK.&]1! -<3<.=S3S#;%bn/@O5LcR9= 2FC%aR7,!4, '58(.r.L:6/^JZ46323&#"32>54&#"32673#"&54>7632#"'&5%632#"74&#"#"326 V8Lյ+PO/9.<' .!10^EM,D]T-RMV ?.D% 0('$+pSI:rNI`v0=83= K~^UL0g(g)8%A<%& &X%4&#"326262#"545463#"+! '&543!6=4#"#".5467&#"#".5467&#">32#"&54>32632632325463!+"4&#"32632$7!""32654&(-.& 7'#)5--H -)>Wq8QXU!(?=-E$?:HV[8 W8;KhDOj 7LxIipWj^mVm6$$P"[%"GH9,68?)MY-6>,&3\4mo Yq@^IJ1&ZGh4-=N5J1#d>c9XHfll;QMC)..00rV37&9, 'A\CFr!(6QbCFuFqF0FBKm7|8  iN$$P3M=WNa++.C"2Do)+-Y-6>,Va&=R4gOM)CC"W 2 '{7&9, '?&( nYir%4&#"#"547#3262#"547!"+>3232547!+"3262#"5463#"+#"'&543!6!"326;2*.%*!--G8  Z!10$B P#,H-)>2VKFq%EM5djU )!X'#+*r&(NZW 2 '/--Z>d@7W ')+-Y-6>,5@(&=R40b&)8Ck\\3 7654.#"326?#"=!"&54>73!2654>7>3:32!"'.5<56;2+"[7[^4X#" .: -D=)D) 9)< OR%1 3-! . ?/)4.#  ,&R<04 ! #$ 59\S&#" ^!\CM%265#"%32767!"&54>7;432+#".54632#"'72654#"7MRuU1=)D^1dU.^1[jYU;$_VHJR:G-f$9M)92RvuL,04 !r(JU7Š7q 2Tm_D@PD= +2^O.> \_3 7654.#"32>7#"=!"&'#"54>73274>7;2654>7>3:32#".54;2+"\?ʻV#" ), (D4,;XhAB) ('3άv,3-?(.?/)#I# +*RF"%Gd KeI ! %,7(s!X W2654#""'32654&#"#"547#3262#"547!"+632#"$&54>32$9M)7MI* .Urh5$ $-%*!.,G8  *u4Wѥ%>C%U)+2^N/>-=f*Zg[J,ˡC9-X($+*r&(LYW 2 'lZcybI!@IXx2632#"5463#"#!#"&'&543!65&=4&#">32#".54>3232=4./632!25463!+"%4&#"32>!"326=--H -)>EZ[2@uq;P7W/! [5 &$99:V%=ds=2F&tW $*G=$$P+/E7&% zMagepP)MY-6?+4J(=R4*7؇XQ-=Q3:#;%;V,Ws:VP("?9-ǭ$3& aq{>#7$;, '2>.377(/&0F[ %4#"3264>54.#">32#".547632!2654>7>3:32#"$&546;2+"3 7654.#"326?3#"=!"Y'0 :7)"a -, *V91F:/G01U#99-F$?m;\8# Y-7(&4+; Oz˂_FO3-? \V#" &, ,DAr)'$\Fs):`:KU: %:jD7,KV;V,/@P3eV"6KG&U# $53-UZB*+F8)I!7"(=0( B# ++RF\P\%265#"4&#""=!"&54>7;432+632# 54>32#"'3262654#"7MR.#%4=))hdV6Niw%>B&)*ICJ* e(v)$9M( 2Sv6&(3}.6  rvaX%32>54&#"%"3262#"5467#"3262#"54#"632#"&547632>3!+"632#".54>32#"'! $54&%2654#"7'% &0, 45!"/+G _!.,Es5L?3;^;K$K5SdCds%14sV /N>-!/GrvxB*92)*N>Q,rP5b%7M*;68'-.E#1&^7*LXx(*MY\r $8gAYXH!AE*mhaJ%%,CF3K/]eYR:"1Vk~u54#"#"54#"#".542325432632325463!+"3267!",H-)>GiqIq\*2&(QLF ,!a$&O$# P5\0GMQ)+-Y-6>,aX(=R4"Ir>;43vu[0+ (0h42ƎC7)7 'e)8AFBZ |%4#"3267#"&54>32632325463!+"32632#"5463#"+# 543!6=4&#"#".5467&#">324.#"326!"3 ZE 0)#OmONZ1JWpoUnY$# P%,H -)>LtUEC@2(?=-E$=8JZBi<*[5 &a)+"GH8-=:MFkR#q.3 &- GKR~\JgS<11r7'7')+-Y56>,X_4oj!ZGh4-=N5I1'+7;254326;.54>32#"&5473+">32#".546;2.+"!32>54&#"3254&, H Yc &(QL*E=))3n!CL=$$BrC[16D*AWI u'>+,@!8[}u8/8nGa?<DQ`B"x&" `ʹwP*,4(BA-E( +.Y@U43yvu4(/6  ?hE?R1;:'F?D8.9b/L+ )'@C$MYE)  $5 .?<<&+ !s-U]:Q,$'2%/]D0;X (4%4&#"326">54&547#3276=!"%+#"'676?#"54>54.#"632#"&547##".54;547!"+36323767.54>323254.9+/+ 0)#&8 O7 - A3jKP;(  $5Q< ." d 0!.D*6,>'=;H4( 4H" bML^G@b8# |8  [E$?F2 F(1='/E8-G'" b; 3@# &- F#3)Bc ,&)=Mʗ++=K2Do.(H'2 16'"&l#)P/:U*Q1.\pya$0):4V 2 ' #8b@M`*70 6Q.5M$*3%468  F'Eh'$'E7('E8$'E,9'EXbY%7262#"54'&#"#"&54632y.,G:q&% IQ|vA]D!A(LYq#]n =  MGN[BoQ-&bD$7262#"54'&#"#"&54632y.,G:^TQ!"ObjucA(LY]#^;(0 E=J^-&V9t &/ l  +M F$, r    L V 6w   V y HN X$D$ T$H$T&Copyleft 2002, 2003, 2005, 2008 Free Software Foundation.Copyleft 2002, 2003, 2005, 2008 Free Software Foundation.FreeSerifFreeSerifMediumMediumFontForge 2.0 : Free Serif : 14-4-2008FontForge 2.0 : Free Serif : 14-4-2008Free SerifFree SerifVersion $Revision: 1.121 $ Version $Revision: 1.121 $ FreeSerifFreeSerifGNUGNUhttps://savannah.gnu.org/projects/freefont/https://savannah.gnu.org/projects/freefont/The use of this font is granted subject to GNU General Public License.The use of this font is granted subject to GNU General Public License.http://www.gnu.org/copyleft/gpl.htmlhttp://www.gnu.org/copyleft/gpl.htmlThe quick brown fox jumps over the lazy dog.The quick brown fox jumps over the lazy dog.navadnoDovoljena je uporaba v skladu z licenco GNU General Public License.http://www.gnu.org/copyleft/gpl.html`erif bo za vajo spet kuhal doma e ~gance.2`  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghjikmlnoqprsutvwxzy{}|~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc softhyphenmicroAmacronamacronAbreveabreveAogonekaogonek Ccircumflex ccircumflex Cdotaccent cdotaccentDcarondcaronDcroatEmacronemacronEbreveebreve Edotaccent edotaccentEogonekeogonekEcaronecaron Gcircumflex gcircumflex Gdotaccent gdotaccent Gcommaaccent gcommaaccent Hcircumflex hcircumflexHbarhbarItildeitildeImacronimacronIbreveibreveIogonekiogonekIJij Jcircumflex jcircumflex Kcommaaccent kcommaaccent kgreenlandicLacutelacute Lcommaaccent lcommaaccentLcaronlcaronLdotldotNacutenacute Ncommaaccent ncommaaccentNcaronncaron napostropheEngengOmacronomacronObreveobreve Ohungarumlaut ohungarumlautRacuteracute Rcommaaccent rcommaaccentRcaronrcaronSacutesacute Scircumflex scircumflexuni0162uni0163TcarontcaronTbartbarUtildeutildeUmacronumacronUbreveubreveUringuring Uhungarumlaut uhungarumlautUogonekuogonek Wcircumflex wcircumflex Ycircumflex ycircumflexZacutezacute Zdotaccent zdotaccentlongsuni0180uni0181uni0182uni0183uni0184uni0185uni0186uni0187uni0188uni0189uni018Auni018Buni018Cuni018Duni018Euni018Funi0190uni0191uni0193uni0194uni0195uni0196uni0197uni0198uni0199uni019Auni019Buni019Cuni019Duni019Euni019FOhornohornuni01A2uni01A3uni01A4uni01A5uni01A6uni01A7uni01A8uni01A9uni01AAuni01ABuni01ACuni01ADuni01AEUhornuhornuni01B1uni01B2uni01B3uni01B4uni01B5uni01B6uni01B7uni01B8uni01B9uni01BAuni01BBuni01BCuni01BDuni01BEuni01BFuni01C0uni01C1uni01C2uni01C3uni01C4uni01C5uni01C6uni01C7uni01C8uni01C9uni01CAuni01CBuni01CCuni01CDuni01CEuni01CFuni01D0uni01D1uni01D2uni01D3uni01D4uni01D5uni01D6uni01D7uni01D8uni01D9uni01DAuni01DBuni01DCuni01DDuni01DEuni01DFuni01E0uni01E1uni01E2uni01E3uni01E4uni01E5Gcarongcaronuni01E8uni01E9uni01EAuni01EBuni01ECuni01EDuni01EEuni01EFuni01F0uni01F1uni01F2uni01F3uni01F4uni01F5uni01F6uni01F8uni01F9 Aringacute aringacuteAEacuteaeacute Oslashacute oslashacuteuni0200uni0201uni0202uni0203uni0204uni0205uni0206uni0207uni0208uni0209uni020Auni020Buni020Cuni020Duni020Euni020Funi0210uni0211uni0212uni0213uni0214uni0215uni0216uni0217 Scommaaccent scommaaccent Tcommaaccent tcommaaccentuni021Euni021Funi0226uni0227uni0228uni0229uni022Auni022Buni022Cuni022Duni022Euni022Funi0230uni0231uni0232uni0233uni0235dotlessjuni0250uni0251uni0252uni0253uni0254uni0255uni0256uni0257uni0258uni0259uni025Auni025Buni025Cuni025Duni025Euni025Funi0260uni0261uni0262uni0263uni0264uni0265uni0266uni0267uni0268uni0269uni026Auni026Buni026Cuni026Duni026Euni026Funi0270uni0271uni0272uni0273uni0274uni0275uni0276uni0277uni0278uni0279uni027Auni027Buni027Cuni027Duni027Euni027Funi0280uni0281uni0282uni0283uni0284uni0285uni0286uni0287uni0288uni0289uni028Auni028Buni028Cuni028Duni028Euni028Funi0290uni0291uni0292uni0293uni0294uni0295uni0296uni0297uni0298uni0299uni029Auni029Buni029Cuni029Duni029Euni029Funi02A0uni02A1uni02A2uni02A3uni02A4uni02A5uni02A6uni02A7uni02A8uni02A9uni02AAuni02ABuni02ACuni02ADuni02AEuni02AFhsuper hhooksuperjsuperrsuper rturnsuperrturnrthooksuper Rturnsuperwsuperysuperprimemod primedblmod quoteleftmod apostrophemod apostropherev ringhalfrightringlefthalfsuperglottalstopmod glottalrevfrontedbackedraisedloweredverticallinemodmacronmodifier acutemodifier gravemodifierverticallinelowmod macronsubgravesubacutesubcolontriangularmodcolontriangularhalfmodringrighthalfcenterringlefthalfsupuni02D4uni02D5uni02D6uni02D7 rhotichookuni02DF gammasuperlsuperssuperxsuperglottalrevsuper toneextrahightonehightonemidtonelow toneextralowuni02EAuni02EBuni02ECuni02EDuni02EEuni02EFuni02F0uni02F1uni02F2uni02F3uni02F4uni02F5uni02F6uni02F7uni02F8uni02F9uni02FAuni02FBuni02FCuni02FDuni02FEuni02FF gravecomb acutecombuni0302 tildecombuni0304uni0305uni0306uni0307 diaeresiscomb hookabovecombuni030Auni030Buni030Cuni030Duni030Euni030Funi0310uni0311uni0312 commaabovecmbuni0314uni0315uni0316uni0317uni0318uni0319uni031Auni031Buni031Cuni031Duni031Euni031Funi0320hookpalatalizedbelowcmbuni0322 dotbelowcombuni0324uni0325uni0326uni0327 ogonekcmbuni0329uni032Auni032Buni032Cuni032Duni032Euni032Funi0330uni0331uni0332uni0333uni0334uni0335uni0336uni0337uni0338uni0339uni033Auni033Buni033Cuni033Duni033Euni033F gravetonecmbuni0341uni0342uni0343uni0344uni0345uni0346uni0347uni0348uni0349uni034Auni034Buni034Cuni034Duni034Euni0350uni0351uni0352uni0353uni0354uni0355uni0356uni0357uni0358uni0359uni035Auni035Buni035Cuni035Duni035Euni035Ftildedoublecmbbreveinverteddoublecmbuni0362uni0363uni0364uni0365uni0366uni0367uni0368uni0369uni036Auni036Buni036Cuni036Duni036Euni036Funi0374uni0375uni037Auni037Etonos dieresistonos Alphatonos anoteleia EpsilontonosEtatonos Iotatonos Omicrontonos Upsilontonos OmegatonosiotadieresistonosAlphaBetaGammauni0394EpsilonZetaEtaThetaIotaKappaLambdaMuNuXiOmicronPiRhoSigmaTauUpsilonPhiChiPsiuni03A9 IotadieresisUpsilondieresis alphatonos epsilontonosetatonos iotatonosupsilondieresistonosalphabetagammadeltaepsilonzetaetathetaiotakappalambdauni03BCnuxiomicronrhosigma1sigmatauupsilonphichipsiomega iotadieresisupsilondieresis omicrontonos upsilontonos omegatonosuni03D0theta1Upsilon1uni03D3uni03D4phi1omegapiuni03D7uni03DAuni03DBuni03DCuni03DDuni03DEuni03DFuni03E0uni03E1uni03F0uni03F1uni03F2uni03F5uni0400 afii10023 afii10051 afii10052 afii10053 afii10054 afii10055 afii10056 afii10057 afii10058 afii10059 afii10060 afii10061uni040D afii10062 afii10145 afii10017 afii10018 afii10019 afii10020 afii10021 afii10022 afii10024 afii10025 afii10026 afii10027 afii10028 afii10029 afii10030 afii10031 afii10032 afii10033 afii10034 afii10035 afii10036 afii10037 afii10038 afii10039 afii10040 afii10041 afii10042 afii10043 afii10044 afii10045 afii10046 afii10047 afii10048 afii10049 afii10065 afii10066 afii10067 afii10068 afii10069 afii10070 afii10072 afii10073 afii10074 afii10075 afii10076 afii10077 afii10078 afii10079 afii10080 afii10081 afii10082 afii10083 afii10084 afii10085 afii10086 afii10087 afii10088 afii10089 afii10090 afii10091 afii10092 afii10093 afii10094 afii10095 afii10096 afii10097uni0450 afii10071 afii10099 afii10100 afii10101 afii10102 afii10103 afii10104 afii10105 afii10106 afii10107 afii10108 afii10109uni045D afii10110 afii10193FL96FL0461h afii10146 afii10194FL0464hFL0465hFL0466hFL0467hFL0468hFL106FL046ChFL105FL046DhFL046FhFL046EhFL109FL046BhFL0471hFL0472hFL0473hFL0474hFL0475hFL0476hFL0477hFL0478hFL0479hFL047AhFL047BhFL124FL047DhFL126FL047FhFL0480hFL0481hFL0482hFL0483hFL0484hFL0485hFL0486hFL137FL0488hFL0489hFL048Ahuni048Cuni048Duni048Euni048F afii10050 afii10098uni0492uni0493uni0494uni0495uni0496uni0497uni0498uni0499uni049Auni049Buni049Cuni049Duni049Euni049Funi04A0uni04A1uni04A2uni04A3uni04A4uni04A5uni04A6uni04A7uni04A8uni04A9uni04AAuni04ABuni04ACuni04ADuni04AEuni04AFuni04B0uni04B1uni04B2uni04B3uni04B4uni04B5uni04B6uni04B7uni04B8uni04B9uni04BAuni04BBuni04BCuni04BDuni04BEuni04BFuni04C0uni04C1uni04C2uni04C3uni04C4FL04C5hFL198uni04C7uni04C8FL201FL202uni04CBuni04CCFL04CDhFL04CEhFL207uni04D0uni04D1uni04D2uni04D3uni04D4uni04D5uni04D6uni04D7uni04D8 afii10846uni04DAuni04DBuni04DCuni04DDuni04DEuni04DFuni04E0uni04E1uni04E2uni04E3uni04E4uni04E5uni04E6uni04E7uni04E8uni04E9uni04EAuni04EBuni04ECuni04EDuni04EEuni04EFuni04F0uni04F1uni04F2uni04F3uni04F4uni04F5uni04F8uni04F9FL0500hFL0501hFL0502hFL0503hFL0506hFL0507hFL0504hFL0505hFL0508hFL0509hFL050AhFL050BhFL050ChFL050DhFL050FhFL050Eh afii57801 afii57800 afii57793 afii57794 afii57795 afii57798 afii57797 afii57806 afii57796 afii57807 afii57842 afii57658 afii57664 afii57665 afii57666 afii57667 afii57668 afii57669 afii57670 afii57671 afii57672 afii57673 afii57674 afii57675 afii57676 afii57677 afii57678 afii57679 afii57680 afii57681 afii57682 afii57683 afii57684 afii57685 afii57686 afii57687 afii57688 afii57689 afii57690 afii57716 afii57717 afii57718uni05F3uni05F4 afii57388 afii57403 afii57407 afii57409 afii57410 afii57411 afii57412 afii57413 afii57414 afii57415 afii57416 afii57417 afii57418 afii57419 afii57420 afii57421 afii57422 afii57423 afii57424 afii57425 afii57426 afii57427 afii57428 afii57429 afii57430 afii57431 afii57432 afii57433 afii57434 afii57441 afii57442 afii57443 afii57444 afii57445 afii57446 afii57470 afii57448 afii57449 afii57450 afii57451 afii57453 afii57454 afii57455 afii57456 afii57457 afii57458uni0653uni0654uni0655 afii57392 afii57393 afii57394 afii57395 afii57396 afii57397 afii57398 afii57399 afii57400 afii57401uni066Buni0674 afii57506 afii57507 afii57508 afii57509uni06CCuni06D4uni0780uni0781uni0782uni0783uni0784uni0785uni0786uni0787uni0788uni0789uni078Auni078Buni078Cuni078Duni078Euni078Funi0790uni0791uni0792uni0793uni0794uni0795uni0796uni0797uni0798uni0799uni079Auni079Buni079Cuni079Duni079Euni079Funi07A0uni07A1uni07A2uni07A3uni07A4uni07A5uni07A6uni07A7uni07A8uni07A9uni07AAuni07ABuni07ACuni07ADuni07AEuni07AFuni07B0uni0901uni0902uni0903uni0905uni0906uni0907uni0908uni0909uni090Auni090Buni090Cuni090Duni090Funi0911uni0913uni0914uni0915uni0916uni0917uni0918uni0919uni091Auni091Buni091Cuni091Duni091Euni091Funi0920uni0921uni0922uni0923uni0924uni0925uni0926uni0927uni0928uni0929uni092Auni092Buni092Cuni092Duni092Euni092Funi0930uni0931uni0932uni0933uni0934uni0935uni0937uni0938uni0939uni093Cuni093Duni093Euni093Funi0940uni0941uni0942uni0943uni0944uni0945uni0947uni0948uni0949uni094Buni094Cuni094Duni0950uni0958uni0959uni095Auni095Buni095Cuni095Duni095Euni0960uni0961uni0962uni0963uni0964uni0965uni0966uni0967uni0968uni0969uni096Auni096Buni096Cuni096Duni096Euni096Funi0970bn_candrabindu bn_anusvara bn_visargabn_abn_aabn_ibn_iibn_ubn_uubn_ribn_libn_ebn_aibn_obn_aubn_kabn_khabn_gabn_ghabn_ngabn_cabn_chabn_jabn_jhabn_nyabn_ttabn_tthabn_ddabn_ddhabn_nnabn_tabn_thabn_dabn_dhabn_nabn_pabn_phabn_babn_bhabn_mabn_yabn_rabn_labn_shabn_ssabn_sabn_habn_nukta bn_avagraha bn_aakaarbn_ikaar bn_iikaarbn_ukaar bn_uukaar bn_rikaar bn_rrikaarbn_ekaar bn_aikaarbn_okaar bn_aukaar bn_hasanta Khanda_Ta bn_aumarkbn_rrabn_rhabn_yyabn_rribn_lli bn_likaar bn_llikaarbn_zerobn_onebn_twobn_threebn_fourbn_fivebn_sixbn_sevenbn_eightbn_nine bn_asamira bn_asamiba bn_rupeemark bn_rupeesign bn_currency1 bn_currency2 bn_currency3 bn_currency4bn_currencyless bn_currency16 bn_issharuni0A05uni0A06uni0A07uni0A08uni0A09uni0A0Auni0A0Funi0A10uni0A13uni0A14uni0A15uni0A16uni0A17uni0A18uni0A19uni0A1Auni0A1Buni0A1Cuni0A1Duni0A1Euni0A1Funi0A20uni0A21uni0A22uni0A23uni0A24uni0A25uni0A26uni0A27uni0A28uni0A2Auni0A2Buni0A2Cuni0A2Duni0A2Euni0A2Funi0A30uni0A32uni0A33uni0A35uni0A36uni0A38uni0A39uni0A3Cuni0A3Euni0A3Funi0A40uni0A41uni0A42uni0A47uni0A48uni0A4Buni0A4Cuni0A4Duni0A59uni0A5Auni0A5Buni0A5Cuni0A5Euni0A66uni0A67uni0A68uni0A69uni0A6Auni0A6Buni0A6Cuni0A6Duni0A6Euni0A6Funi0A70uni0A72uni0A73uni0A74PulliAyuthamTamlATamlAATaml_ITaml_IITamlUTamlUUTamlETamlEETamlAITamlOTamlOOTamlAUTamlKATamlNGATamlCATamlJATamlNYATamlTTATamlNNATamlTATamlNATamlNNNATamlPATamlMATamlYATamlRATamlRRATamlLATamlLLATamlLLLATamlVATamlSSATamlSATamlHATaml_v_ATaml_v_I Taml_v_IITaml_v_U Taml_v_UUTaml_v_E Taml_v_EE Taml_v_AI Taml_vow_O Taml_vow_OOTaml_AUsTaml_pulTaml_AUuni0C02uni0C03uni0C05uni0C06uni0C07uni0C08uni0C09uni0C0Auni0C0Buni0C0Cuni0C0Euni0C0Funi0C10uni0C12uni0C13uni0C14uni0C15uni0C16uni0C17uni0C18uni0C19uni0C1Auni0C1Buni0C1Cuni0C1Duni0C1Euni0C1Funi0C20uni0C21uni0C22uni0C23uni0C24uni0C25uni0C26uni0C27uni0C28uni0C2Auni0C2Buni0C2Cuni0C2Duni0C30uni0C32uni0D02uni0D03uni0D05uni0D06uni0D07uni0D08uni0D09uni0D0Auni0D0Bl1uni0D0Euni0D0Funi0D10uni0D12uni0D13uni0D14k1k2k3k4ngch1ch2ch3ch4njt1t2t3t4nhth1th2th3th4n1p1p2p3p4m1y1r3rhl3lhzhv1z1shs1h1uni0D3Euni0D3Funi0D40u1u2r1uni0D46uni0D47uni0D48uni0D4Auni0D4Buni0D4Cxxuni0D57r2l2uni0D66uni0D67uni0D68uni0D69uni0D6Auni0D6Buni0D6Cuni0D6Duni0D6Euni0D6Funi0D70uni0D82uni0D83uni0D85uni0D89uni0D8Auni0D8Buni0D91uni0D94uni0D99uni0D9Auni0D9Buni0D9Cuni0D9Euni0DA0uni0DA1uni0DA2uni0DA4uni0DA5uni0DA7uni0DA8uni0DA9uni0DAAuni0DABuni0DADuni0DAEuni0DAFuni0DB0uni0DB1uni0DB3uni0DB4uni0DB5uni0DB6uni0DB7uni0DB8uni0DB9uni0DBAuni0DBBuni0DBDuni0DC0uni0DC1uni0DC2uni0DC3uni0DC4uni0DC5uni0DC6uni0DCAuni0DCFuni0DD0uni0DD1uni0DD2uni0DD3uni0DD4uni0DD6uni0DD8uni0DD9uni0DDFuni0E01uni0E02uni0E03uni0E04uni0E05uni0E06uni0E07uni0E08uni0E09uni0E0Auni0E0Buni0E0Cuni0E0Duni0E0Euni0E0Funi0E10uni0E11uni0E12uni0E13uni0E14uni0E15uni0E16uni0E17uni0E18uni0E19uni0E1Auni0E1Buni0E1Cuni0E1Duni0E1Euni0E1Funi0E20uni0E21uni0E22uni0E23uni0E24uni0E25uni0E26uni0E27uni0E28uni0E29uni0E2Auni0E2Buni0E2Cuni0E2Duni0E2Euni0E2Funi0E30uni0E31uni0E32uni0E33uni0E34uni0E35uni0E36uni0E37uni0E38uni0E39uni0E3Auni0E3Funi0E40uni0E41uni0E42uni0E43uni0E44uni0E45uni0E46uni0E47uni0E48uni0E49uni0E4Auni0E4Buni0E4Cuni0E4Duni0E4Euni0E4Funi0E50uni0E51uni0E52uni0E53uni0E54uni0E55uni0E56uni0E57uni0E58uni0E59uni0E5Auni0E5Buni10A0uni10A1uni10A2uni10A3uni10A4uni10A5uni10A6uni10A7uni10A8uni10A9uni10AAuni10ABuni10ACuni10ADuni10AEuni10AFuni10B0uni10B1uni10B2uni10B3uni10B4uni10B5uni10B6uni10B7uni10B8uni10B9uni10BAuni10BBuni10BCuni10BDuni10BEuni10BFuni10C0uni10C1uni10C2uni10C3uni10C4uni10C5uni10D0uni10D1uni10D2uni10D3uni10D4uni10D5uni10D6uni10D7uni10D8uni10D9uni10DAuni10DBuni10DCuni10DDuni10DEuni10DFuni10E0uni10E1uni10E2uni10E3uni10E4uni10E5uni10E6uni10E7uni10E8uni10E9uni10EAuni10EBuni10ECuni10EDuni10EEuni10EFuni10F0uni10F1uni10F2uni10F3uni10F4uni10F5uni1200uni1201uni1202uni1203uni1204uni1205uni1206uni1208uni1209uni120Auni120Buni120Cuni120Duni120Euni120Funi1210uni1211uni1212uni1213uni1214uni1215uni1216uni1217uni1218uni1219uni121Auni121Buni121Cuni121Duni121Euni121Funi1220uni1221uni1222uni1223uni1224uni1225uni1226uni1227uni1228uni1229uni122Auni122Buni122Cuni122Duni122Euni122Funi1230uni1231uni1232uni1233uni1234uni1235uni1236uni1237uni1238uni1239uni123Auni123Buni123Cuni123Duni123Euni123Funi1240uni1241uni1242uni1243uni1244uni1245uni1246uni1248uni124Auni124Buni124Cuni124Duni1250uni1251uni1252uni1253uni1254uni1255uni1256uni1258uni125Auni125Buni125Cuni125Duni1260uni1261uni1262uni1263uni1264uni1265uni1266uni1267uni1268uni1269uni126Auni126Buni126Cuni126Duni126Euni126Funi1270uni1271uni1272uni1273uni1274uni1275uni1276uni1277uni1278uni1279uni127Auni127Buni127Cuni127Duni127Euni127Funi1280uni1281uni1282uni1283uni1284uni1285uni1286uni1288uni128Auni128Buni128Cuni128Duni1290uni1291uni1292uni1293uni1294uni1295uni1296uni1297uni1298uni1299uni129Auni129Buni129Cuni129Duni129Euni129Funi12A0uni12A1uni12A2uni12A3uni12A4uni12A5uni12A6uni12A7uni12A8uni12A9uni12AAuni12ABuni12ACuni12ADuni12AEuni12B0uni12B2uni12B3uni12B4uni12B5uni12B8uni12B9uni12BAuni12BBuni12BCuni12BDuni12BEuni12C0uni12C1uni12C2uni12C3uni12C4uni12C5uni12C8uni12C9uni12CAuni12CBuni12CCuni12CDuni12CEuni12D0uni12D1uni12D2uni12D3uni12D4uni12D5uni12D6uni12D8uni12D9uni12DAuni12DBuni12DCuni12DDuni12DEuni12DFuni12E0uni12E1uni12E2uni12E3uni12E4uni12E5uni12E6uni12E7uni12E8uni12E9uni12EAuni12EBuni12ECuni12EDuni12EEuni12F0uni12F1uni12F2uni12F3uni12F4uni12F5uni12F6uni12F7uni12F8uni12F9uni12FAuni12FBuni12FCuni12FDuni12FEuni12FFuni1300uni1301uni1302uni1303uni1304uni1305uni1306uni1307uni1308uni1309uni130Auni130Buni130Cuni130Duni130Euni1310uni1312uni1313uni1314uni1315uni1318uni1319uni131Auni131Buni131Cuni131Duni131Euni1320uni1321uni1322uni1323uni1324uni1325uni1326uni1327uni1328uni1329uni132Auni132Buni132Cuni132Duni132Euni132Funi1330uni1331uni1332uni1333uni1334uni1335uni1336uni1337uni1338uni1339uni133Auni133Buni133Cuni133Duni133Euni133Funi1340uni1341uni1342uni1343uni1344uni1345uni1346uni1348uni1349uni134Auni134Buni134Cuni134Duni134Euni134Funi1350uni1351uni1352uni1353uni1354uni1355uni1356uni1357uni1358uni1359uni135Auni1361uni1362uni1363uni1364uni1365uni1366uni1367uni1368uni1369uni136Auni136Buni136Cuni136Duni136Euni136Funi1370uni1371uni1372uni1373uni1374uni1375uni1376uni1377uni1378uni1379uni137Auni137Buni137Cuni1D00uni1D03uni1D05uni1D07uni1D0Buni1D0Cuni1D0Duni1D0Euni1D1Buni1D1Cuni1D20uni1D21uni1D22uni1D29uni1D81uni1D84uni1D85uni1D87uni1D8Duni1E00uni1E01uni1E02uni1E03uni1E04uni1E05uni1E06uni1E07uni1E08uni1E09uni1E0Auni1E0Buni1E0Cuni1E0Duni1E0Euni1E0Funi1E10uni1E11uni1E12uni1E13uni1E14uni1E15uni1E16uni1E17uni1E18uni1E19uni1E1Auni1E1Buni1E1Cuni1E1Duni1E1Euni1E1Funi1E20uni1E21uni1E22uni1E23uni1E24uni1E25uni1E26uni1E27uni1E28uni1E29uni1E2Auni1E2Buni1E2Cuni1E2Duni1E2Euni1E2Funi1E30uni1E31uni1E32uni1E33uni1E34uni1E35uni1E36uni1E37uni1E38uni1E39uni1E3Auni1E3Buni1E3Cuni1E3Duni1E3Euni1E3Funi1E40uni1E41uni1E42uni1E43uni1E44uni1E45uni1E46uni1E47uni1E48uni1E49uni1E4Auni1E4Buni1E4Cuni1E4Duni1E4Euni1E4Funi1E50uni1E51uni1E52uni1E53uni1E54uni1E55uni1E56uni1E57uni1E58uni1E59uni1E5Auni1E5Buni1E5Cuni1E5Duni1E5Euni1E5Funi1E60uni1E61uni1E62uni1E63uni1E64uni1E65uni1E66uni1E67uni1E68uni1E69uni1E6Auni1E6Buni1E6Cuni1E6Duni1E6Euni1E6Funi1E70uni1E71uni1E72uni1E73uni1E74uni1E75uni1E76uni1E77uni1E78uni1E79uni1E7Auni1E7Buni1E7Cuni1E7Duni1E7Euni1E7FWgravewgraveWacutewacute Wdieresis wdieresisuni1E86uni1E87uni1E88uni1E89uni1E8Auni1E8Buni1E8Cuni1E8Duni1E8Euni1E8Funi1E90uni1E91uni1E92uni1E93uni1E94uni1E95uni1E96uni1E97uni1E98uni1E99uni1E9Auni1E9Buni1EA0uni1EA1uni1EA2uni1EA3uni1EA4uni1EA5uni1EA6uni1EA7uni1EA8uni1EA9uni1EAAuni1EABuni1EACuni1EADuni1EAEuni1EAFuni1EB0uni1EB1uni1EB2uni1EB3uni1EB4uni1EB5uni1EB6uni1EB7uni1EB8uni1EB9uni1EBAuni1EBBuni1EBCuni1EBDuni1EBEuni1EBFuni1EC0uni1EC1uni1EC2uni1EC3uni1EC4uni1EC5uni1EC6uni1EC7uni1EC8uni1EC9uni1ECAuni1ECBuni1ECCuni1ECDuni1ECEuni1ECFuni1ED0uni1ED1uni1ED2uni1ED3uni1ED4uni1ED5uni1ED6uni1ED7uni1ED8uni1ED9uni1EDAuni1EDBuni1EDCuni1EDDuni1EDEuni1EDFuni1EE0uni1EE1uni1EE2uni1EE3uni1EE4uni1EE5uni1EE6uni1EE7uni1EE8uni1EE9uni1EEAuni1EEBuni1EECuni1EEDuni1EEEuni1EEFuni1EF0uni1EF1Ygraveygraveuni1EF4uni1EF5uni1EF6uni1EF7uni1EF8uni1EF9uni1F00uni1F01uni1F02uni1F03uni1F04uni1F05uni1F06uni1F07uni1F08uni1F09uni1F0Auni1F0Buni1F0Cuni1F0Duni1F0Euni1F0Funi1F10uni1F11uni1F12uni1F13uni1F14uni1F15uni1F18uni1F19uni1F1Auni1F1Buni1F1Cuni1F1Duni1F20uni1F21uni1F22uni1F23uni1F24uni1F25uni1F26uni1F27uni1F28uni1F29uni1F2Auni1F2Buni1F2Cuni1F2Duni1F2Euni1F2Funi1F30uni1F31uni1F32uni1F33uni1F34uni1F35uni1F36uni1F37uni1F38uni1F39uni1F3Auni1F3Buni1F3Cuni1F3Duni1F3Euni1F3Funi1F40uni1F41uni1F42uni1F43uni1F44uni1F45uni1F48uni1F49uni1F4Auni1F4Buni1F4Cuni1F4Duni1F50uni1F51uni1F52uni1F53uni1F54uni1F55uni1F56uni1F57uni1F59uni1F5Buni1F5Duni1F5Funi1F60uni1F61uni1F62uni1F63uni1F64uni1F65uni1F66uni1F67uni1F68uni1F69uni1F6Auni1F6Buni1F6Cuni1F6Duni1F6Euni1F6Funi1F70uni1F71uni1F72uni1F73uni1F74uni1F75uni1F76uni1F77uni1F78uni1F79uni1F7Auni1F7Buni1F7Cuni1F7Duni1F80uni1F81uni1F82uni1F83uni1F84uni1F85uni1F86uni1F87uni1F88uni1F89uni1F8Auni1F8Buni1F8Cuni1F8Duni1F8Euni1F8Funi1F90uni1F91uni1F92uni1F93uni1F94uni1F95uni1F96uni1F97uni1F98uni1F99uni1F9Auni1F9Buni1F9Cuni1F9Duni1F9Euni1F9Funi1FA0uni1FA1uni1FA2uni1FA3uni1FA4uni1FA5uni1FA6uni1FA7uni1FA8uni1FA9uni1FAAuni1FABuni1FACuni1FADuni1FAEuni1FAFuni1FB0uni1FB1uni1FB2uni1FB3uni1FB4uni1FB6uni1FB7uni1FB8uni1FB9uni1FBAuni1FBBuni1FBCuni1FBDuni1FBEuni1FBFuni1FC0uni1FC1uni1FC2uni1FC3uni1FC4uni1FC6uni1FC7uni1FC8uni1FC9uni1FCAuni1FCBuni1FCCuni1FCDuni1FCEuni1FCFuni1FD0uni1FD1uni1FD2uni1FD3uni1FD6uni1FD7uni1FD8uni1FD9uni1FDAuni1FDBuni1FDDuni1FDEuni1FDFuni1FE0uni1FE1uni1FE2uni1FE3uni1FE4uni1FE5uni1FE6uni1FE7uni1FE8uni1FE9uni1FEAuni1FEBuni1FECuni1FEDuni1FEEuni1FEFuni1FF2uni1FF3uni1FF4uni1FF6uni1FF7uni1FF8uni1FF9uni1FFAuni1FFBuni1FFCuni1FFDuni1FFEemquadenspaceemspacethreeperemspacefourperemspace sixperemspace thinspacezerowidthspace afii61664zerojoinuni2010uni2011 figuredash afii00208 underscoredbl quotereverseduni201Funi2023uni2031minuteseconduni2034uni2035uni2036uni2037uni2038uni203B exclamdbluni203Duni203Euni203Ftieuni2041uni2042uni2043uni2045uni2046uni2047uni2048uni2049uni204Auni204B zerosuperioruni2071 foursuperior fivesuperior sixsuperior sevensuperior eightsuperior ninesuperioruni207Auni207Buni207Cuni207F zeroinferior oneinferior twoinferior threeinferior fourinferior fiveinferior sixinferior seveninferior eightinferior nineinferioruni208Auni208Buni208Cuni20A0 colonmonetaryuni20A2lirauni20A5uni20A6pesetauni20A8uni20A9Eurouni20AFuni20B2uni20DDuni20E0uni2102uni2103 afii61248uni2109uni210Auni210Buni210Cuni210Duni210Euni210Funi2110Ifrakturuni2112 afii61289uni2115 afii61352uni2117 weierstrassuni2119uni211Auni211BRfrakturuni211D prescriptionuni211Funi2120uni2123uni2124uni2126uni2127uni2128uni212Aangstromuni212Cuni212D estimateduni2130uni2131uni2132uni2133alephuni2136uni2137uni2138uni2139onethird twothirdsuni2155uni2156uni2157uni2158uni2159uni215A oneeighth threeeighths fiveeighths seveneighthsuni215Funi2160uni2161uni2162uni2163uni2164uni2165uni2166uni2167uni2168uni2169uni216Auni216Buni216Cuni216Duni216Euni216Funi2170uni2171uni2172uni2173uni2174uni2175uni2176uni2177uni2178uni2179uni217Auni217Buni217Cuni217Duni217Euni217F arrowleftarrowup arrowright arrowdown arrowboth arrowupdnuni2196uni2197uni2198uni2199uni219Auni219Buni219Cuni219Duni219Euni219Funi21A0uni21A1uni21A2uni21A3uni21A4uni21A5uni21A6uni21A7 arrowupdnbse arrowhookleftarrowhookrightuni21ABuni21ACuni21ADuni21AEuni21B0uni21B1uni21B2uni21B3uni21B4carriagereturnuni21B6uni21B7uni21BAuni21BBuni21BCuni21BDuni21BEuni21BFuni21C0uni21C1uni21C2uni21C3uni21C4uni21C5uni21C6uni21C7uni21C8uni21C9uni21CAuni21CBuni21CCuni21CDuni21CEuni21CF arrowdblleft arrowdblup arrowdblright arrowdbldown arrowdblbothuni21D5uni21D6uni21D7uni21D8uni21D9uni21DAuni21DBuni21DCuni21DDuni21E0uni21E2 universaluni2201 existentialuni2204emptyset Delta.mathgradientelement notelementuni220Asuchthatuni220Cuni220Duni2210uni2213uni2214uni2215uni2216 asteriskmathuni2218uni2219uni221Buni221C proportional orthogonalangleuni2221uni2222dividesnotbarparallel notparallel logicaland logicalor intersectionunionuni222Cuni222Duni222Euni222F thereforeuni2235uni2236uni2237uni2238uni2239uni223Auni223Bsimilaruni223Duni2240uni2241uni2242uni2243uni2244 congruentapproxnotequaluni2247uni2249uni224Auni224Buni224Duni224Euni224Funi2250uni2251uni2252uni2253uni2254uni2255uni2256uni2257uni2259uni225Auni225C equivalenceuni2262uni2263uni2266uni2267uni2268uni2269uni226Auni226Buni226Cuni226Duni226Euni226Funi2270uni2271uni2272uni2273uni2274uni2275uni2276uni2277uni2278uni2279uni227Auni227Buni227Cuni227Duni227Euni227Funi2280uni2281 propersubsetpropersuperset notsubsetuni2285 reflexsubsetreflexsupersetuni2288uni2289uni228Auni228Buni228Cuni228Duni228Euni228Funi2290uni2291uni2292uni2293uni2294 circleplusuni2296circlemultiplyuni2298uni2299uni229Auni229Buni229Cuni229Duni229Euni229Funi22A0uni22A1uni22A2uni22A3uni22A4 perpendicularuni22A6uni22A7uni22A9uni22AAuni22ABuni22ACuni22ADuni22AEuni22AFuni22B2uni22B3uni22B4uni22B5uni22B6uni22B7uni22B8uni22BAuni22BBuni22BCuni22BDnarylogicaland narylogicalornaryintersection naryunionuni22C4dotmathuni22C6uni22C7uni22C8uni22CBuni22CCuni22CDuni22CEuni22CFuni22D0uni22D1uni22D2uni22D3uni22D4uni22D5uni22D6uni22D7uni22D8uni22D9uni22DAuni22DBuni22DCuni22DDuni22DEuni22DFuni22E0uni22E1uni22E2uni22E3uni22E4uni22E5uni22E6uni22E7uni22E8uni22E9uni22EAuni22EBuni22ECuni22EDuni22EEuni22EFuni22F0uni22F1uni2300uni2301 ceilingleft ceilingright floorleft floorright revlogicalnotuni231A integraltp integralbtfrown slurbelow angleleft anglerightuni2347uni2348uni2350uni2357uni235Euni239Buni239Cuni239Duni239Euni239Funi23A0uni23A1uni23A2uni23A3uni23A4uni23A5uni23A6uni23A7uni23A8uni23A9uni23AAuni23ABuni23ACuni23ADuni23AEuni2423uni2460uni2461uni2462uni2463uni2464uni2465uni2466uni2467uni2468uni2469SF100000uni2501SF110000uni2503uni2504uni2505uni2506uni2507uni2508uni2509uni250Auni250BSF010000uni250Duni250Euni250FSF030000uni2511uni2512uni2513SF020000uni2515uni2516uni2517SF040000uni2519uni251Auni251BSF080000uni251Duni251Euni251Funi2520uni2521uni2522uni2523SF090000uni2525uni2526uni2527uni2528uni2529uni252Auni252BSF060000uni252Duni252Euni252Funi2530uni2531uni2532uni2533SF070000uni2535uni2536uni2537uni2538uni2539uni253Auni253BSF050000uni253Duni253Euni253Funi2540uni2541uni2542uni2543uni2544uni2545uni2546uni2547uni2548uni2549uni254Auni254BSF430000SF240000SF510000SF520000SF390000SF220000SF210000SF250000SF500000SF490000SF380000SF280000SF270000SF260000SF360000SF370000SF420000SF190000SF200000SF230000SF470000SF480000SF410000SF450000SF460000SF400000SF540000SF530000SF440000uni256Dupblockuni2581uni2582uni2583dnblockuni2585uni2586uni2587blockuni2589uni258Auni258Blfblockuni258Duni258Euni258Frtblockuni2594uni2595 filledboxH22073triaguptriangleuni25B6triagdn triangleinvuni25C0uni25C6 whitediamondcircleuni25CCH18533uni25D0uni25D1uni25D2uni25D3uni25D4uni25D5uni25D6uni25D7uni25E2uni25E3uni25E4uni25E5uni25E7uni25E8uni25E9uni25EA largecircleuni2605uni2606uni260Cuni260Duni260Euni2610uni2611uni2612uni2619uni261Auni261Buni261Cuni261Duni261Euni261Funi2620uni2622uni2623uni2626uni2628uni262Auni262Cuni262Euni262Funi2630uni2631uni2632uni2633uni2634uni2635uni2636uni2637uni2638uni2639 smileface invsmilefacesununi263Duni263Euni263Ffemaleuni2641maleuni2643uni2644uni2645uni2646uni2647uni2648uni2649uni264Auni264Buni264Cuni264Duni264Euni264Funi2650uni2651uni2652uni2653uni2654uni2655uni2656uni2657uni2658uni2659uni265Auni265Buni265Cuni265Duni265Euni265Fspadeuni2661uni2662clubheartdiamonduni2669 musicalnotemusicalnotedbluni266Cuni266Duni266Euni266Funi2670uni2671uni2701uni2702uni2703uni2704uni2706uni2707uni2708uni2709uni270Cuni270Duni270Euni270Funi2710uni2711uni2712uni2713uni2714uni2715uni2716uni2717uni2718uni2719uni271Auni271Buni271Cuni271Duni271Euni271Funi2720uni2721uni2722uni2723uni2724uni2725uni2726uni2727uni2729uni272Auni272Buni272Cuni272Duni272Euni272Funi2730uni2731uni2732uni2733uni2734uni2735uni2736uni2737uni2738uni2739uni273Auni273Buni273Cuni273Duni273Euni273Funi2740uni2741uni2742uni2743uni2744uni2745uni2746uni2747uni2748uni2749uni274Auni274Buni274Duni274Funi2750uni2751uni2752uni2756uni2758uni2759uni275Auni275Buni275Cuni275Duni275Euni2761uni2762uni2763uni2764uni2765uni2766uni2767uni2776uni2777uni2778uni2779uni277Auni277Buni277Cuni277Duni277Euni277Funi2780uni2781uni2782uni2783uni2784uni2785uni2786uni2787uni2788uni2789uni278Auni278Buni278Cuni278Duni278Euni278Funi2790uni2791uni2792uni2793uni2794uni2798uni2799uni279Auni279Buni279Cuni279Duni279Euni279Funi27A0uni27A1uni27A2uni27A3uni27A4uni27A5uni27A6uni27A7uni27A8uni27A9uni27AAuni27ABuni27ACuni27ADuni27AEuni27AFuni27B1uni27B2uni27B3uni27B4uni27B5uni27B6uni27B7uni27B8uni27B9uni27BAuni27BBuni27BCuni27BDuni27BEuni27F5uni27F6uni27F7uni27F8uni27F9uni27FAuni27FBuni27FCuni2A00uni2A01uni2A02uni2A03uni2A04uni2A09uni2E17uni3001uni3002uni3003uni3005uni3007uni3008uni3009uni300Auni300Buni300Cuni300Duni300Euni300Funi3010uni3011uni3012uni3014uni3015uni3041uni3042uni3043uni3044uni3045uni3046uni3047uni3048uni3049uni304Auni304Buni304Cuni304Duni304Euni304Funi3050uni3051uni3052uni3053uni3054uni3055uni3056uni3057uni3058uni3059uni305Auni305Buni305Cuni305Duni305Euni305Funi3060uni3061uni3062uni3063uni3064uni3065uni3066uni3067uni3068uni3069uni306Auni306Buni306Cuni306Duni306Euni306Funi3070uni3071uni3072uni3073uni3074uni3075uni3076uni3077uni3078uni3079uni307Auni307Buni307Cuni307Duni307Euni307Funi3080uni3081uni3082uni3083uni3084uni3085uni3086uni3087uni3088uni3089uni308Auni308Buni308Cuni308Duni308Euni308Funi3090uni3091uni3092uni3093uni3094uni3099uni309Buni30A1uni30A2uni30A3uni30A4uni30A5uni30A6uni30A7uni30A8uni30A9uni30AAuni30ABuni30ACuni30ADuni30AEuni30AFuni30B0uni30B1uni30B2uni30B3uni30B4uni30B5uni30B6uni30B7uni30B8uni30B9uni30BAuni30BBuni30BCuni30BDuni30BEuni30BFuni30C0uni30C1uni30C2uni30C3uni30C4uni30C5uni30C6uni30C7uni30C8uni30C9uni30CAuni30CBuni30CCuni30CDuni30CEuni30CFuni30D0uni30D1uni30D2uni30D3uni30D4uni30D5uni30D6uni30D7uni30D8uni30D9uni30DAuni30DBuni30DCuni30DDuni30DEuni30DFuni30E0uni30E1uni30E2uni30E3uni30E4uni30E5uni30E6uni30E7uni30E8uni30E9uni30EAuni30EBuni30ECuni30EDuni30EEuni30EFuni30F0uni30F1uni30F2uni30F3uni30F4uni30F5uni30F6uni30F7uni30F8uni30F9uni30FAuni30FBuni30FCuniF639uniF63AuniF63BuniF63CuniF63DuniF63EuniF63FuniF640uniF641 onefittedffffiffluniFB06 afii57694 afii57695uniFB2CuniFB2DuniFB2EuniFB2FuniFB30uniFB31uniFB32uniFB33uniFB34 afii57723uniFB36uniFB38uniFB39uniFB3AuniFB3BuniFB3CuniFB3EuniFB40uniFB41uniFB43uniFB44uniFB46uniFB47uniFB48uniFB49uniFB4A afii57700uniFB4CuniFB4DuniFB4EuniFB56uniFB57uniFB58uniFB59uniFB7AuniFB7BuniFB7CuniFB7DuniFB8AuniFB8BuniFB92uniFB93uniFB94uniFB95uniFBFCuniFBFDuniFBFEuniFBFFuniFDF2uniFDFCuniFE70uniFE74uniFE76uniFE78uniFE7AuniFE7CuniFE80uniFE81uniFE82uniFE83uniFE84uniFE8CuniFE8DuniFE8EuniFE8FuniFE90uniFE91uniFE92uniFE95uniFE96uniFE97uniFE98uniFE99uniFE9AuniFE9BuniFE9CuniFE9DuniFE9EuniFE9FuniFEA0uniFEA1uniFEA2uniFEA3uniFEA4uniFEA5uniFEA6uniFEA7uniFEA8uniFEA9uniFEAAuniFEABuniFEACuniFEADuniFEAEuniFEAFuniFEB0uniFEB1uniFEB2uniFEB3uniFEB4uniFEB5uniFEB6uniFEB7uniFEB8uniFEB9uniFEBAuniFEBBuniFEBCuniFEBDuniFEBEuniFEBFuniFEC0uniFEC1tahfinalarabictahinitialarabicuniFEC4uniFEC5zahfinalarabiczahinitialarabiczahmedialarabicuniFEC9uniFECAuniFECBuniFECCuniFECDuniFECEuniFECFuniFED0uniFED1uniFED2uniFED3uniFED4uniFED5uniFED6uniFED7uniFED8uniFED9uniFEDAuniFEDBuniFEDCuniFEDDuniFEDEuniFEDFuniFEE0uniFEE1uniFEE2uniFEE3uniFEE4uniFEE5uniFEE6uniFEE7uniFEE8uniFEE9uniFEEAuniFEEBuniFEECuniFEEDuniFEEEuniFEF1yehfinalarabicyehinitialarabicyehmedialarabicuniFEF5uniFEF6uniFEF7uniFEF8uniFEF9uniFEFAuniFEFBuniFEFCuniFFFD uni0937091Fr4xxx1y2y2u1y2u2v2 FIXME195550 FIXME195551k1xxnhxxn1xxl3xxlhxxr3xxk1u1k1u2k1r1k1r2k1l1k1k1k1k1u1k1k1u2k1k1r1k1k1r3k1k1r3u1k1k1r3u2k1t1k1t1u1k1t1u2k1t1r3k1t1r3u1k1t1r3u2k1t1nhk1nhu1k1nhu2k1th1k1th1u1k1th1u2k1th1r1k1th1r2k1th1r3 k1th1r3u1 k1th1r3u2k1n1k1n1u1k1n1u2k1m1k1m1u1k1m1u2k1r3k1r3u1k1r3u2k1l3k1l3u1k1l3u2k1shk1shu1k1shu2k1shr1k1shnhk1shnhu1k1shnhu2k1shm1k1shm1u1k1shm1u2k1shm1r1k1s1k1s1u1k1s1u2k1s1r1k1rhrhk1rhrhu1k1rhrhu2k2u1k2u2k2r1k3u1k3u2k3r1k3r2k3k3k3k3u1k3k3u2k3k3r1k3k4k3k4u1k3k4u2k3k4r1k3th3k3th3u1k3th3u2k3th3r1k3th3th4 k3th3th4u1 k3th3th4u2 k3th3th4r1 k3th3th4r3 k3th3th4r3u1 k3th3th4r3u2k3n1k3n1u1k3n1u2k3m1k3m1u1k3m1u2k3r3k3r3u1k3r3u2k3l3k3l3u1k3l3u2k4u1k4u2k4r1k4r2k4n1k4n1u1k4n1u2k4r3k4r3u1k4r3u2ngu1ngu2ngk1ngk1u1ngk1u2ngk1r1ngngngngu1ngngu2ch1u1ch1u2ch1ch1ch1ch1u1ch1ch1u2ch1ch2ch1ch2u1ch1ch2u2ch1ch2r1ch1ch2r3 ch1ch2r3u1 ch1ch2r3u2ch2u1ch2u2ch2r1ch2r3ch2r3u1ch2r3u2ch3u1ch3u2ch3r1ch3r2ch3ch3ch3ch3u1ch3ch3u2ch3ch3r1ch3njch3nju1ch3nju2ch3r3ch3r3u1ch3r3u2ch4u1ch4u2ch4r1ch4r2ch4r3ch4r3u1ch4r3u2nju1nju2njch1njch1u1njch1u2njch1r1njch2njch2u1njch2u2njch2r1njch3njch3u1njch3u2njnjnjnju1njnju2t1u1t1u2t1r1t1r2t1t1t1t1u1t1t1u2t1r3t1r3u1t1r3u2t2u1t2u2t3u1t3u2t3r1t3t3t3t3u1t3t3u2t3t4t3t4u1t3t4u2t3m1t3m1u1t3m1u2t3m1r1t3r3t3r3u1t3r3u2t4u1t4u2t4r1t4r3t4r3u1t4r3u2nhu1nhu2nht1nht1u1nht1u2nht1r3nht1r3u1nht1r3u2nht2nht3nht3u1nht3u2nht3r1nht3r3nht3r3u1nht3r3u2nht4nht4u1nht4u2nht4r1nhnhnhnhu1nhnhu2nhm1nhm1u1nhm1u2th1u1th1u2th1r1th1r2th1th1th1th1u1th1th1u2th1th1r1th1th1r2th1th1r3 th1th1r3u1 th1th1r3u2th1th2th1th2u1th1th2u2th1th2r1th1n1th1p4th1p4u1th1p4u2th1p4r1th1m1th1m1u1th1m1u2th1m1r1th1r3th1r3u1th1r3u2th1l3th1l3u1th1l3u2th1s1th1s1u1th1s1u2th1s1r1th1s1r2th1s1th2 th1s1th2u1 th1s1th2u2 th1s1th2r1th1s1n1 th1s1n1u1 th1s1n1u2th1s1m1 th1s1m1u1 th1s1m1u2 th1s1m1r1th1s1r3 th1s1r3u1 th1s1r3u2th2u1th2u2th2n1th2n1u1th2n1u2th2m1th2m1u1th2m1u2th2m1r1th3u1th3u2th3r1th3r2th3th3th3th3u1th3th3u2th3th3r1th3th3r2th3th4th3th4u1th3th4u2th3th4r1th3th4r2th3th4n1 th3th4n1u1 th3th4n1u2th3th4m1 th3th4m1u1 th3th4m1u2 th3th4m1r1th3th4r3 th3th4r3u1 th3th4r3u2th3r3th3r3u1th3r3u2th4u1th4u2th4r1th4r2th4n1th4n1u1th4n1u2th4m1th4m1u1th4m1u2th4m1r1th4r3th4r3u1th4r3u2n1u1n1u2n1r1n1r2n1th1n1th1u1n1th1u2n1th1r1n1th1r2n1th1r3 n1th1r3u1 n1th1r3u2n1th2n1th2u1n1th2u2n1th2r1n1th2r2n1th3n1th3u1n1th3u2n1th3r1n1th3r3 n1th3r3u1 n1th3r3u2n1th4n1th4u1n1th4u2n1th4r1n1th4r3 n1th4r3u1 n1th4r3u2n1n1n1n1u1n1n1u2n1n1r1n1n1r3n1n1r3u1n1n1r3u2n1m1n1m1u1n1m1u2n1m1r1n1m1r3n1m1r3u1n1m1r3u2n1r3n1r3u1n1r3u2n1rhn1rhu1n1rhu2p1u1p1u2p1r1p1r2p1t1p1t1u1p1t1u2p1th1p1th1u1p1th1u2p1th1r1p1th1r2p1n1p1n1u1p1n1u2p1p1p1p1u1p1p1u2p1p1r1p1p2p1p2u1p1p2u2p1r3p1r3u1p1r3u2p1l3p1l3u1p1l3u2p1s1p1s1u1p1s1u2p1s1r1p1s1r3p1s1r3u1p1s1r3u2p2u1p2u2p2k1p2k1u1p2k1u2p2t1p2t1u1p2t1u2p2th1p2th1u1p2th1u2p2th1r1p2n1p2n1u1p2n1u2p2p1p2p1u1p2p1u2p2m1p2m1u1p2m1u2p2r3p2r3u1p2r3u2p2l3p2l3u1p2l3u2p2s1p2s1u1p2s1u2p2s1r1p2rhrhp2rhrhu1p2rhrhu2p3u1p3u2p3r1p3k3p3k3u1p3k3u2p3k3r1p3ch3p3ch3u1p3ch3u2p3ch3r1p3th3p3th3u1p3th3u2p3th3r1p3th4p3th4u1p3th4u2p3th4r1p3th4r2p3n1p3n1u1p3n1u2p3p3p3p3u1p3p3u2p3p4p3r3p3r3u1p3r3u2p3l3p3l3u1p3l3u2p4u1p4u2p4r1p4r2p4r3p4r3u1p4r3u2m1u1m1u2m1r1m1r2m1n1m1n1u1m1n1u2m1p1m1p1u1m1p1u2m1p1r1m1p1r3m1p1r3u1m1p1r3u2m1m1m1m1u1m1m1u2m1m1r1m1r3m1r3u1m1r3u2m1l3m1l3u1m1l3u2y1u1y1u2y1r1y1k1y1k1u1y1k1u2y1k1r1y1k1k1y1k1k1u1y1k1k1u2y1ch1y1ch1u1y1ch1u2y1th1y1th1u1y1th1u2y1th1r1y1th1th1 y1th1th1u1 y1th1th1u2 y1th1th1r1y1n1y1n1u1y1n1u2y1p1y1p1u1y1p1u2y1p1r1y1m1y1m1u1y1m1u2y1m1r1y1y1y1y1u1y1y1u2r3u1r3u2r3r1l3u1l3u2l3r1l3k1l3k1u1l3k1u2l3k1r1l3k1k1l3k1k1u1l3k1k1u2l3k3l3k3u1l3k3u2l3k3r1l3ch1l3ch1u1l3ch1u2l3th1l3th1u1l3th1u2l3th1r1l3th1th1 l3th1th1u1 l3th1th1u2l3p1l3p1u1l3p1u2l3p1r3l3p1r3u1l3p1r3u2l3p2l3p2u1l3p2u2l3p3l3p3u1l3p3u2l3m1l3m1u1l3m1u2l3l3l3l3u1l3l3u2v1u1v1u2v1r1v1r3v1r3u1v1r3u2v1l3v1l3u1v1l3u2v1v1v1v1u1v1v1u2z1u1z1u2z1r1z1ch1z1ch1u1z1ch1u2z1ch1r1z1ch2z1ch2u1z1ch2u2z1ch2r1z1n1z1n1u1z1n1u2z1m1z1m1u1z1m1u2z1m1r1z1r3z1r3u1z1r3u2z1l3z1l3u1z1l3u2z1z1z1z1u1z1z1u2z1z1r1z1z1r3z1z1r3u1z1z1r3u2shu1shu2shr1shk1shk1u1shk1u2shk1r1shk1k1shk1k1u1shk1k1u2shk1k1r1shk1r3shk1r3u1shk1r3u2sht1sht1u1sht1u2sht1r1sht1r2sht1r3sht1r3u1sht1r3u2sht2sht2u1sht2u2shnhshnhu1shnhu2shp1shp1u1shp1u2shp1r1shp1r3shp1r3u1shp1r3u2shp2shp2u1shp2u2shm1shm1u1shm1u2shm1r3shm1r3u1shm1r3u2s1u1s1u2s1r1s1r2s1k1s1k1u1s1k1u2s1k1r1s1k1k1s1k1k1u1s1k1k1u2s1k1k1r1s1k1r3s1k1r3u1s1k1r3u2s1k2s1k2u1s1k2u2s1t1s1t1u1s1t1u2s1t1r3s1t1r3u1s1t1r3u2s1th1s1th1u1s1th1u2s1th1r1s1th1r2s1th1r3 s1th1r3u1 s1th1r3u2s1th2s1th2u1s1th2u2s1th2r1s1n1s1n1u1s1n1u2s1p1s1p1u1s1p1u2s1p1r1s1p1r3s1p1r3u1s1p1r3u2s1p2s1p2u1s1p2u2s1m1s1m1u1s1m1u2s1m1r1s1r3s1r3u1s1r3u2s1l3s1l3u1s1l3u2s1s1s1s1u1s1s1u2s1s1r1s1s1r3s1s1r3u1s1s1r3u2s1rhrhs1rhrhu1s1rhrhu2s1rhrhr3 s1rhrhr3u1 s1rhrhr3u3h1u1h1u2h1r1h1n1h1n1u1h1n1u2h1m1h1m1u1h1m1u2h1m1r1h1r3h1r3u1h1r3u2h1l3h1l3u1h1l3u2lhu1lhu2lhlhlhlhu1lhlhu2zhu1zhu2zhk1zhk1u1zhk1u2zhk1k1zhk1k1u1zhk1k1u2zhch1zhch1u1zhch1u2zhth1zhth1u1zhth1u2zhth1th1 zhth1th1u1 zhth1th1u2zhn1zhn1u1zhn1u2zhn1n1zhn1n1u1zhn1n1u2zhp1zhp1u1zhp1u2zhm1zhm1u1zhm1u2zhv1zhv1u1zhv1u2zhs1zhs1u1zhs1u2rhu1rhu2rhrhrhrhu1rhrhu2 bn_initekaar bn_initaikaarbn_reph bn_baphala bn_raphala bn_half_ka bn_half_kha bn_half_ga bn_half_gha bn_half_nga bn_half_ca bn_half_cha bn_half_ja bn_half_jha bn_half_nya bn_half_tta bn_half_ttha bn_half_dda bn_half_ddha bn_half_nna bn_half_tha bn_half_da bn_half_dha bn_half_na bn_half_pa bn_half_pha bn_half_ba bn_half_bha bn_half_ma bn_half_ya bn_half_ra bn_half_la bn_half_sha bn_half_ssa bn_half_sa bn_half_ha bn_half_rra bn_half_rha bn_half_yyabn_half_asamirabn_half_asamiba bn_yaphalabn_k_rabn_k_ra1bn_kh_rabn_g_rabn_gh_rabn_c_rabn_ch_rabn_j_rabn_tt_ra bn_tth_rabn_dd_ra bn_ddh_rabn_t_rabn_t_ra1bn_th_rabn_d_rabn_dh_rabn_n_rabn_n_ra1bn_p_rabn_ph_rabn_b_rabn_bh_ra bn_bh_ra1bn_m_rabn_y_rabn_sh_rabn_ss_rabn_s_rabn_s_ra1bn_h_ra bn_asamir_ra bn_asamib_ra bn_k_ss_rabn_k_kabn_k_tta bn_k_tt_rabn_k_tabn_k_ta1 bn_k_t_ba bn_k_t_ba1 bn_k_t_ra bn_k_t_ra1 bn_k_t_ra2bn_k_nabn_k_mabn_k_labn_k_ssa bn_k_ss_nna bn_k_ss_mabn_k_sabn_g_gabn_g_dabn_g_dha bn_g_dh_babn_g_nabn_g_mabn_g_labn_gh_nabn_ng_ka bn_ng_k_ra bn_ng_k_ssa bn_ng_k_ss_ra bn_ng_khabn_ng_ga bn_ng_gha bn_ng_gh_rabn_ng_ma bn_ng_ma1bn_c_cabn_c_cha bn_c_ch_ba bn_c_ch_rabn_c_nyabn_c_nabn_j_ja bn_j_j_babn_j_jhabn_j_nyabn_ny_ca bn_ny_chabn_ny_ja bn_ny_jha bn_tt_tta bn_tt_tt_rabn_tt_mabn_dd_ga bn_dd_ddabn_dd_ma bn_nn_tta bn_nn_tt_ra bn_nn_ttha bn_nn_dda bn_nn_dda1 bn_nn_dd_ra bn_nn_dd_ra1 bn_nn_ddha bn_nn_nnabn_nn_mabn_t_ta bn_t_t_babn_t_thabn_t_nabn_t_mabn_t_ma1bn_t_labn_d_gabn_d_ghabn_d_da bn_d_d_ba bn_d_d_rabn_d_dha bn_d_dh_babn_d_nabn_d_bha bn_d_bh_ra bn_d_bh_ra1bn_d_mabn_dh_nabn_dh_mabn_n_tta bn_n_tt_ra bn_n_tthabn_n_dda bn_n_dd_ra bn_n_ddhabn_n_ta bn_n_t_ba bn_n_t_ra bn_n_t_ra1bn_n_thabn_n_da bn_n_d_ba bn_n_d_rabn_n_dha bn_n_dh_ba bn_n_dh_rabn_n_nabn_n_mabn_n_sabn_p_ttabn_p_tabn_p_nabn_p_pabn_p_mabn_p_labn_p_sa bn_ph_ttabn_ph_labn_b_jabn_b_da bn_b_d_rabn_b_dhabn_b_nabn_b_bhabn_b_labn_bh_labn_m_tabn_m_thabn_m_dabn_m_nabn_m_na1bn_m_pa bn_m_p_ra bn_m_p_labn_m_pha bn_m_ph_rabn_m_bha bn_m_bh_ra bn_m_bh_ra1bn_m_mabn_m_labn_m_la1bn_m_sa bn_m_s_rabn_l_kabn_l_gabn_l_tta bn_l_tt_rabn_l_dda bn_l_dd_rabn_l_tabn_l_dabn_l_dhabn_l_pabn_l_pha bn_l_ph_rabn_l_mabn_l_labn_sh_tabn_sh_ca bn_sh_chabn_sh_nabn_sh_mabn_sh_labn_ss_ka bn_ss_k_ra bn_ss_tta bn_ss_tt_ra bn_ss_ttha bn_ss_nnabn_ss_pa bn_ss_p_ra bn_ss_pha bn_ss_ph_rabn_ss_mabn_s_ka bn_s_k_rabn_s_khabn_s_tta bn_s_tt_rabn_s_ta bn_s_t_ba bn_s_t_ra bn_s_t_ra1bn_s_thabn_s_nabn_s_pa bn_s_p_ra bn_s_p_labn_s_pha bn_s_ph_rabn_s_mabn_s_labn_s_la1bn_h_nnabn_h_nabn_h_mabn_h_labn_h_la1bn_rr_gabn_k_babn_g_babn_gh_babn_c_babn_ch_babn_j_babn_tt_babn_dd_babn_nn_babn_t_babn_th_babn_d_babn_dh_babn_n_babn_p_babn_b_babn_bh_babn_m_ba bn_m_b_rabn_l_babn_sh_babn_s_babn_h_babn_h_ba1 bn_kh_r_ukaarbn_kh_r_uukaar bn_g_ukaar bn_g_r_ukaar bn_g_r_uukaar bn_g_l_ukaar bn_g_l_uukaar bn_j_r_ukaar bn_j_r_uukaar bn_t_r_ukaar bn_t_r_uukaar bn_th_r_ukaarbn_th_r_uukaar bn_d_ukaar bn_d_r_ukaar bn_d_r_uukaar bn_dh_r_ukaarbn_dh_r_uukaar bn_n_t_ukaarbn_n_d_r_ukaarbn_n_d_r_uukaar bn_p_r_ukaar bn_p_r_uukaar bn_p_l_ukaar bn_p_l_uukaar bn_b_r_ukaar bn_b_r_uukaar bn_b_l_ukaar bn_b_l_uukaar bn_bh_r_ukaarbn_bh_r_uukaarbn_m_p_r_ukaarbn_m_p_r_uukaar bn_m_r_ukaar bn_m_r_uukaar bn_r_ukaar bn_r_uukaar bn_l_g_ukaar bn_sh_ukaar bn_sh_r_ukaarbn_sh_r_uukaar bn_sh_l_ukaarbn_sh_l_uukaarbn_ss_p_r_ukaarbn_ss_p_r_uukaar bn_s_t_ukaar bn_s_r_ukaar bn_s_r_uukaar bn_s_l_ukaar bn_s_l_uukaarbn_s_p_r_ukaarbn_s_p_r_uukaarbn_s_p_l_ukaarbn_s_p_l_uukaar bn_h_ukaar bn_h_rikaarbn_asamir_ukaarbn_asamir_uukaarbn_asamib_ukaarbn_asamib_uukaarbn_asamib_r_ukaarbn_asamib_r_uukaarbn_d_yabn_n_yabn_sh_yabn_ss_yabn_s_yabn_h_ya bn_k_hasanta bn_kh_hasanta bn_g_hasanta bn_gh_hasanta bn_ng_hasanta bn_c_hasanta bn_ch_hasanta bn_j_hasanta bn_jh_hasanta bn_ny_hasanta bn_tt_hasantabn_tth_hasanta bn_dd_hasantabn_ddh_hasanta bn_nn_hasanta bn_t_hasanta bn_th_hasanta bn_d_hasanta bn_dh_hasanta bn_n_hasanta bn_p_hasanta bn_ph_hasanta bn_b_hasanta bn_bh_hasanta bn_m_hasanta bn_y_hasanta bn_r_hasanta bn_l_hasanta bn_sh_hasanta bn_ss_hasanta bn_s_hasanta bn_h_hasanta bn_rr_hasanta bn_rh_hasanta bn_yy_hasantabn_asamir_hasantabn_asamib_hasanta bn_one_two bn_one_three bn_one_four bn_two_three bn_three_four bn_ukaar1 bn_ukaar2 bn_uukaar1 bn_uukaar2 bn_rikaar1 bn_post_ka bn_below_tabn_below_t_ukaar bn_below_t_ra bn_below_da bn_below_dha bn_above_na bn_below_na1 bn_below_na bn_below_ba1 bn_below_ba bn_post_ba bn_maphala bn_maphala1 bn_raphala1 bn_raphala2 bn_raphala3 bn_below_la bn_below_la1 bn_above_la bn_pre_ssa1 bn_pre_sa1 bn_below_tha bn_glyph571 bn_glyph572 bn_glyph573 bn_glyph574 bn_glyph575 bn_glyph576 bn_yaphala1 bn_glyph578bn_above_na.001 taml_v_i_2 taml_v_ii_2TamlKA_Taml_pul.halfTamlNGA_Taml_pul.halfTamlCA_Taml_pul.halfTamlNYA_Taml_pul.halfTamlTTA_Taml_pul.halfTamlNNA_Taml_pul.halfTamlTA_Taml_pul.halfTamlNA_Taml_pul.halfTamlPA_Taml_pul.halfTamlMA_Taml_pul.halfTamlYA_Taml_pul.halfTamlRA_Taml_pul.halfTamlLA_Taml_pul.halfTamlVA_Taml_pul.halfTamlLLLA_Taml_pul.halfTamlLLA_Taml_pul.halfTamlRRA_Taml_pul.halfTamlNNNA_Taml_pul.halfTamlTTA_Taml_v_I.abvsTamlTTA_Taml_v_II.abvsTamlKA_Taml_v_U.pstsTamlNGA_Taml_v_U.pstsTamlCA_Taml_v_U.pstsTamlNYA_Taml_v_U.pstsTamlTTA_Taml_v_U.pstsTamlNNA_Taml_v_U.pstsTamlTA_Taml_v_U.pstsTamlNA_Taml_v_U.pstsTamlPA_Taml_v_U.pstsTamlMA_Taml_v_U.pstsTamlYA_Taml_v_U.pstsTamlRA_Taml_v_U.pstsTamlLA_Taml_v_U.pstsTamlVA_Taml_v_U.pstsTamlLLLA_Taml_v_U.pstsTamlLLA_Taml_v_U.pstsTamlRRA_Taml_v_U.pstsTamlNNNA_Taml_v_U.pstsTamlKA_Taml_v_UU.pstsTamlNGA_Taml_v_UU.pstsTamlCA_Taml_v_UU.pstsTamlNYA_Taml_v_UU.pstsTamlTTA_Taml_v_UU.pstsTamlNNA_Taml_v_UU.pstsTamlTA_Taml_v_UU.pstsTamlNA_Taml_v_UU.pstsTamlPA_Taml_v_UU.pstsTamlMA_Taml_v_UU.pstsTamlYA_Taml_v_UU.pstsTamlRA_Taml_v_UU.pstsTamlLA_Taml_v_UU.pstsTamlVA_Taml_v_UU.pstsTamlLLLA_Taml_v_UU.pstsTamlLLA_Taml_v_UU.pstsTamlRRA_Taml_v_UU.pstsTamlNNNA_Taml_v_UU.pstsTamlSA_pul_half_RA_v_II.pstsTamlCA_TamlSSATamlJA_Taml_pul.halfTamlSSA_Taml_pul.halfTamlSA_Taml_pul.halfTamlHA_Taml_pul.halfTamlCA_TamlSSA.half taml_v_i_3 taml_v_i_4 J_  x y  optu !""#)*+,`abc    #$$%+,,-34456778`aabjkkloppq{||}WXXY]^_@ |DFLT2arab>bengRbng2tdev2latnmlymtaml   @ AFK JDAN JDEU JENG JESP JFRA JHRV JITA JLAT JSVE J  aaltabvsakhnakhnblwfblwsdligfinafracfrachalfhalfhalnhalnhaln initinitligaliga$liga*liga0medi6pres>D D D   > $ !0 $N5^%%P\0B6rJbt " ^ nT\VPjbH!v% %[Y8r &2>JVblv  *4>HRZbjrzlkedca`MCB=<_jAbL;VTSQPhgiKJIHF^]\@?ZYW:98OX>GfDR[U76z432onm#HZl|  *4>HR\dlt|~}{zywvux|tsrqp  *4>FNTZ`  *4>HPX^ (6BLV`jt|"*06(2<FPZdlt|$,28>",6@JT^hr|  *4>FNTZ` ",6@JT^hr|"*066DR`nz&.4     2ft&2>JT^hr|$,4<DLT\bhnJIGFECB@?>$#A=HD"9764310/-,+('&<;:! 2*).85% (2<FNV\SRQONPMLK8FTbp~"*2:@FLkjhgfdciebnma`_^\[ZYl]XWVUT(2<FPZdlt||{yxwutzvsrqpo3hv $0:DNXblv  (08@HPX`flr~}#HVdpz$.8@HPX`hpx~"FTbnx",6>FNV^fnv~!DNXblv &.6>FNV^dj     $,28>2@NZdnx *)(0.-,431'&%#"+$/2! #HVdr (2<FPZbjrzIHG>=F<NLKWVTSEDCA@RPO;:9QUBJM?8765ZYX_]\*Vdr (2<FPZdnxxwrqdcvpbut~}onmkjhgf{za`_elyi|s^]\[  (.87654#HVdr$.8BLV`hpxONIH@?MG>ZXLKWUTFECBRQ[=<VAPSJDY;:9 $.8BLV^fntz@N\hr|$,4<DLTZ`,Zhv $0:DNXblv "(H (6DR`n|$.8BLV`jt~ &.6>FNV^fnv~#"!      ",6@JT^hr|320/-,+)(*.1'&%$YY$tIOrOpIIsILqLI#/F cc -M,L*  dee4>HR\fpzE E!EYE"E#E$E%E&E0E'E(E)E*E/E+E.E-E,EZE[E\E]E$9XX%PZdnx",6@JT^hr|fghijklmnopqrstuvwxyz{|}~ #D ,8dz"*2:BJ       }  } y  y z  z {  { |  | " ~  ~      V>HR\fpz$.8BLeeeeeeeeeeeeeeeeeeeeeeeeeeee :d,NhBT"T^J|Xz $  &,28>D &,$*06<  $*06<$*06< "(.4:@FLRX^djpv|   "(.4  &,&%#"! ' &,28>DJPV\bhnt98653210/.-+*)($*06<BHNTZ`flGFEDCBA@?>=<;: &,MLKJIH $*06<BHNTXWVUTSRQPON"(.4:@FLRX^djpv|jihgfedcb`^]\[ZY onmlqfhijkmoprtvwxyz{|}:z  *4FPbl(:L^p"4FXbtrd sdtdudvdwdxdydzd{d }d~dddddd d ddd                d ddddd  dd       _d   : &.;MU^efj 2<1;)|,>Pbt(:L^p E>3= F>4= G>5= H>6= I>7= J>8= K>9= L>:= V>D= M>;= N><= O>== P>>= U>C= Q>?= T>B= S>A= R>@=W1<$&(6[[Z*6BN      .  (')&$[\\4>HR\fpzE E!EYE"E#E$E%E&E0E'E(E)E*E/E+E.E-E,EZE[E\E]E$9XX%PZdnx",6@JT^hr| #^(2<JT,-.1`/0  DFLT2arab>bengHbng2Rdev2\latnfmlymttaml~kernkernmark Vf ;PV\bhntz "(.4:@FLRX^djpv| $*06<BHNTLcjc26iPQ,MpdBfjH!.|cbfx^IQ}-c+jj|;$&(*,./125678<DFHLNOQRUVWX\HIJPRYabchqr (346@AS Vc $*06<BHNTZ`flrx~ &,28>DJPV\bhntzZX\\\\\\\\t\\z\\\\\\WWWW8!/*0/5N<#. .H,#-BI ZX\5Q-FB23+cY\? 3  5C $$2-E# M6|R6 v>,V`j       p p p  " < B H B f  $&*24789}:<DEFGHJRTWXYZ\m $29:< $+.2 $-79:;<$-2DHLMRUX $79:<$&*26DHRX\&26789:<X\ $&*2DHRX $79:;<$-DHR&*2789:<DHRX\ $79:<W-$&*-269:< DFHJLMRUVXYZ\m  $PQSU$$&*267 DHJLRUX\m $$&*267DHJLRUX\m  &24DHRX\$$&*267 DHJLRSXYmy oY\MYZ\ YZ\KNWYZ[\ DHILMO,RVW   DHOU \ 7MDHJRVXY\SYZ\7SYZ\ 7WYZ[\ W\FX.DFGHIJKLMNOPQRSTUWXYZ[\] W 6D K R  DFHJORVDFHJORVDFHRTDFHJORV &*24789}:<&*24789}:<DEFGHJRTWXYZ\m &*24789}:<DEFGJRTWXYZ\m &*24789}:<DEFGHJRTWXYZ\m $79<$79:<$79:;<$$$PQSU$EPQSUYZ\YZ\YZ\WWYZ[\$2$79WW$')*-/13 5= DFHLN\,238=?BDGH"#J??LJ2@ft$F`  o $79:< o $79:;;;989bb`caccccbdddbddddbdbdbbccccaa`bbaaa```___^\\][[X[XYYYXUXSVVTTTRRQOOOMNMKKKIHIEGEDDDAAA???<<<999%eccdfdfffggghgghhhhhihhhhiiiihhiihhhhhggfggffeeeccedbbbbb__a___]]]Y\\ZZZXXXVVVTSTQRQOOOMMMKKJHHHEEEC@C@@@=<=:::775hghhiijjikjkllklmlllmmmmnnmmmmlllkllkkkjjiiiighhffgcecccc`bb``^^^^\\\ZWZXXXVSVSSSPQQNNNLLKHIIFFFCCCA>>=>=;;;686jkklllnnmnnoooopppppqqqqqrrrrrrqqqqqqqppppooonnnmmmllljjkiiihghfffdddbbb```^^^\Y\WWZWWWTTURQRPOPLMLJIJGEGDDBA>>==>;:;777mmmoooppprrrsrstttuuuuvuvvvuvvuuuttutstsssrqqpppooonnnllljjjhhhfffdddbb````^\\[[[XXXSVVSSSPPPMMMJJJFHFDDDAAA>>>;::668 pppqrqsssuuuvvvwwwxxxyyyzyyzzz{{{z{{{{{{z{zzzyyyxxxwwwvvvuutttsrrrpppnonmlljjkhhhfddcccaaa___\\\YYYWTTSTTPQQNNMKJJGGGDDD>AA==>:;:577 ssrtutvvvxxxyyyz{{||||}}}}}~~~}}}~~~}}}|||{{|{{{zyywwwvvvtttsrrqqpnnollljjjgggceecca^^`][[ZZZWWWTTTQPQMNMKKKHFFDDDA>A===:::557 uttvwvxxxzzz{||}}}~!}}}~|||zzzxxxwvwtuusrrpppmmmlkkhiifdfbdbaaa^\\XX[XUXTUUQQQNMNKKKGGGDDDA>>===99:555vvwyyy{{z|||~~~!~~~~||}z{zxyyvwvtttqrrooommmiijffgbddaaa^^^X[[XXXTTTQQQNNMJJJGGECCC==@<<<888255xxx{zz||}~~~#}|}zz{xxxuuurrspppmnmkjjgghdddaaa^^^[[[XXUTTTPPPMMMJJJFFF@@C>??;;;777411 |{|~~~~%~~~{||yyyvvvttspqpnmnkjkghhdddaaa^^^[XXWWWSSTPPPMMLIIIEEEB??===:9:6667}}}}}|}|zyzwwwtttqqqnnnkjkhhhddd_aa^\\ZZZTWTSSSOOOLLKHHFDDD>>A=<<888525 '~~}~~{{{xwwtttrqqnnnkkkgggdbd_aa][[WWZUUURRRNNNKJJEGE@C@>??;;;775"~~~{{zxxxutuqqqnmmjkjgggccc```Y\\XXXTUUQQPMMMIIIEEEAAA===999664#~~~{{{wxwtttqqpmmmjjjfdfaca___[[XWWWSSTOOOLKKFFHDBD???;;;777<~~~{z{wwwsttpppllmihheeeaaa]]]WZWVVSRRRMNMJIJEEEB??>>=:9:446$~~~zzzwvvssroookkkghhbdd^^`[[[XXXSTTPOPLLKHHFDBB@@@<;<777%~~}|}yyyuuvrqrmnnjjjfffbbb^^\ZZWVVVRRQNNNJJJDFF?BB===999={|{xxxtttpqplllhhhddd```\\\XXUTTSOOOKKLFFHCCC???;:;755=~~zzzvvwrsrnnnkkjfffbbb^^^ZZZVVVRRQMNMIIIEEEA>A<<=888=~~}||xyytttpqqlmmhhhddd```YY\XUXSSSOOOKJKGGGBBB>>>9::%~~~{{{wvvssrnnnjjjfffbbb\\^YYYUUUPPPLLLHHHDDD@==;;;'~|||xxxtutpppkllhhhddb___X[[WWTRRRNNNIIJEEEAA>=<<'~z{zvvvqqrnmniijecea__\\\XXXSSSOOPKKKEGE@C@>>>=|||xxxstsoookkjgffbbb^^\YYYTUTQPPLLLFHHBBD?>>=}}}yyytuupqplllgghccc__]ZZZVVSQRRMMNIIHCEC@=@=~zz{vvvqrqmmmiiicec```\Y\WWWSRRNNNJJJEEE>A>'}{{{wwwsssnonjjiddfaaa\\\XXXSSSOOOJKJFFF?BB=}||xxxsstoookkkffgbbb^^\VVYTTTPPPKKKGGG@@C=}~}yyytttpppkllgggcca^^^YYYUUUPPPLLLGGG@CC=~~~yyyuuuqqqmllgggbdb]]_ZWZVSSQQQLLLHHHCCC={zzvuurqqmmmhhhdbb___X[XVVSRQQMMMHHHDDD={zzvvvrqqmmmiihddd``^ZZZVVVRRRMMMHIHDDD<}{{{vvvrrrmmmhhiddd`^`[[[WWTQRRMMMIII<}{{{vwvqqrmnmhiiddd`^^[[[TWTRRRMMNIIH<{{{vvvrqrmmmihiddd`^^[[[VVVRRRMMMHIH9}}zz{vvvrqqmmmihhddb^``[[XTWTQRRMMM9~~{zzvvvqqqmmmhhhdbd___[[XVVVQQRLLM7~~~zzyuuuqqplllhhgccc]__ZZZVVSQQQ$}}}yyyutupoplllgggcaa^^^WZWUUUPQQ5|}|xxxtssopokkkfffb`b]]]YYYTTT5||{xwwsssonnjjjddfaa_[[]XXXSTS3~~{z{uvvqqqmmmhhiecc```Y\YWWW1~}}yyytutppplllhggbbd]__[[X !||{wwxtssoookjjffgbbb\^^-~~~zzzvvvrrrmmniiiecca__ ~~||}xyytttpppklkhhhbdb)~{{{vwwrsrnnojjjfff||}xyyuttqpplllihh~~~zzzwvvrrroookjj}}{{{xxxtttppp~~}|}yyyuvvrqq}~}zzzvvv~~~TRUEVISION-XFILE.logstalgia-1.0.7/data/glow.tga0000644000203100020310000051730312611522305016043 0ustar andrewcandrewc                                                             !!!    !!!"""!!!    !!!"""###"""!!!    !!!"""###$$$###"""!!!    !!!"""###$$$%%%$$$###"""!!!    !!!"""###$$$%%%&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111 222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<< ;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,--- ...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888 777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((( )))***+++,,,---...///000111222333 444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@ ???>>>===<<<;;;:::999888777666555444333 222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---... ///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>=== <<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((( )))***+++,,,---...///000111222333444555666 777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDD CCCBBBAAA@@@???>>>===<<<;;;:::999888777666 555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""### $$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@ AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKK JJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000/// ...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999::: ;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHH GGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!""" ###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000/// ...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>> ???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLL KKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!! """###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///... ---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAA BBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPP OOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++ ,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMM LLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++ ***)))((('''&&&%%%$$$###"""!!!    !!!"""###!$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFF GGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRR QQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFF!EEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''(((&)))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPP&OOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    (!!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJ KKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUU TTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJ(IIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$,%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRR,QQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!     !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMM NNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXX WWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::888777666555444333222111000///...---,,,+++ ***)))((('''&&&%%%$$$###"""!!!    3!!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUU3TTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>@@@ BBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOO PPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZ YYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOO NNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBB@@@>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000#222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVV#UUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    -!!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEGGGHHHIIIJJJKKKLLLMMMNNNOOOPPP QQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPP-OOONNNMMMLLLKKKJJJIIIHHHGGGEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###2$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXX2WWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   = !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\=[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   6 !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@BBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXX6WWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBB@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!9"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]9\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$0%%%&&&'''((()))***+++,,,---...///000111222444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXX0WWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   > !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^>]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   3 !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLNNNOOOPPPQQQRRRSSSTTTUUU VVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa ```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUU3TTTSSSRRRQQQPPPOOONNNLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    9!!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]9\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###9$$$%%%&&&'''((()))***+++,,,---...///000222333444555666777888999:::;;;<<<===>>>???@@@BBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```9___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBB@@@???>>>===<<<;;;:::999888777666555444333222000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   ; !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[;ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>><<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   ? !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```?___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   ? !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555777888999:::;;;<<<===>>>???@@@AAABBBCCCEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbb?aaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEECCCBBBAAA@@@???>>>===<<<;;;:::999888777555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    8!!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222444555666777888999:::;;;<<<===>>>???@@@BBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]8\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPNNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBB@@@???>>>===<<<;;;:::999888777666555444222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""9###$$$%%%&&&'''((()))***+++,,,---///000111222333444555666777888999:::;;;<<<>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```9___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>><<<;;;:::999888777666555444333222111000///---,,,+++***)))((('''&&&%%%$$$###"""!!!   D !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::<<<===>>>???@@@AAABBBCCCDDDEEEFFFHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccDbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHFFFEEEDDDCCCBBBAAA@@@???>>>===<<<:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   : !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888:::;;;<<<===>>>???@@@AAABBBCCCDDDFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUWWWXXXYYYZZZ[[[ \\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfff eeedddcccbbbaaa```___^^^]]]\\\[[[:ZZZYYYXXXWWWUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFDDDCCCBBBAAA@@@???>>>===<<<;;;:::888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   > !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555777888999:::;;;<<<===>>>???@@@AAACCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```>___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPNNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCAAA@@@???>>>===<<<;;;:::999888777555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   @ !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333555666777888999:::;;;<<<===>>>???AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddccc@bbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA???>>>===<<<;;;:::999888777666555333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   A !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111333444555666777888999:::;;;<<<===???@@@AAABBBCCCDDDEEEFFFGGGHHHJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeeAdddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJHHHGGGFFFEEEDDDCCCBBBAAA@@@???===<<<;;;:::999888777666555444333111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    B!!!"""###$$$%%%&&&'''((()))***+++,,,---...000111222333444555666777888999:::;;;===>>>???@@@AAABBBCCCDDDEEEFFFHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggBfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHFFFEEEDDDCCCBBBAAA@@@???>>>===;;;:::999888777666555444333222111000...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!9"""###$$$%%%&&&'''((()))***+++---...///000111222333444555666777888999:::<<<===>>>???@@@AAABBBCCCDDDEEEGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```9___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGEEEDDDCCCBBBAAA@@@???>>>===<<<:::999888777666555444333222111000///...---+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$9%%%&&&'''(((***+++,,,---...///000111222333444555666777888:::;;;<<<===>>>???@@@AAABBBCCCEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddccc9bbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEECCCBBBAAA@@@???>>>===<<<;;;:::888777666555444333222111000///...---,,,+++***((('''&&&%%%$$$###"""!!!   F !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777999:::;;;<<<===>>>???@@@AAABBBDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeeFdddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOOMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDBBBAAA@@@???>>>===<<<;;;:::999777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   F !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666888999:::;;;<<<===>>>???@@@AAACCCDDDEEEFFFGGGHHHIIIJJJKKKMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~~~~}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffFeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMKKKJJJIIIHHHGGGFFFEEEDDDCCCAAA@@@???>>>===<<<;;;:::999888666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   H !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555777888999:::;;;<<<===>>>???@@@BBBCCCDDDEEEFFFGGGHHHIIIJJJLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~~~~}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhHgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLJJJIIIHHHGGGFFFEEEDDDCCCBBB@@@???>>>===<<<;;;:::999888777555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   H !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444666777888999:::;;;<<<===>>>@@@AAABBBCCCDDDEEEFFFGGGHHHIIIKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~~~~}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiiHhhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@>>>===<<<;;;:::999888777666444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   > !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333555666777888999:::;;;<<<===>>>@@@AAABBBCCCDDDEEEFFFGGGHHHJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~~~~}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```>___^^^]]]\\\[[[ZZZYYYXXXVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJHHHGGGFFFEEEDDDCCCBBBAAA@@@>>>===<<<;;;:::999888777666555333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   ? !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222444555666777888999:::;;;<<<===???@@@AAABBBCCCDDDEEEFFFGGGIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~~~~}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbb?aaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIGGGFFFEEEDDDCCCBBBAAA@@@???===<<<;;;:::999888777666555444222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   @ !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222444555666777888999:::;;;<<<>>>???@@@AAABBBCCCDDDEEEFFFGGGIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~~~~}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddccc@bbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIGGGFFFEEEDDDCCCBBBAAA@@@???>>><<<;;;:::999888777666555444222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   A !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111333444555666777888999:::;;;<<<>>>???@@@AAABBBCCCDDDEEEFFFHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~~~~}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddAcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHFFFEEEDDDCCCBBBAAA@@@???>>><<<;;;:::999888777666555444333111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   B !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111333444555666777888999:::;;;<<<>>>???@@@AAABBBCCCDDDEEEFFFHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~~~~}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeeBdddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHFFFEEEDDDCCCBBBAAA@@@???>>><<<;;;:::999888777666555444333111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   A !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111333444555666777888999:::;;;<<<>>>???@@@AAABBBCCCDDDEEEGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~~~~}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeeAdddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGEEEDDDCCCBBBAAA@@@???>>><<<;;;:::999888777666555444333111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   A !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111333444555666777888999:::;;;===>>>???@@@AAABBBCCCDDDEEEGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~~~~}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeeAdddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGEEEDDDCCCBBBAAA@@@???>>>===;;;:::999888777666555444333111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   A !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111333444555666777888999:::;;;===>>>???@@@AAABBBCCCDDDEEEGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~~~~}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeeAdddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGEEEDDDCCCBBBAAA@@@???>>>===;;;:::999888777666555444333111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   A !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111333444555666777888999:::;;;<<<>>>???@@@AAABBBCCCDDDEEEGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~~~~}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeeAdddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGEEEDDDCCCBBBAAA@@@???>>><<<;;;:::999888777666555444333111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   B !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111333444555666777888999:::;;;<<<>>>???@@@AAABBBCCCDDDEEEFFFHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~~~~}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeeBdddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHFFFEEEDDDCCCBBBAAA@@@???>>><<<;;;:::999888777666555444333111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   A !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111333444555666777888999:::;;;<<<>>>???@@@AAABBBCCCDDDEEEFFFHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~~~~}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddAcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHFFFEEEDDDCCCBBBAAA@@@???>>><<<;;;:::999888777666555444333111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   @ !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222444555666777888999:::;;;<<<>>>???@@@AAABBBCCCDDDEEEFFFGGGIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~~~~}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddccc@bbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIGGGFFFEEEDDDCCCBBBAAA@@@???>>><<<;;;:::999888777666555444222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   ? !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222444555666777888999:::;;;<<<===???@@@AAABBBCCCDDDEEEFFFGGGIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~~~~}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbb?aaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIGGGFFFEEEDDDCCCBBBAAA@@@???===<<<;;;:::999888777666555444222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   > !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333555666777888999:::;;;<<<===>>>@@@AAABBBCCCDDDEEEFFFGGGHHHJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~~~~}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```>___^^^]]]\\\[[[ZZZYYYXXXVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJHHHGGGFFFEEEDDDCCCBBBAAA@@@>>>===<<<;;;:::999888777666555333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   H !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444666777888999:::;;;<<<===>>>@@@AAABBBCCCDDDEEEFFFGGGHHHIIIKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~~~~}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiiHhhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@>>>===<<<;;;:::999888777666444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   H !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555777888999:::;;;<<<===>>>???@@@BBBCCCDDDEEEFFFGGGHHHIIIJJJLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~~~~}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhHgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLJJJIIIHHHGGGFFFEEEDDDCCCBBB@@@???>>>===<<<;;;:::999888777555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   F !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666888999:::;;;<<<===>>>???@@@AAACCCDDDEEEFFFGGGHHHIIIJJJKKKMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~~~~}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffFeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMKKKJJJIIIHHHGGGFFFEEEDDDCCCAAA@@@???>>>===<<<;;;:::999888666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   F !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777999:::;;;<<<===>>>???@@@AAABBBDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeeFdddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOOMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDBBBAAA@@@???>>>===<<<;;;:::999777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$9%%%&&&'''(((***+++,,,---...///000111222333444555666777888:::;;;<<<===>>>???@@@AAABBBCCCEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddccc9bbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEECCCBBBAAA@@@???>>>===<<<;;;:::888777666555444333222111000///...---,,,+++***((('''&&&%%%$$$###"""!!!    !!!9"""###$$$%%%&&&'''((()))***+++---...///000111222333444555666777888999:::<<<===>>>???@@@AAABBBCCCDDDEEEGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```9___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGEEEDDDCCCBBBAAA@@@???>>>===<<<:::999888777666555444333222111000///...---+++***)))((('''&&&%%%$$$###"""!!!    B!!!"""###$$$%%%&&&'''((()))***+++,,,---...000111222333444555666777888999:::;;;===>>>???@@@AAABBBCCCDDDEEEFFFHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggBfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHFFFEEEDDDCCCBBBAAA@@@???>>>===;;;:::999888777666555444333222111000...---,,,+++***)))((('''&&&%%%$$$###"""!!!   A !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111333444555666777888999:::;;;<<<===???@@@AAABBBCCCDDDEEEFFFGGGHHHJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeeAdddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJHHHGGGFFFEEEDDDCCCBBBAAA@@@???===<<<;;;:::999888777666555444333111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   @ !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333555666777888999:::;;;<<<===>>>???AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddccc@bbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA???>>>===<<<;;;:::999888777666555333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   > !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555777888999:::;;;<<<===>>>???@@@AAACCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```>___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPNNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCAAA@@@???>>>===<<<;;;:::999888777555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   : !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888:::;;;<<<===>>>???@@@AAABBBCCCDDDFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUWWWXXXYYYZZZ[[[ \\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfff eeedddcccbbbaaa```___^^^]]]\\\[[[:ZZZYYYXXXWWWUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFDDDCCCBBBAAA@@@???>>>===<<<;;;:::888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   D !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::<<<===>>>???@@@AAABBBCCCDDDEEEFFFHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccDbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHFFFEEEDDDCCCBBBAAA@@@???>>>===<<<:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""9###$$$%%%&&&'''((()))***+++,,,---///000111222333444555666777888999:::;;;<<<>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```9___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>><<<;;;:::999888777666555444333222111000///---,,,+++***)))((('''&&&%%%$$$###"""!!!    8!!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222444555666777888999:::;;;<<<===>>>???@@@BBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]8\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPNNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBB@@@???>>>===<<<;;;:::999888777666555444222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   ? !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555777888999:::;;;<<<===>>>???@@@AAABBBCCCEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbb?aaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEECCCBBBAAA@@@???>>>===<<<;;;:::999888777555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   ? !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```?___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   ; !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[;ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>><<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###9$$$%%%&&&'''((()))***+++,,,---...///000222333444555666777888999:::;;;<<<===>>>???@@@BBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```9___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBB@@@???>>>===<<<;;;:::999888777666555444333222000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    9!!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]9\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   3 !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLNNNOOOPPPQQQRRRSSSTTTUUU VVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa ```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUU3TTTSSSRRRQQQPPPOOONNNLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   > !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^>]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$0%%%&&&'''((()))***+++,,,---...///000111222444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXX0WWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!9"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]9\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   6 !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@BBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXX6WWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBB@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!   = !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\=[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###2$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXX2WWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    -!!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEGGGHHHIIIJJJKKKLLLMMMNNNOOOPPP QQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPP-OOONNNMMMLLLKKKJJJIIIHHHGGGEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000#222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVV#UUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>@@@ BBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOO PPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZ YYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOO NNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBB@@@>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    3!!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUU3TTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!     !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMM NNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXX WWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::888777666555444333222111000///...---,,,+++ ***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$,%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRR,QQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    (!!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJ KKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUU TTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJ(IIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''(((&)))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPP&OOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###!$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFF GGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRR QQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFF!EEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++ ,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMM LLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++ ***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAA BBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPP OOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!! """###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///... ---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>> ???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLL KKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!""" ###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000/// ...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999::: ;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHH GGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""### $$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@ AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKK JJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000/// ...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((( )))***+++,,,---...///000111222333444555666 777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDD CCCBBBAAA@@@???>>>===<<<;;;:::999888777666 555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---... ///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>=== <<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((( )))***+++,,,---...///000111222333 444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@ ???>>>===<<<;;;:::999888777666555444333 222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,--- ...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888 777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111 222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<< ;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCBBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBAAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAA@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===<<<;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333222111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...///...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---...---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,---,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++,,,+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***+++***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))***)))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((()))((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''((('''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&'''&&&%%%$$$###"""!!!    !!!"""###$$$%%%&&&%%%$$$###"""!!!    !!!"""###$$$%%%$$$###"""!!!    !!!"""###$$$###"""!!!    !!!"""###"""!!!    !!!"""!!!    !!!                                                             4 Paint Shop Pro TRUEVISION-XFILE.logstalgia-1.0.7/data/example.log0000644000203100020310000233545612611522305016545 0ustar andrewcandrewcproxy-435.dialup.xtra.co.nz - - [22/Apr/2009:18:52:51 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 986 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-435.dialup.xtra.co.nz - - [22/Apr/2009:18:52:51 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 1020 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-530.optus.com.au - - [22/Apr/2009:18:52:51 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 244 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-465.telstra.com.au - - [22/Apr/2009:18:52:51 +1200] "GET /gallery.php?section=entertainment HTTP/1.0" 200 58636 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-435.dialup.xtra.co.nz - - [22/Apr/2009:18:52:51 +1200] "GET /adclick.php?c=LME2 HTTP/1.1" 302 378 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-435.dialup.xtra.co.nz - - [22/Apr/2009:18:52:51 +1200] "GET /images/ad/RH4Y.jpeg HTTP/1.1" 200 1031 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-435.dialup.xtra.co.nz - - [22/Apr/2009:18:52:51 +1200] "GET /images/favicon.ico HTTP/1.1" 200 2824 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-435.dialup.xtra.co.nz - - [22/Apr/2009:18:52:51 +1200] "GET /adclick.php?c=GD52 HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-435.dialup.xtra.co.nz - - [22/Apr/2009:18:52:51 +1200] "GET /stories.php?date=yesterday HTTP/1.1" 200 4231 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-435.dialup.xtra.co.nz - - [22/Apr/2009:18:52:51 +1200] "GET /latest.php HTTP/1.1" 200 991 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-622.dsl.clear.net.nz - - [22/Apr/2009:18:52:51 +1200] "GET /latest-news.rss HTTP/1.0" 200 7199 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.115.109.123 - - [22/Apr/2009:18:52:51 +1200] "GET /stories.php?date=yesterday HTTP/1.1" 200 48385 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-435.dialup.xtra.co.nz - - [22/Apr/2009:18:52:51 +1200] "GET /images/ad/A94L.jpeg HTTP/1.1" 200 5612 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-435.dialup.xtra.co.nz - - [22/Apr/2009:18:52:52 +1200] "GET /crossdomain.xml HTTP/1.1" 200 698 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.30.102.238 - - [22/Apr/2009:18:52:52 +1200] "GET /stories/politics/080201/41.htm HTTP/1.1" 200 73719 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-364.ihug.co.nz - - [22/Apr/2009:18:52:52 +1200] "GET /latest.php?category=business HTTP/1.0" 200 6446 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.126.158.42 - - [22/Apr/2009:18:52:53 +1200] "GET /gallery.php?section=sport HTTP/1.1" 200 6850 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" bot-332.ihug.co.nz - - [22/Apr/2009:18:52:53 +1200] "GET /feedback.php HTTP/1.1" 200 48690 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" bot-332.ihug.co.nz - - [22/Apr/2009:18:52:53 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.30.102.238 - - [22/Apr/2009:18:52:53 +1200] "GET /news.html HTTP/1.1" 200 73021 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:53 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:53 +1200] "GET /faq.html HTTP/1.1" 200 59812 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:54 +1200] "GET /styles/msie6.css HTTP/1.1" 200 2283 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:54 +1200] "GET /styles/msie6.css HTTP/1.1" 200 679 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.30.102.238 - - [22/Apr/2009:18:52:54 +1200] "GET /gallery.php HTTP/1.1" 200 73910 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:54 +1200] "GET /styles/firefox.css HTTP/1.1" 200 758 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:54 +1200] "GET /styles/site.css HTTP/1.1" 200 19 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:54 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-257.telstra.com.au - - [22/Apr/2009:18:52:55 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 3716 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-257.telstra.com.au - - [22/Apr/2009:18:52:55 +1200] "GET /styles/msie7.css HTTP/1.1" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.126.158.42 - - [22/Apr/2009:18:52:55 +1200] "GET /gallery.php?section=sport HTTP/1.1" 200 6481 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:55 +1200] "GET /styles/msie7.css HTTP/1.1" 200 37 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:55 +1200] "GET /styles/msie7.css HTTP/1.1" 200 1693 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:55 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-434.optus.com.au - - [22/Apr/2009:18:52:56 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:56 +1200] "GET /adclick.php?c=2ER3 HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:56 +1200] "GET /images/nav/tab_left_center.gif HTTP/1.1" 200 96 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:56 +1200] "GET /gallery.php?section=sport HTTP/1.1" 200 3032 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.comcast.net - - [22/Apr/2009:18:52:56 +1200] "GET /stories.php?date=2005 HTTP/1.0" 200 6776 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" bot-434.optus.com.au - - [22/Apr/2009:18:52:56 +1200] "GET /stories/sport/070922/52.htm HTTP/1.1" 200 57400 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:56 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 3716 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:56 +1200] "GET /styles/msie7.css HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:57 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 261 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:57 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 966 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:57 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 139 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-737.telstra.com.au - - [22/Apr/2009:18:52:57 +1200] "GET /news.html HTTP/1.0" 200 47838 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy.aol.com - - [22/Apr/2009:18:52:57 +1200] "GET /stories/world/080201/47.htm HTTP/1.1" 200 67900 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:57 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 897 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.115.109.123 - - [22/Apr/2009:18:52:57 +1200] "GET /news.html HTTP/1.1" 200 58598 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:57 +1200] "GET /images/ad/N4FQ.jpeg HTTP/1.1" 200 914 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:57 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 957 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:57 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 915 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:57 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 836 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:57 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 831 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:57 +1200] "GET /images/ad/FDE4.jpeg HTTP/1.1" 200 1196 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:57 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 313 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:57 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1657 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:57 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 2834 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-736.paradise.net.nz - - [22/Apr/2009:18:52:58 +1200] "GET /news.html HTTP/1.0" 200 47905 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:58 +1200] "GET /images/ad/NXM2.jpeg HTTP/1.1" 200 1016 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.177.170.107 - - [22/Apr/2009:18:52:58 +1200] "GET /stories/science/080325/82.htm HTTP/1.1" 200 0 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:58 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 874 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.30.102.238 - - [22/Apr/2009:18:52:58 +1200] "GET /news.html HTTP/1.1" 200 74181 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:58 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 181 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.48.147.2 - - [22/Apr/2009:18:52:58 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-364.ihug.co.nz - - [22/Apr/2009:18:52:58 +1200] "GET /stories.php HTTP/1.0" 200 6664 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-716.ihug.co.nz - - [22/Apr/2009:18:52:58 +1200] "GET /stories/world/080201/47.htm HTTP/1.0" 200 58002 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.30.102.238 - - [22/Apr/2009:18:52:58 +1200] "GET /gallery.php?section=sport HTTP/1.1" 200 59606 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:58 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 988 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:58 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 986 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.30.102.238 - - [22/Apr/2009:18:52:58 +1200] "GET /news.html HTTP/1.1" 200 74179 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-672.paradise.net.nz - - [22/Apr/2009:18:52:58 +1200] "GET /news.html HTTP/1.0" 200 57831 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.234.247.139 - - [22/Apr/2009:18:52:59 +1200] "GET /latest.php?category=national HTTP/1.1" 200 6513 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:59 +1200] "GET /adclick.php?c=10S2 HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:59 +1200] "GET /adclick.php?c=LME2 HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:59 +1200] "GET /images/photos/534.jpg HTTP/1.1" 200 1370 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:59 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 1362 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy.aol.com - - [22/Apr/2009:18:52:59 +1200] "GET /feedback.php HTTP/1.1" 200 59180 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:59 +1200] "GET /news.html HTTP/1.1" 200 1372 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.aol.com - - [22/Apr/2009:18:52:59 +1200] "GET /gallery.php?section=sport HTTP/1.0" 200 67537 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:52:59 +1200] "GET /stories.php HTTP/1.1" 200 3700 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-454.crawl.yahoo.net - - [22/Apr/2009:18:52:59 +1200] "GET /news.html HTTP/1.0" 200 49705 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:53:00 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 1004 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:53:00 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 1084 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.30.102.238 - - [22/Apr/2009:18:53:00 +1200] "GET /latest.php?category=business HTTP/1.1" 200 115828 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:53:00 +1200] "GET /images/ad/RH4Y.jpeg HTTP/1.1" 200 1017 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:53:00 +1200] "GET /adclick.php?c=3ERO HTTP/1.1" 302 376 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:53:00 +1200] "GET /adclick.php?c=NT4P HTTP/1.1" 302 377 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:53:00 +1200] "GET /adclick.php?c=X3HG HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-476.ihug.co.nz - - [22/Apr/2009:18:53:00 +1200] "GET /latest.php?category=national HTTP/1.1" 206 28853 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:53:00 +1200] "GET /stories/entertainment/070801/34.htm HTTP/1.1" 200 989 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:53:01 +1200] "GET /news.html HTTP/1.1" 200 4230 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:53:01 +1200] "GET /currency.php HTTP/1.1" 200 698 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-332.ihug.co.nz - - [22/Apr/2009:18:53:01 +1200] "GET /styles/msie6.css HTTP/1.1" 200 2283 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:53:01 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 279 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-332.ihug.co.nz - - [22/Apr/2009:18:53:01 +1200] "GET /styles/msie6.css HTTP/1.1" 200 679 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-487.ask.com - - [22/Apr/2009:18:53:01 +1200] "GET /stories/business/070301/63.htm HTTP/1.0" 200 6545 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.30.102.238 - - [22/Apr/2009:18:53:01 +1200] "GET /feedback.html HTTP/1.1" 404 37 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:53:01 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 245 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:01 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:01 +1200] "GET /business-news.rss HTTP/1.1" 200 56695 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:53:01 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 1020 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-690.optus.com.au - - [22/Apr/2009:18:53:01 +1200] "GET /stories.php HTTP/1.0" 200 50195 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:53:01 +1200] "GET /images/favicon.ico HTTP/1.1" 200 2824 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-719.bellsouth.net - - [22/Apr/2009:18:53:01 +1200] "GET /images/ad/A94L.jpeg HTTP/1.1" 200 5612 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:02 +1200] "GET /styles/msie6.css HTTP/1.1" 200 2283 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" bot-332.ihug.co.nz - - [22/Apr/2009:18:53:02 +1200] "GET /styles/firefox.css HTTP/1.1" 200 758 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:02 +1200] "GET /styles/site.css HTTP/1.1" 200 19 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.48.147.2 - - [22/Apr/2009:18:53:02 +1200] "GET /styles/msie6.css HTTP/1.1" 200 679 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" bot-332.ihug.co.nz - - [22/Apr/2009:18:53:02 +1200] "GET /styles/site.css HTTP/1.1" 200 19 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:02 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" bot-332.ihug.co.nz - - [22/Apr/2009:18:53:02 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:02 +1200] "GET /styles/msie7.css HTTP/1.1" 200 37 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:02 +1200] "GET /styles/msie7.css HTTP/1.1" 200 1693 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:02 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:02 +1200] "GET /adclick.php?c=TG3A HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.48.147.2 - - [22/Apr/2009:18:53:02 +1200] "GET /styles/firefox.css HTTP/1.1" 200 758 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:02 +1200] "GET /images/nav/tab_left_center.gif HTTP/1.1" 200 96 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:02 +1200] "GET /news.html HTTP/1.1" 200 3032 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.183.136.194 - - [22/Apr/2009:18:53:02 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 3716 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:03 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 3716 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:03 +1200] "GET /styles/msie7.css HTTP/1.1" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.209.140.45 - - [22/Apr/2009:18:53:03 +1200] "GET /gallery.php?section=entertainment HTTP/1.1" 200 105216 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:03 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 261 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.209.140.45 - - [22/Apr/2009:18:53:03 +1200] "GET /news.html HTTP/1.1" 200 107071 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:03 +1200] "GET /images/ad/NXM2.jpeg HTTP/1.1" 200 1016 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:03 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 874 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:03 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 181 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:03 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 966 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:03 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 139 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:03 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 897 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:03 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 915 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:03 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 957 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.48.147.2 - - [22/Apr/2009:18:53:03 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.196.179.98 - - [22/Apr/2009:18:53:03 +1200] "GET /styles/msie6.css HTTP/1.0" 304 - "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.196.179.98 - - [22/Apr/2009:18:53:03 +1200] "GET /styles/msie6.css HTTP/1.0" 304 - "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.196.179.98 - - [22/Apr/2009:18:53:03 +1200] "GET /latest.php?category=national HTTP/1.0" 304 - "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:03 +1200] "GET /images/ad/N4FQ.jpeg HTTP/1.1" 200 914 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:03 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 836 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:03 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 313 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-364.ihug.co.nz - - [22/Apr/2009:18:53:03 +1200] "GET /news.html HTTP/1.0" 200 6971 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:03 +1200] "GET /images/ad/FDE4.jpeg HTTP/1.1" 200 1196 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:03 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 831 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.30.102.238 - - [22/Apr/2009:18:53:03 +1200] "GET /stories/business/070801/12.htm HTTP/1.1" 200 120794 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-332.ihug.co.nz - - [22/Apr/2009:18:53:03 +1200] "GET /styles/msie7.css HTTP/1.1" 200 37 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:04 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1657 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" bot-332.ihug.co.nz - - [22/Apr/2009:18:53:04 +1200] "GET /styles/msie7.css HTTP/1.1" 200 1693 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.30.102.238 - - [22/Apr/2009:18:53:04 +1200] "GET /feedback.html HTTP/1.1" 404 37 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:04 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 2834 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" bot-332.ihug.co.nz - - [22/Apr/2009:18:53:04 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:04 +1200] "GET /adclick.php?c=EB2Q HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:04 +1200] "GET /adclick.php?c=AG3F HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.169.133.249 - - [22/Apr/2009:18:53:04 +1200] "GET /adclick.php?c=NT4P HTTP/1.1" 302 349 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.169.133.249 - - [22/Apr/2009:18:53:04 +1200] "GET /adclick.php?c=AW2M HTTP/1.1" 302 349 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:04 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 988 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.196.179.98 - - [22/Apr/2009:18:53:04 +1200] "GET /styles/site.css HTTP/1.0" 304 - "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.196.179.98 - - [22/Apr/2009:18:53:04 +1200] "GET /js/adclient.js HTTP/1.0" 200 5993 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:04 +1200] "GET /stories/national/070309/19.htm HTTP/1.1" 200 3699 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:04 +1200] "GET /gallery.php?section=entertainment HTTP/1.1" 200 2031 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.169.133.249 - - [22/Apr/2009:18:53:04 +1200] "GET /adclick.php?c=AG3F HTTP/1.1" 302 349 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.169.133.249 - - [22/Apr/2009:18:53:04 +1200] "GET /latest.php?category=business HTTP/1.1" 200 330 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.196.179.98 - - [22/Apr/2009:18:53:04 +1200] "GET /gallery.php?section=business HTTP/1.0" 200 60660 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:04 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 986 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" bot-332.ihug.co.nz - - [22/Apr/2009:18:53:04 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:05 +1200] "GET /adclick.php?c=10S2 HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.169.133.249 - - [22/Apr/2009:18:53:05 +1200] "GET /news.html HTTP/1.1" 200 2666 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" bot-332.ihug.co.nz - - [22/Apr/2009:18:53:05 +1200] "GET /news.html HTTP/1.1" 200 3032 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.169.133.249 - - [22/Apr/2009:18:53:05 +1200] "GET /adclick.php?c=AW2M HTTP/1.1" 302 349 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:05 +1200] "GET /adclick.php?c=GD52 HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:05 +1200] "GET /adclick.php?c=X3HG HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" bot-332.ihug.co.nz - - [22/Apr/2009:18:53:05 +1200] "GET /images/nav/tab_left_center.gif HTTP/1.1" 200 96 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:05 +1200] "GET /news.html HTTP/1.1" 200 1868 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.169.133.249 - - [22/Apr/2009:18:53:05 +1200] "GET /stories.php HTTP/1.1" 200 330 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:05 +1200] "GET /stories/national/080201/1.htm HTTP/1.1" 200 4231 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.169.133.249 - - [22/Apr/2009:18:53:05 +1200] "GET /latest.php?category=national HTTP/1.1" 200 330 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" bot-332.ihug.co.nz - - [22/Apr/2009:18:53:05 +1200] "GET /styles/msie7.css HTTP/1.1" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:05 +1200] "GET /latest.php?category=business HTTP/1.1" 200 630 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:05 +1200] "GET /latest.php HTTP/1.1" 200 698 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.196.179.98 - - [22/Apr/2009:18:53:05 +1200] "GET /styles/msie7.css HTTP/1.0" 304 - "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.196.179.98 - - [22/Apr/2009:18:53:05 +1200] "GET /styles/msie7.css HTTP/1.0" 304 - "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.196.179.98 - - [22/Apr/2009:18:53:05 +1200] "GET /js/menu.js HTTP/1.0" 200 6377 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-427.jetstream.xtra.co.nz - - [22/Apr/2009:18:53:05 +1200] "GET /stories/politics/080201/41.htm HTTP/1.0" 200 55041 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:05 +1200] "GET /styles/ie4.css HTTP/1.1" 200 3387 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-476.ihug.co.nz - - [22/Apr/2009:18:53:05 +1200] "GET /latest.php?category=national HTTP/1.1" 206 14635 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:05 +1200] "GET /latest.php?category=politics HTTP/1.1" 200 1450 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:06 +1200] "GET /images/favicon.ico HTTP/1.1" 200 2824 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.30.102.238 - - [22/Apr/2009:18:53:06 +1200] "GET /stories/politics/080201/49.htm HTTP/1.1" 200 68977 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:06 +1200] "GET /images/ad/A94L.jpeg HTTP/1.1" 200 5612 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:06 +1200] "GET /styles/site.css HTTP/1.1" 200 3396 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:06 +1200] "GET /images/ad/A94L.jpeg HTTP/1.1" 200 997 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.240.42.25 - - [22/Apr/2009:18:53:06 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-739.dialup.xtra.co.nz - - [22/Apr/2009:18:53:06 +1200] "GET /news.html HTTP/1.1" 200 32800 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:06 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 1130 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:06 +1200] "GET /images/nav/tab_right_middle.gif HTTP/1.1" 200 1012 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:06 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 279 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:06 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 245 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-632.comcast.net - - [22/Apr/2009:18:53:06 +1200] "GET /stories/national/070309/19.htm HTTP/1.0" 200 59026 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:06 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 1020 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-569.global-gateway.net.nz - - [22/Apr/2009:18:53:06 +1200] "GET /stories/politics/080201/49.htm HTTP/1.1" 200 1817 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:06 +1200] "GET /robots.txt HTTP/1.1" 404 27 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy.googlebot.com - - [22/Apr/2009:18:53:06 +1200] "GET /gallery.php?section=health HTTP/1.0" 200 58165 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:06 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 1405 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:06 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 204 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-748.ihug.co.nz - - [22/Apr/2009:18:53:07 +1200] "GET /adclick.php?c=PBNI HTTP/1.0" 302 368 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:07 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 2048 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-367.bellsouth.net - - [22/Apr/2009:18:53:07 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 244 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.240.42.25 - - [22/Apr/2009:18:53:07 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-476.ihug.co.nz - - [22/Apr/2009:18:53:07 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.30.102.238 - - [22/Apr/2009:18:53:07 +1200] "GET /stories.php?date=2006 HTTP/1.1" 200 82859 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.30.102.238 - - [22/Apr/2009:18:53:07 +1200] "GET /stories/world/070801/12.htm HTTP/1.1" 200 98774 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.30.102.238 - - [22/Apr/2009:18:53:07 +1200] "GET /stories/sport/080314/24.htm HTTP/1.1" 200 48633 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.196.179.98 - - [22/Apr/2009:18:53:07 +1200] "GET /gallery.php HTTP/1.0" 200 3021 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.240.42.25 - - [22/Apr/2009:18:53:08 +1200] "GET /adclick.php?c=AW2M HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:08 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.240.42.25 - - [22/Apr/2009:18:53:08 +1200] "GET /stories/politics/060301/22.htm HTTP/1.1" 200 99632 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-257.telstra.com.au - - [22/Apr/2009:18:53:08 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 261 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:53:08 +1200] "GET /latest.php?category=business HTTP/1.0" 200 51280 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:53:08 +1200] "GET /latest.php?category=national HTTP/1.0" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.196.179.98 - - [22/Apr/2009:18:53:08 +1200] "GET /styles/msie7.css HTTP/1.0" 304 - "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.240.42.25 - - [22/Apr/2009:18:53:08 +1200] "GET /stories.php?date=yesterday HTTP/1.1" 200 3032 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-748.ihug.co.nz - - [22/Apr/2009:18:53:09 +1200] "GET /adclick.php?c=10S2 HTTP/1.0" 302 367 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-748.ihug.co.nz - - [22/Apr/2009:18:53:09 +1200] "GET /adclick.php?c=YI32 HTTP/1.0" 302 367 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-364.ihug.co.nz - - [22/Apr/2009:18:53:09 +1200] "GET /stories/business/070301/63.htm HTTP/1.0" 200 659 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:09 +1200] "GET /styles/msie6.css HTTP/1.1" 200 2283 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:09 +1200] "GET /styles/site.css HTTP/1.1" 200 19 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:09 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:09 +1200] "GET /styles/msie7.css HTTP/1.1" 200 37 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.196.179.98 - - [22/Apr/2009:18:53:09 +1200] "GET /stories.php HTTP/1.0" 200 3688 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:09 +1200] "GET /styles/msie7.css HTTP/1.1" 200 1693 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:53:10 +1200] "GET /styles/msie6.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.196.179.98 - - [22/Apr/2009:18:53:10 +1200] "GET /stories.php HTTP/1.0" 200 2019 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:10 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-748.ihug.co.nz - - [22/Apr/2009:18:53:10 +1200] "GET /adclick.php?c=NT4P HTTP/1.0" 302 365 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.86.178.69 - - [22/Apr/2009:18:53:10 +1200] "GET /news.html HTTP/1.1" 200 32800 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:10 +1200] "GET /adclick.php?c=AW2M HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:10 +1200] "GET /news.html HTTP/1.1" 200 107069 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-748.ihug.co.nz - - [22/Apr/2009:18:53:10 +1200] "GET /adclick.php?c=3ERO HTTP/1.0" 302 364 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:10 +1200] "GET /stories.php?date=yesterday HTTP/1.1" 200 3032 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:10 +1200] "GET /styles/msie7.css HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-657.telstra.com.au - - [22/Apr/2009:18:53:10 +1200] "GET /stories/politics/080201/49.htm HTTP/1.1" 200 68979 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:53:10 +1200] "GET /styles/site.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-748.ihug.co.nz - - [22/Apr/2009:18:53:10 +1200] "GET /adclick.php?c=JAKL HTTP/1.0" 302 367 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.196.179.98 - - [22/Apr/2009:18:53:11 +1200] "GET /news.html HTTP/1.0" 200 4217 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.196.179.98 - - [22/Apr/2009:18:53:11 +1200] "GET /stories/entertainment/070801/34.htm HTTP/1.0" 200 977 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" crawler.aol.com - - [22/Apr/2009:18:53:11 +1200] "GET /styles/site.css HTTP/1.1" 200 19 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:11 +1200] "GET /styles/msie6.css HTTP/1.1" 200 2283 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-418.optus.com.au - - [22/Apr/2009:18:53:11 +1200] "GET /stories/sport/070922/52.htm HTTP/1.0" 200 32768 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-657.telstra.com.au - - [22/Apr/2009:18:53:11 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-657.telstra.com.au - - [22/Apr/2009:18:53:11 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:11 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:53:11 +1200] "GET /styles/msie7.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-657.telstra.com.au - - [22/Apr/2009:18:53:11 +1200] "GET /adclick.php?c=PBNI HTTP/1.1" 302 380 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-657.telstra.com.au - - [22/Apr/2009:18:53:11 +1200] "GET /stories/entertainment/061105/30.htm HTTP/1.1" 200 3033 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.196.179.98 - - [22/Apr/2009:18:53:11 +1200] "GET /links.html HTTP/1.0" 200 686 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" crawler.aol.com - - [22/Apr/2009:18:53:11 +1200] "GET /gallery.php?section=entertainment HTTP/1.1" 200 88596 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-657.telstra.com.au - - [22/Apr/2009:18:53:11 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-657.telstra.com.au - - [22/Apr/2009:18:53:12 +1200] "GET /adclick.php?c=TG3A HTTP/1.1" 302 380 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-657.telstra.com.au - - [22/Apr/2009:18:53:12 +1200] "GET /adclick.php?c=LME2 HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:12 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:12 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 244 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-657.telstra.com.au - - [22/Apr/2009:18:53:12 +1200] "GET /adclick.php?c=3ERO HTTP/1.1" 302 376 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-657.telstra.com.au - - [22/Apr/2009:18:53:12 +1200] "GET /adclick.php?c=X41R HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.30.102.238 - - [22/Apr/2009:18:53:12 +1200] "GET /currency.php HTTP/1.1" 200 62753 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-657.telstra.com.au - - [22/Apr/2009:18:53:12 +1200] "GET /stories/science/080325/82.htm HTTP/1.1" 200 3700 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.telstra.com.au - - [22/Apr/2009:18:53:12 +1200] "GET /faq.html HTTP/1.0" 200 51422 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-453.googlebot.com - - [22/Apr/2009:18:53:12 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-657.telstra.com.au - - [22/Apr/2009:18:53:12 +1200] "GET /faq.html HTTP/1.1" 200 1371 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:12 +1200] "GET /styles/msie7.css HTTP/1.1" 200 37 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:12 +1200] "GET /styles/msie7.css HTTP/1.1" 200 1693 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:12 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-657.telstra.com.au - - [22/Apr/2009:18:53:12 +1200] "GET /news.html HTTP/1.1" 200 4232 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-314.bitstream.orcon.net.nz - - [22/Apr/2009:18:53:12 +1200] "GET /gallery.php?section=sport HTTP/1.0" 200 6535 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.30.102.238 - - [22/Apr/2009:18:53:12 +1200] "GET /stories/world/080201/47.htm HTTP/1.1" 200 67900 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-454.crawl.yahoo.net - - [22/Apr/2009:18:53:12 +1200] "GET /latest.php HTTP/1.0" 200 48970 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-657.telstra.com.au - - [22/Apr/2009:18:53:12 +1200] "GET /stories/entertainment/070801/34.htm HTTP/1.1" 200 989 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-657.telstra.com.au - - [22/Apr/2009:18:53:12 +1200] "GET /latest.php HTTP/1.1" 200 698 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.48.147.2 - - [22/Apr/2009:18:53:12 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-364.ihug.co.nz - - [22/Apr/2009:18:53:12 +1200] "GET /latest.php?category=national HTTP/1.1" 206 5493 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.aol.com - - [22/Apr/2009:18:53:12 +1200] "GET /images/nav/tab_left_center.gif HTTP/1.1" 200 96 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:12 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-657.telstra.com.au - - [22/Apr/2009:18:53:12 +1200] "GET /news.html HTTP/1.1" 200 1868 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-497.telstra.com.au - - [22/Apr/2009:18:53:12 +1200] "GET /stories/politics/080201/49.htm HTTP/1.0" 200 6457 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-657.telstra.com.au - - [22/Apr/2009:18:53:12 +1200] "GET /robots.txt HTTP/1.1" 404 27 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:13 +1200] "GET /news.html HTTP/1.1" 200 3032 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-453.googlebot.com - - [22/Apr/2009:18:53:13 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:13 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 3716 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:13 +1200] "GET /styles/msie7.css HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:13 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 915 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:13 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 897 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:13 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 139 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-453.googlebot.com - - [22/Apr/2009:18:53:13 +1200] "GET /faq.html HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:14 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 966 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.131.128.127 - - [22/Apr/2009:18:53:14 +1200] "GET /news.html HTTP/1.1" 200 78851 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" crawler.aol.com - - [22/Apr/2009:18:53:14 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 313 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:14 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 836 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.131.128.127 - - [22/Apr/2009:18:53:14 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.131.128.127 - - [22/Apr/2009:18:53:14 +1200] "GET /styles/msie6.css HTTP/1.1" 200 2283 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" crawler.aol.com - - [22/Apr/2009:18:53:14 +1200] "GET /images/ad/N4FQ.jpeg HTTP/1.1" 200 914 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.131.128.127 - - [22/Apr/2009:18:53:14 +1200] "GET /styles/msie6.css HTTP/1.1" 200 679 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" crawler.aol.com - - [22/Apr/2009:18:53:14 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 957 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-520.comcast.net - - [22/Apr/2009:18:53:14 +1200] "GET /news.html HTTP/1.0" 200 58994 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.131.128.127 - - [22/Apr/2009:18:53:14 +1200] "GET /styles/firefox.css HTTP/1.1" 200 758 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.131.128.127 - - [22/Apr/2009:18:53:14 +1200] "GET /styles/site.css HTTP/1.1" 200 19 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" crawler.aol.com - - [22/Apr/2009:18:53:14 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 831 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.131.128.127 - - [22/Apr/2009:18:53:14 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-364.ihug.co.nz - - [22/Apr/2009:18:53:14 +1200] "GET /styles/msie6.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.aol.com - - [22/Apr/2009:18:53:14 +1200] "GET /images/ad/FDE4.jpeg HTTP/1.1" 200 1196 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:14 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 261 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:14 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 874 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:14 +1200] "GET /images/ad/NXM2.jpeg HTTP/1.1" 200 1016 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-364.ihug.co.nz - - [22/Apr/2009:18:53:14 +1200] "GET /latest.php?category=national HTTP/1.0" 200 6630 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.aol.com - - [22/Apr/2009:18:53:14 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 2834 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:14 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1657 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:14 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:14 +1200] "GET /news.html HTTP/1.1" 200 1868 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-364.ihug.co.nz - - [22/Apr/2009:18:53:14 +1200] "GET /styles/msie6.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-453.googlebot.com - - [22/Apr/2009:18:53:14 +1200] "GET /stories.php?date=2007 HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:15 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 181 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.131.128.127 - - [22/Apr/2009:18:53:15 +1200] "GET /styles/msie7.css HTTP/1.1" 200 37 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" crawler.aol.com - - [22/Apr/2009:18:53:15 +1200] "GET /adclick.php?c=EB2Q HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.131.128.127 - - [22/Apr/2009:18:53:15 +1200] "GET /styles/msie7.css HTTP/1.1" 200 1693 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.131.128.127 - - [22/Apr/2009:18:53:15 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" crawler.aol.com - - [22/Apr/2009:18:53:15 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 988 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.131.128.127 - - [22/Apr/2009:18:53:15 +1200] "GET /adclick.php?c=PBNI HTTP/1.1" 302 380 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" crawler.aol.com - - [22/Apr/2009:18:53:15 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 279 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.131.128.127 - - [22/Apr/2009:18:53:15 +1200] "GET /images/nav/tab_left_center.gif HTTP/1.1" 200 96 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-364.ihug.co.nz - - [22/Apr/2009:18:53:15 +1200] "GET /styles/site.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.131.128.127 - - [22/Apr/2009:18:53:15 +1200] "GET /stories/entertainment/061105/30.htm HTTP/1.1" 200 3033 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" crawler.aol.com - - [22/Apr/2009:18:53:15 +1200] "GET /latest.php?category=politics HTTP/1.1" 200 1450 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:15 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 986 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:15 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 1020 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:15 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 245 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:15 +1200] "GET /adclick.php?c=NT4P HTTP/1.1" 302 377 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:15 +1200] "GET /images/nav/tab_right_middle.gif HTTP/1.1" 200 1179 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.131.128.127 - - [22/Apr/2009:18:53:15 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 3716 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.131.128.127 - - [22/Apr/2009:18:53:15 +1200] "GET /styles/msie7.css HTTP/1.1" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" crawler.aol.com - - [22/Apr/2009:18:53:15 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 1061 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:15 +1200] "GET /adclick.php?c=3ERO HTTP/1.1" 302 376 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.131.128.127 - - [22/Apr/2009:18:53:15 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 261 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.131.128.127 - - [22/Apr/2009:18:53:15 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 966 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.131.128.127 - - [22/Apr/2009:18:53:15 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 139 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-364.ihug.co.nz - - [22/Apr/2009:18:53:16 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.131.128.127 - - [22/Apr/2009:18:53:16 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 897 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.131.128.127 - - [22/Apr/2009:18:53:16 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 915 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:16 +1200] "GET /images/nav/tab_left_center.gif HTTP/1.1" 200 96 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.131.128.127 - - [22/Apr/2009:18:53:16 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 957 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.131.128.127 - - [22/Apr/2009:18:53:16 +1200] "GET /images/ad/N4FQ.jpeg HTTP/1.1" 200 914 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" bot-502.crawl.yahoo.net - - [22/Apr/2009:18:53:16 +1200] "GET /adclick.php?c=BDS2 HTTP/1.0" 301 324 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.131.128.127 - - [22/Apr/2009:18:53:16 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 836 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.131.128.127 - - [22/Apr/2009:18:53:16 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 313 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" crawler.aol.com - - [22/Apr/2009:18:53:16 +1200] "GET /images/photos/8834.jpg HTTP/1.1" 200 1642 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:16 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1199 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.78.155.100 - - [22/Apr/2009:18:53:16 +1200] "GET /stories/world/080201/47.htm HTTP/1.1" 200 6304 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.30.102.238 - - [22/Apr/2009:18:53:16 +1200] "GET /stories/world/080201/47.htm HTTP/1.1" 200 67900 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.131.128.127 - - [22/Apr/2009:18:53:16 +1200] "GET /images/ad/FDE4.jpeg HTTP/1.1" 200 1196 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.131.128.127 - - [22/Apr/2009:18:53:16 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 831 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.131.128.127 - - [22/Apr/2009:18:53:16 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1657 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.131.128.127 - - [22/Apr/2009:18:53:16 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 2834 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" crawler.aol.com - - [22/Apr/2009:18:53:16 +1200] "GET /images/ad/A94L.jpeg HTTP/1.1" 200 5612 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:16 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 1376 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.131.128.127 - - [22/Apr/2009:18:53:16 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 986 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" crawler.aol.com - - [22/Apr/2009:18:53:16 +1200] "GET /gallery.php?section=sport HTTP/1.1" 200 4230 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:16 +1200] "GET /stories/entertainment/070801/34.htm HTTP/1.1" 200 989 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-290.optus.com.au - - [22/Apr/2009:18:53:16 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.240.42.25 - - [22/Apr/2009:18:53:16 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 988 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-290.optus.com.au - - [22/Apr/2009:18:53:16 +1200] "GET /adclick.php?c=EB2Q HTTP/1.1" 302 380 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.240.42.25 - - [22/Apr/2009:18:53:16 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 986 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:16 +1200] "GET /adclick.php?c=3ERO HTTP/1.1" 302 376 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:16 +1200] "GET /stories/business/070301/63.htm HTTP/1.1" 200 1370 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:17 +1200] "GET /images/ad/RH4Y.jpeg HTTP/1.1" 200 1031 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:17 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:17 +1200] "GET /news.html HTTP/1.1" 200 107071 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.240.42.25 - - [22/Apr/2009:18:53:17 +1200] "GET /adclick.php?c=EB2Q HTTP/1.1" 302 380 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-364.ihug.co.nz - - [22/Apr/2009:18:53:17 +1200] "GET /styles/msie7.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:17 +1200] "GET /styles/msie6.css HTTP/1.1" 200 2283 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:17 +1200] "GET /images/favicon.ico HTTP/1.1" 200 2824 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.240.42.25 - - [22/Apr/2009:18:53:17 +1200] "GET /latest.php?category=national HTTP/1.1" 200 3700 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:17 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 1610 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:17 +1200] "GET /styles/msie6.css HTTP/1.1" 200 679 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:17 +1200] "GET /images/photos/355.jpg HTTP/1.1" 200 1373 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:17 +1200] "GET /styles/site.css HTTP/1.1" 200 19 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:17 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:17 +1200] "GET /styles/msie7.css HTTP/1.1" 200 37 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:17 +1200] "GET /styles/msie7.css HTTP/1.1" 200 1693 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-290.optus.com.au - - [22/Apr/2009:18:53:17 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:17 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-497.telstra.com.au - - [22/Apr/2009:18:53:17 +1200] "GET /latest.php?category=business HTTP/1.0" 200 6812 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.240.42.25 - - [22/Apr/2009:18:53:17 +1200] "GET /links.html HTTP/1.1" 200 2726 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:17 +1200] "GET /styles/site.css HTTP/1.1" 200 3396 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:17 +1200] "GET /adclick.php?c=PBNI HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:17 +1200] "GET /images/nav/tab_left_center.gif HTTP/1.1" 200 96 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:17 +1200] "GET /adclick.php?c=GD52 HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:17 +1200] "GET /styles/ie4.css HTTP/1.1" 200 3387 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:17 +1200] "GET /news.html HTTP/1.1" 200 3032 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:17 +1200] "GET /styles/msie7.css HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:53:17 +1200] "GET /stories.php?date=2007 HTTP/1.0" 200 50228 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.240.42.25 - - [22/Apr/2009:18:53:17 +1200] "GET /latest.php?category=national HTTP/1.1" 200 3700 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.240.42.25 - - [22/Apr/2009:18:53:17 +1200] "GET /stories.php HTTP/1.1" 200 2032 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.131.128.127 - - [22/Apr/2009:18:53:17 +1200] "GET /adclick.php?c=EB2Q HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" crawler.aol.com - - [22/Apr/2009:18:53:17 +1200] "GET /latest.php?category=national HTTP/1.1" 200 3700 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:17 +1200] "GET /crossdomain.xml HTTP/1.1" 200 698 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-364.ihug.co.nz - - [22/Apr/2009:18:53:17 +1200] "GET /styles/msie7.css HTTP/1.1" 200 1693 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.131.128.127 - - [22/Apr/2009:18:53:17 +1200] "GET /news.html HTTP/1.1" 200 3699 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-476.ihug.co.nz - - [22/Apr/2009:18:53:17 +1200] "GET /latest.php?category=national HTTP/1.1" 206 4798 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:18 +1200] "GET /stories/entertainment/070801/34.htm HTTP/1.1" 200 989 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:18 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 1405 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:18 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 3716 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:18 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 261 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:18 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 204 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:18 +1200] "GET /robots.txt HTTP/1.1" 404 27 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:18 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 966 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:18 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 139 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:18 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 897 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:18 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 957 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:18 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 3716 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:18 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 915 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:18 +1200] "GET /images/ad/N4FQ.jpeg HTTP/1.1" 200 914 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:18 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 313 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:18 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 836 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.aol.com - - [22/Apr/2009:18:53:18 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 2048 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:18 +1200] "GET /images/ad/FDE4.jpeg HTTP/1.1" 200 1196 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:18 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 831 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:18 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1657 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:18 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 2834 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.30.102.238 - - [22/Apr/2009:18:53:18 +1200] "GET /latest.php HTTP/1.1" 200 64579 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-364.ihug.co.nz - - [22/Apr/2009:18:53:18 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.131.128.127 - - [22/Apr/2009:18:53:18 +1200] "GET /latest.php?category=politics HTTP/1.1" 200 1450 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:18 +1200] "GET /images/photos/534.jpg HTTP/1.1" 200 1370 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:18 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 1362 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.125.145.131 - - [22/Apr/2009:18:53:18 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:18 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 988 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:18 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 986 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-520.comcast.net - - [22/Apr/2009:18:53:18 +1200] "GET /latest.php?category=sport HTTP/1.0" 200 58420 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.131.128.127 - - [22/Apr/2009:18:53:18 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 988 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:18 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1199 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:18 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 1061 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy.aol.com - - [22/Apr/2009:18:53:18 +1200] "GET /stories.php?date=2005 HTTP/1.1" 200 58834 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:18 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 279 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:18 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 1020 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:18 +1200] "GET /images/ad/RH4Y.jpeg HTTP/1.1" 200 1031 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:18 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 979 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.131.128.127 - - [22/Apr/2009:18:53:19 +1200] "GET /adclick.php?c=NT4P HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.131.128.127 - - [22/Apr/2009:18:53:19 +1200] "GET /adclick.php?c=3ERO HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:53:19 +1200] "GET /news.html HTTP/1.0" 200 1792 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.131.128.127 - - [22/Apr/2009:18:53:19 +1200] "GET /adclick.php?c=3ERO HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.131.128.127 - - [22/Apr/2009:18:53:19 +1200] "GET /adclick.php?c=X41R HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.131.128.127 - - [22/Apr/2009:18:53:19 +1200] "GET /news.html HTTP/1.1" 200 1868 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:19 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 245 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.131.128.127 - - [22/Apr/2009:18:53:19 +1200] "GET /gallery.php?section=entertainment HTTP/1.1" 200 4232 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.131.128.127 - - [22/Apr/2009:18:53:19 +1200] "GET /gallery.php?section=health HTTP/1.1" 200 991 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:19 +1200] "GET /images/ad/FDE4.jpeg HTTP/1.1" 200 890 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:19 +1200] "GET /images/photos/34.jpg HTTP/1.1" 200 398 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:19 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 988 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.131.128.127 - - [22/Apr/2009:18:53:19 +1200] "GET /latest.php HTTP/1.1" 200 698 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:19 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 261 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.131.128.127 - - [22/Apr/2009:18:53:19 +1200] "GET /gallery.php?section=health HTTP/1.1" 200 991 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:19 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 445 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:19 +1200] "GET /images/ad/NXM2.jpeg HTTP/1.1" 200 1016 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:19 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 966 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:19 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 1004 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:19 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 139 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:53:19 +1200] "GET /stories/weather/070801/33.htm HTTP/1.0" 200 48817 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:19 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 1084 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:19 +1200] "GET /images/ad/RH4Y.jpeg HTTP/1.1" 200 1017 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:19 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 979 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:53:19 +1200] "GET /latest.php?category=national HTTP/1.0" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.131.128.127 - - [22/Apr/2009:18:53:19 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 279 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.125.145.131 - - [22/Apr/2009:18:53:19 +1200] "GET /styles/msie6.css HTTP/1.1" 200 2283 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:19 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 986 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:19 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 445 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:19 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 897 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.131.128.127 - - [22/Apr/2009:18:53:19 +1200] "GET /images/nav/tab_right_middle.gif HTTP/1.1" 200 1179 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:19 +1200] "GET /adclick.php?c=PBNI HTTP/1.1" 302 378 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.131.128.127 - - [22/Apr/2009:18:53:19 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 245 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:19 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 915 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-257.telstra.com.au - - [22/Apr/2009:18:53:19 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 966 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:19 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 957 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:19 +1200] "GET /images/ad/N4FQ.jpeg HTTP/1.1" 200 914 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.125.145.131 - - [22/Apr/2009:18:53:20 +1200] "GET /styles/msie6.css HTTP/1.1" 200 679 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:20 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 836 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.131.128.127 - - [22/Apr/2009:18:53:20 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 1020 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:20 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 313 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.125.145.131 - - [22/Apr/2009:18:53:20 +1200] "GET /stories.php HTTP/1.1" 200 176382 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.30.102.238 - - [22/Apr/2009:18:53:20 +1200] "GET /gallery.php?section=entertainment HTTP/1.1" 200 62531 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.131.128.127 - - [22/Apr/2009:18:53:20 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1199 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" bot-706.optus.com.au - - [22/Apr/2009:18:53:20 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:20 +1200] "GET /news.html HTTP/1.1" 200 4231 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.131.128.127 - - [22/Apr/2009:18:53:20 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 1061 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:20 +1200] "GET /images/ad/FDE4.jpeg HTTP/1.1" 200 1196 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.131.128.127 - - [22/Apr/2009:18:53:20 +1200] "GET /images/ad/RH4Y.jpeg HTTP/1.1" 200 1031 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-364.ihug.co.nz - - [22/Apr/2009:18:53:20 +1200] "GET /stories/business/071203/53.htm HTTP/1.0" 200 6546 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-364.ihug.co.nz - - [22/Apr/2009:18:53:20 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 380 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.131.128.127 - - [22/Apr/2009:18:53:20 +1200] "GET /images/photos/355.jpg HTTP/1.1" 200 1373 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.131.128.127 - - [22/Apr/2009:18:53:20 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 1376 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.125.145.131 - - [22/Apr/2009:18:53:20 +1200] "GET /styles/firefox.css HTTP/1.1" 200 758 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.131.128.127 - - [22/Apr/2009:18:53:20 +1200] "GET /images/favicon.ico HTTP/1.1" 200 2824 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.131.128.127 - - [22/Apr/2009:18:53:20 +1200] "GET /images/ad/A94L.jpeg HTTP/1.1" 200 5612 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.125.145.131 - - [22/Apr/2009:18:53:20 +1200] "GET /styles/site.css HTTP/1.1" 200 19 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.131.128.127 - - [22/Apr/2009:18:53:20 +1200] "GET /styles/site.css HTTP/1.1" 200 3396 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.131.128.127 - - [22/Apr/2009:18:53:20 +1200] "GET /styles/ie4.css HTTP/1.1" 200 3387 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.30.102.238 - - [22/Apr/2009:18:53:20 +1200] "GET /stories.php HTTP/1.1" 200 178008 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.125.145.131 - - [22/Apr/2009:18:53:20 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.131.128.127 - - [22/Apr/2009:18:53:21 +1200] "GET /robots.txt HTTP/1.1" 404 27 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:21 +1200] "GET /adclick.php?c=PBNI HTTP/1.1" 302 378 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.131.128.127 - - [22/Apr/2009:18:53:21 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 1405 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.131.128.127 - - [22/Apr/2009:18:53:21 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 204 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:21 +1200] "GET /news.html HTTP/1.1" 200 4231 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.131.128.127 - - [22/Apr/2009:18:53:21 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 2048 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:53:21 +1200] "GET /styles/msie6.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:21 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 831 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.125.145.131 - - [22/Apr/2009:18:53:21 +1200] "GET /styles/msie7.css HTTP/1.1" 200 37 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:21 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1657 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:21 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 2834 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.125.145.131 - - [22/Apr/2009:18:53:21 +1200] "GET /styles/msie7.css HTTP/1.1" 200 1693 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:53:21 +1200] "GET /news.html HTTP/1.1" 200 75947 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:21 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:21 +1200] "GET /images/favicon.ico HTTP/1.1" 200 2824 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.48.147.2 - - [22/Apr/2009:18:53:21 +1200] "GET /adclick.php?c=2ER3 HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:21 +1200] "GET /images/ad/A94L.jpeg HTTP/1.1" 200 5612 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:53:21 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.125.145.131 - - [22/Apr/2009:18:53:21 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:21 +1200] "GET /images/photos/534.jpg HTTP/1.1" 200 1370 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:53:21 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:22 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 1362 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:53:22 +1200] "GET /adclick.php?c=PBNI HTTP/1.1" 302 380 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:53:22 +1200] "GET /styles/site.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:22 +1200] "GET /stories/entertainment/070801/34.htm HTTP/1.1" 200 698 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:53:22 +1200] "GET /stories/entertainment/061105/30.htm HTTP/1.1" 200 3033 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.125.145.131 - - [22/Apr/2009:18:53:22 +1200] "GET /adclick.php?c=2ER3 HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:22 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1199 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.30.102.238 - - [22/Apr/2009:18:53:22 +1200] "GET /gallery.php?section=entertainment HTTP/1.1" 200 62529 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.125.145.131 - - [22/Apr/2009:18:53:22 +1200] "GET /images/nav/tab_left_center.gif HTTP/1.1" 200 96 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-445.aol.com - - [22/Apr/2009:18:53:22 +1200] "GET /news.html HTTP/1.0" 200 63002 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:22 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 1061 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-706.optus.com.au - - [22/Apr/2009:18:53:22 +1200] "GET /stories/entertainment/061105/30.htm HTTP/1.1" 200 53512 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:22 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 279 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-364.ihug.co.nz - - [22/Apr/2009:18:53:22 +1200] "GET /latest.php HTTP/1.1" 200 3033 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.paradise.net.nz - - [22/Apr/2009:18:53:22 +1200] "GET /latest.php?category=national HTTP/1.0" 200 6630 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:22 +1200] "GET /images/nav/tab_right_middle.gif HTTP/1.1" 200 1179 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:53:22 +1200] "GET /styles/msie7.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:22 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 245 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:22 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 1376 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.125.145.131 - - [22/Apr/2009:18:53:22 +1200] "GET /gallery.php?section=sport HTTP/1.1" 200 3032 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:22 +1200] "GET /images/photos/355.jpg HTTP/1.1" 200 1373 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.167.177.176 - - [22/Apr/2009:18:53:22 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.125.145.131 - - [22/Apr/2009:18:53:23 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 3716 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.125.145.131 - - [22/Apr/2009:18:53:23 +1200] "GET /styles/msie7.css HTTP/1.1" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:23 +1200] "GET /images/photos/355.jpg HTTP/1.1" 200 1350 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:23 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 1352 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-420.aol.com - - [22/Apr/2009:18:53:23 +1200] "GET /news.html HTTP/1.0" 200 98304 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.125.145.131 - - [22/Apr/2009:18:53:23 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 261 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.125.145.131 - - [22/Apr/2009:18:53:23 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 139 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.125.145.131 - - [22/Apr/2009:18:53:23 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 915 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.125.145.131 - - [22/Apr/2009:18:53:23 +1200] "GET /images/ad/N4FQ.jpeg HTTP/1.1" 200 914 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.125.145.131 - - [22/Apr/2009:18:53:23 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 966 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.125.145.131 - - [22/Apr/2009:18:53:23 +1200] "GET /images/ad/FDE4.jpeg HTTP/1.1" 200 1196 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.125.145.131 - - [22/Apr/2009:18:53:23 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1657 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.125.145.131 - - [22/Apr/2009:18:53:23 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 897 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.125.145.131 - - [22/Apr/2009:18:53:23 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 836 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.125.145.131 - - [22/Apr/2009:18:53:23 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 957 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.125.145.131 - - [22/Apr/2009:18:53:23 +1200] "GET /images/favicon.ico HTTP/1.1" 200 860 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.125.145.131 - - [22/Apr/2009:18:53:23 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 313 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.125.145.131 - - [22/Apr/2009:18:53:23 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 831 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.125.145.131 - - [22/Apr/2009:18:53:23 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 2834 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.125.145.131 - - [22/Apr/2009:18:53:23 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 986 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-410.bitstream.orcon.net.nz - - [22/Apr/2009:18:53:23 +1200] "GET /stories/weather/070801/33.htm HTTP/1.1" 200 49102 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:23 +1200] "GET /images/ad/RH4Y.jpeg HTTP/1.1" 200 1031 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-420.aol.com - - [22/Apr/2009:18:53:23 +1200] "GET /feedback.html HTTP/1.0" 404 25 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:23 +1200] "GET /images/photos/34.jpg HTTP/1.1" 200 398 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.245.112.114 - - [22/Apr/2009:18:53:23 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:23 +1200] "GET /adclick.php?c=H34K HTTP/1.1" 302 380 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.167.177.176 - - [22/Apr/2009:18:53:23 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:23 +1200] "GET /stories/science/070922/33.htm HTTP/1.1" 200 699 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:23 +1200] "GET /images/ad/FDE4.jpeg HTTP/1.1" 200 890 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:23 +1200] "GET /images/favicon.ico HTTP/1.1" 200 2824 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.125.145.131 - - [22/Apr/2009:18:53:23 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:23 +1200] "GET /images/ad/A94L.jpeg HTTP/1.1" 200 5612 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-257.telstra.com.au - - [22/Apr/2009:18:53:24 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 897 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:24 +1200] "GET /images/ad/NXM2.jpeg HTTP/1.1" 200 1016 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:24 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 1004 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-569.global-gateway.net.nz - - [22/Apr/2009:18:53:24 +1200] "GET /latest.php?category=business HTTP/1.1" 200 59071 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:24 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 1084 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.125.145.131 - - [22/Apr/2009:18:53:24 +1200] "GET /latest.php?category=national HTTP/1.1" 200 3700 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:24 +1200] "GET /images/ad/RH4Y.jpeg HTTP/1.1" 200 1017 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.245.112.114 - - [22/Apr/2009:18:53:24 +1200] "GET /gallery.php?section=health HTTP/1.1" 200 56816 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:53:24 +1200] "GET /news.html HTTP/1.1" 200 1868 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:24 +1200] "GET /images/nav/tab_right_middle.gif HTTP/1.1" 200 1179 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:53:24 +1200] "GET /robots.txt HTTP/1.1" 404 27 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:53:24 +1200] "GET /stories.php?date=2007 HTTP/1.0" 200 59519 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:24 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 1376 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-434.optus.com.au - - [22/Apr/2009:18:53:24 +1200] "GET /latest.php?category=politics HTTP/1.1" 200 1450 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:24 +1200] "GET /images/photos/355.jpg HTTP/1.1" 200 1373 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:53:24 +1200] "GET /latest.php?category=national HTTP/1.0" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.167.177.176 - - [22/Apr/2009:18:53:24 +1200] "GET /adclick.php?c=PBNI HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:24 +1200] "GET /images/photos/355.jpg HTTP/1.1" 200 1350 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:24 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 349 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:53:24 +1200] "GET /news.html HTTP/1.0" 200 49677 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:24 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 1352 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:53:25 +1200] "GET /latest.php?category=national HTTP/1.0" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-257.telstra.com.au - - [22/Apr/2009:18:53:25 +1200] "GET /adclick.php?c=LME2 HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-364.ihug.co.nz - - [22/Apr/2009:18:53:25 +1200] "GET /stories/business/070801/12.htm HTTP/1.1" 200 120794 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.167.177.176 - - [22/Apr/2009:18:53:25 +1200] "GET /adclick.php?c=10S2 HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.167.177.176 - - [22/Apr/2009:18:53:25 +1200] "GET /news.html HTTP/1.1" 200 3032 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-420.aol.com - - [22/Apr/2009:18:53:25 +1200] "GET /latest.php?category=business HTTP/1.0" 200 50455 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-364.ihug.co.nz - - [22/Apr/2009:18:53:25 +1200] "GET /news.html HTTP/1.0" 200 6412 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:53:25 +1200] "GET /adclick.php?c=AW2M HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.167.177.176 - - [22/Apr/2009:18:53:25 +1200] "GET /gallery.php?section=entertainment HTTP/1.1" 200 698 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:53:25 +1200] "GET /stories.php HTTP/1.1" 200 3699 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:53:25 +1200] "GET /styles/msie6.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-364.ihug.co.nz - - [22/Apr/2009:18:53:26 +1200] "GET /images/nav/tab_left_center.gif HTTP/1.1" 200 96 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-258.optus.com.au - - [22/Apr/2009:18:53:26 +1200] "GET /stories.php HTTP/1.0" 200 45283 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy.paradise.net.nz - - [22/Apr/2009:18:53:26 +1200] "GET /crossdomain.xml HTTP/1.0" 200 6864 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:53:26 +1200] "GET /styles/msie6.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.167.177.176 - - [22/Apr/2009:18:53:26 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 378 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:53:26 +1200] "GET /styles/site.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.167.177.176 - - [22/Apr/2009:18:53:26 +1200] "GET /adclick.php?c=AW2M HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.96.84.33 - - [22/Apr/2009:18:53:26 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-257.telstra.com.au - - [22/Apr/2009:18:53:26 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 915 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.48.147.2 - - [22/Apr/2009:18:53:26 +1200] "GET /gallery.php?section=sport HTTP/1.1" 200 3032 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:53:26 +1200] "GET /styles/site.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:53:26 +1200] "GET /styles/msie7.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.167.177.176 - - [22/Apr/2009:18:53:27 +1200] "GET /stories/business/071203/53.htm HTTP/1.1" 200 3699 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.125.145.131 - - [22/Apr/2009:18:53:27 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.30.102.238 - - [22/Apr/2009:18:53:27 +1200] "GET /stories/politics/080201/49.htm HTTP/1.1" 200 39131 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.bellsouth.net - - [22/Apr/2009:18:53:27 +1200] "GET /news.html HTTP/1.1" 200 6425 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" 192.167.177.176 - - [22/Apr/2009:18:53:27 +1200] "GET /news.html HTTP/1.1" 200 2725 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:27 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy.bellsouth.net - - [22/Apr/2009:18:53:27 +1200] "GET /stories/business/070201/7.htm HTTP/1.0" 200 5880 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.125.145.131 - - [22/Apr/2009:18:53:27 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1199 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.125.145.131 - - [22/Apr/2009:18:53:27 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 279 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.aol.com - - [22/Apr/2009:18:53:27 +1200] "GET /adclick.php?c=GD52 HTTP/1.0" 301 324 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.125.145.131 - - [22/Apr/2009:18:53:27 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 245 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.125.145.131 - - [22/Apr/2009:18:53:27 +1200] "GET /images/ad/RH4Y.jpeg HTTP/1.1" 200 1031 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.125.145.131 - - [22/Apr/2009:18:53:27 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 1061 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.125.145.131 - - [22/Apr/2009:18:53:27 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 988 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.125.145.131 - - [22/Apr/2009:18:53:27 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 1020 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.125.145.131 - - [22/Apr/2009:18:53:27 +1200] "GET /adclick.php?c=LME2 HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.125.145.131 - - [22/Apr/2009:18:53:27 +1200] "GET /images/favicon.ico HTTP/1.1" 200 2824 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:27 +1200] "GET /faq.html HTTP/1.1" 200 330 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.125.145.131 - - [22/Apr/2009:18:53:27 +1200] "GET /adclick.php?c=X3HG HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.125.145.131 - - [22/Apr/2009:18:53:27 +1200] "GET /images/ad/A94L.jpeg HTTP/1.1" 200 5612 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.125.145.131 - - [22/Apr/2009:18:53:27 +1200] "GET /stories.php?date=yesterday HTTP/1.1" 200 4231 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:53:27 +1200] "GET /styles/msie7.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-484.aol.com - - [22/Apr/2009:18:53:27 +1200] "GET /stories/business/070801/12.htm HTTP/1.0" 200 58909 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.125.145.131 - - [22/Apr/2009:18:53:27 +1200] "GET /latest.php HTTP/1.1" 200 991 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.125.145.131 - - [22/Apr/2009:18:53:27 +1200] "GET /currency.php HTTP/1.1" 200 698 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:53:27 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 244 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.48.147.2 - - [22/Apr/2009:18:53:27 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 139 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" bot-706.optus.com.au - - [22/Apr/2009:18:53:27 +1200] "GET /styles/msie6.css HTTP/1.1" 200 2283 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" 192.48.147.2 - - [22/Apr/2009:18:53:28 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 915 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.crawl.yahoo.net - - [22/Apr/2009:18:53:28 +1200] "GET /news.html HTTP/1.1" 200 58525 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.167.177.176 - - [22/Apr/2009:18:53:28 +1200] "GET /adclick.php?c=X41R HTTP/1.1" 302 378 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:53:28 +1200] "GET /latest.php?category=politics HTTP/1.1" 200 1450 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" crawler.crawl.yahoo.net - - [22/Apr/2009:18:53:28 +1200] "GET /stories/world/080201/47.htm HTTP/1.1" 200 67902 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.39.35.118 - - [22/Apr/2009:18:53:28 +1200] "GET /news.html HTTP/1.1" 200 6425 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.167.177.176 - - [22/Apr/2009:18:53:28 +1200] "GET /adclick.php?c=GD52 HTTP/1.1" 302 377 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.30.102.238 - - [22/Apr/2009:18:53:28 +1200] "GET /stories/weather/070801/33.htm HTTP/1.1" 200 56561 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:53:28 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:53:28 +1200] "GET /latest.php HTTP/1.1" 200 58478 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-364.ihug.co.nz - - [22/Apr/2009:18:53:28 +1200] "GET /styles/msie7.css HTTP/1.1" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" bot-706.optus.com.au - - [22/Apr/2009:18:53:28 +1200] "GET /styles/msie6.css HTTP/1.1" 200 679 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:53:28 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.48.147.2 - - [22/Apr/2009:18:53:28 +1200] "GET /adclick.php?c=TG3A HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:53:28 +1200] "GET /adclick.php?c=AW2M HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:53:28 +1200] "GET /stories.php?date=yesterday HTTP/1.1" 200 3032 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.48.147.2 - - [22/Apr/2009:18:53:28 +1200] "GET /adclick.php?c=EB2Q HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.167.177.176 - - [22/Apr/2009:18:53:29 +1200] "GET /stories/politics/080201/49.htm HTTP/1.1" 200 4231 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-706.optus.com.au - - [22/Apr/2009:18:53:29 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" 192.167.177.176 - - [22/Apr/2009:18:53:29 +1200] "GET /stories.php?date=2006 HTTP/1.1" 200 990 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-706.optus.com.au - - [22/Apr/2009:18:53:29 +1200] "GET /styles/site.css HTTP/1.1" 200 19 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" 192.48.147.2 - - [22/Apr/2009:18:53:29 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 957 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-521.global-gateway.net.nz - - [22/Apr/2009:18:53:29 +1200] "GET /news.html HTTP/1.0" 200 49220 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.48.147.2 - - [22/Apr/2009:18:53:29 +1200] "GET /currency.php HTTP/1.1" 200 3699 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.dialup.xtra.co.nz - - [22/Apr/2009:18:53:29 +1200] "GET /adclick.php?c=X41R HTTP/1.1" 301 336 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-706.optus.com.au - - [22/Apr/2009:18:53:29 +1200] "GET /styles/msie7.css HTTP/1.1" 200 37 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" bot-706.optus.com.au - - [22/Apr/2009:18:53:29 +1200] "GET /styles/msie7.css HTTP/1.1" 200 1693 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" 192.167.177.176 - - [22/Apr/2009:18:53:29 +1200] "GET /adclick.php?c=H34K HTTP/1.1" 302 380 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.aol.com - - [22/Apr/2009:18:53:30 +1200] "GET /stories/sport/080420/33.htm HTTP/1.0" 200 94513 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" bot-706.optus.com.au - - [22/Apr/2009:18:53:30 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" crawler.crawl.yahoo.net - - [22/Apr/2009:18:53:30 +1200] "GET /news.html HTTP/1.1" 200 82000 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:30 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.crawl.yahoo.net - - [22/Apr/2009:18:53:30 +1200] "GET /news.html HTTP/1.1" 200 82000 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:30 +1200] "GET /news.html HTTP/1.1" 200 58940 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-533.googlebot.com - - [22/Apr/2009:18:53:30 +1200] "GET /adclick.php?c=TG3A HTTP/1.0" 301 324 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:53:30 +1200] "GET /adclick.php?c=GD52 HTTP/1.1" 302 376 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" cache.telstra.com.au - - [22/Apr/2009:18:53:30 +1200] "GET /stories/politics/080201/49.htm HTTP/1.1" 200 51621 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" crawler.crawl.yahoo.net - - [22/Apr/2009:18:53:30 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.167.177.176 - - [22/Apr/2009:18:53:30 +1200] "GET /stories/science/070922/33.htm HTTP/1.1" 200 699 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.crawl.yahoo.net - - [22/Apr/2009:18:53:30 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:53:30 +1200] "GET /news.html HTTP/1.1" 200 1369 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-612.aol.com - - [22/Apr/2009:18:53:31 +1200] "GET /stories.php?date=yesterday HTTP/1.1" 200 53969 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:31 +1200] "GET /styles/msie6.css HTTP/1.1" 200 2283 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.48.147.2 - - [22/Apr/2009:18:53:31 +1200] "GET /stories/entertainment/070825/233.htm HTTP/1.1" 200 1372 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:31 +1200] "GET /styles/msie6.css HTTP/1.1" 200 679 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:31 +1200] "GET /styles/site.css HTTP/1.1" 200 19 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-364.ihug.co.nz - - [22/Apr/2009:18:53:31 +1200] "GET /latest.php?category=business HTTP/1.0" 200 7204 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:31 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" bot-706.optus.com.au - - [22/Apr/2009:18:53:31 +1200] "GET /images/nav/tab_left_center.gif HTTP/1.1" 200 96 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" bot-706.optus.com.au - - [22/Apr/2009:18:53:31 +1200] "GET /adclick.php?c=GD52 HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:31 +1200] "GET /styles/msie7.css HTTP/1.1" 200 37 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:31 +1200] "GET /styles/msie7.css HTTP/1.1" 200 1693 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:31 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.30.102.238 - - [22/Apr/2009:18:53:31 +1200] "GET /gallery.php?section=sport HTTP/1.1" 200 59372 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:53:31 +1200] "GET /adclick.php?c=PBNI HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:53:31 +1200] "GET /adclick.php?c=LME2 HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:53:31 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" bot-706.optus.com.au - - [22/Apr/2009:18:53:31 +1200] "GET /stories/business/070801/55.htm HTTP/1.1" 200 3032 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:31 +1200] "GET /adclick.php?c=PBNI HTTP/1.1" 302 380 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:31 +1200] "GET /images/nav/tab_left_center.gif HTTP/1.1" 200 96 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.48.147.2 - - [22/Apr/2009:18:53:32 +1200] "GET /news.html HTTP/1.1" 200 1868 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:32 +1200] "GET /stories/entertainment/061105/30.htm HTTP/1.1" 200 3033 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:53:32 +1200] "GET /gallery.php?section=entertainment HTTP/1.1" 200 4232 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:32 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 3716 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:53:32 +1200] "GET /latest.php HTTP/1.1" 200 991 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:53:32 +1200] "GET /stories/entertainment/070801/34.htm HTTP/1.1" 200 698 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:32 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 261 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-612.aol.com - - [22/Apr/2009:18:53:32 +1200] "GET /news.html HTTP/1.1" 200 90200 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:32 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 966 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-487.ask.com - - [22/Apr/2009:18:53:32 +1200] "GET /news.html HTTP/1.0" 200 6909 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:32 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 139 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-612.aol.com - - [22/Apr/2009:18:53:32 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:32 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 897 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.87.247.241 - - [22/Apr/2009:18:53:32 +1200] "GET /news.html HTTP/1.1" 200 76536 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:32 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 915 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:32 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 957 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:32 +1200] "GET /images/ad/N4FQ.jpeg HTTP/1.1" 200 914 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" bot-706.optus.com.au - - [22/Apr/2009:18:53:32 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 3716 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:32 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 836 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" bot-706.optus.com.au - - [22/Apr/2009:18:53:32 +1200] "GET /styles/msie7.css HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:32 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 313 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:32 +1200] "GET /images/ad/FDE4.jpeg HTTP/1.1" 200 1196 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:33 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 831 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:33 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1657 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:33 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 2834 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.48.147.2 - - [22/Apr/2009:18:53:33 +1200] "GET /adclick.php?c=X3HG HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.48.147.2 - - [22/Apr/2009:18:53:33 +1200] "GET /adclick.php?c=2ER3 HTTP/1.1" 302 380 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:33 +1200] "GET /images/ad/NXM2.jpeg HTTP/1.1" 200 1016 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.48.147.2 - - [22/Apr/2009:18:53:33 +1200] "GET /adclick.php?c=X3HG HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:53:33 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:33 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 874 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:33 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 181 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:53:33 +1200] "GET /latest.php?category=politics HTTP/1.1" 200 3699 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:33 +1200] "GET /styles/msie7.css HTTP/1.1" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.55.25.145 - - [22/Apr/2009:18:53:33 +1200] "GET /latest.php HTTP/1.1" 200 53269 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:33 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 988 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.48.147.2 - - [22/Apr/2009:18:53:33 +1200] "GET /stories.php HTTP/1.1" 200 4231 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.48.147.2 - - [22/Apr/2009:18:53:33 +1200] "GET /latest.php?category=politics HTTP/1.1" 200 1450 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-273.telstra.com.au - - [22/Apr/2009:18:53:34 +1200] "GET /stories/science/070922/33.htm HTTP/1.0" 200 6756 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:34 +1200] "GET /adclick.php?c=YI32 HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:34 +1200] "GET /adclick.php?c=EB2Q HTTP/1.1" 302 377 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" bot-706.optus.com.au - - [22/Apr/2009:18:53:34 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 261 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:34 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 986 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:34 +1200] "GET /news.html HTTP/1.1" 200 3700 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:34 +1200] "GET /stories/national/080201/1.htm HTTP/1.1" 200 1338 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.245.112.114 - - [22/Apr/2009:18:53:34 +1200] "GET /styles/msie6.css HTTP/1.1" 200 2283 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.223.221.198 - - [22/Apr/2009:18:53:34 +1200] "GET /stories/world/080201/47.htm HTTP/1.1" 200 6174 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.48.147.2 - - [22/Apr/2009:18:53:34 +1200] "GET /news.html HTTP/1.1" 200 631 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:34 +1200] "GET /adclick.php?c=NT4P HTTP/1.1" 302 377 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:34 +1200] "GET /adclick.php?c=3ERO HTTP/1.1" 302 376 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.30.102.238 - - [22/Apr/2009:18:53:34 +1200] "GET /gallery.php?section=sport HTTP/1.1" 200 59372 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-706.optus.com.au - - [22/Apr/2009:18:53:35 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 966 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:35 +1200] "GET /adclick.php?c=X41R HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:35 +1200] "GET /news.html HTTP/1.1" 200 4230 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:35 +1200] "GET /stories/entertainment/070801/34.htm HTTP/1.1" 200 989 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:35 +1200] "GET /latest.php HTTP/1.1" 200 698 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:35 +1200] "GET /images/photos/534.jpg HTTP/1.1" 200 1370 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:35 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 1362 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.48.147.2 - - [22/Apr/2009:18:53:35 +1200] "GET /currency.php HTTP/1.1" 200 698 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.48.147.2 - - [22/Apr/2009:18:53:35 +1200] "GET /images/ad/N4FQ.jpeg HTTP/1.1" 200 914 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:35 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 1004 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" bot-672.paradise.net.nz - - [22/Apr/2009:18:53:35 +1200] "GET /adclick.php?c=PBNI HTTP/1.0" 301 324 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:35 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 1084 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:35 +1200] "GET /images/ad/RH4Y.jpeg HTTP/1.1" 200 1017 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-588.ihug.co.nz - - [22/Apr/2009:18:53:35 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 20819 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:36 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.245.112.114 - - [22/Apr/2009:18:53:36 +1200] "GET /styles/msie6.css HTTP/1.1" 200 679 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy.aol.com - - [22/Apr/2009:18:53:36 +1200] "GET /news.html HTTP/1.1" 200 58946 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:36 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 279 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:36 +1200] "GET /currency.php HTTP/1.1" 200 65331 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:36 +1200] "GET /latest.php?category=politics HTTP/1.1" 200 1450 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" bot-706.optus.com.au - - [22/Apr/2009:18:53:36 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 139 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" 192.48.147.2 - - [22/Apr/2009:18:53:36 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 836 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:36 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 1020 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:36 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 245 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:36 +1200] "GET /images/favicon.ico HTTP/1.1" 200 2824 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:36 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 349 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:36 +1200] "GET /images/ad/A94L.jpeg HTTP/1.1" 200 5612 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:36 +1200] "GET /styles/msie6.css HTTP/1.1" 200 2283 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:36 +1200] "GET /stories.php?date=2007 HTTP/1.1" 200 330 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:36 +1200] "GET /styles/msie6.css HTTP/1.1" 200 679 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:36 +1200] "GET /styles/site.css HTTP/1.1" 200 3396 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-364.ihug.co.nz - - [22/Apr/2009:18:53:36 +1200] "GET /stories/business/070201/7.htm HTTP/1.0" 200 6047 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:37 +1200] "GET /styles/site.css HTTP/1.1" 200 19 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:37 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:37 +1200] "GET /styles/msie7.css HTTP/1.1" 200 37 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:37 +1200] "GET /styles/msie7.css HTTP/1.1" 200 1693 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.245.112.114 - - [22/Apr/2009:18:53:37 +1200] "GET /styles/firefox.css HTTP/1.1" 200 758 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:37 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 2048 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" bot-706.optus.com.au - - [22/Apr/2009:18:53:37 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 897 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:37 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-518.crawl.yahoo.net - - [22/Apr/2009:18:53:37 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 244 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:37 +1200] "GET /stories.php?date=2007 HTTP/1.1" 200 156977 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:37 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:37 +1200] "GET /images/nav/tab_left_center.gif HTTP/1.1" 200 96 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:37 +1200] "GET /news.html HTTP/1.1" 200 3032 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.223.221.198 - - [22/Apr/2009:18:53:37 +1200] "GET /stories/world/080201/47.htm HTTP/1.1" 200 6174 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy.aol.com - - [22/Apr/2009:18:53:38 +1200] "GET /news.html HTTP/1.1" 200 74181 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:38 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 3716 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.48.147.2 - - [22/Apr/2009:18:53:38 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 2834 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:38 +1200] "GET /styles/msie7.css HTTP/1.1" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:38 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 261 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.245.112.114 - - [22/Apr/2009:18:53:38 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:38 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 966 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:38 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 139 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:38 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 897 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:38 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 915 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.245.112.114 - - [22/Apr/2009:18:53:39 +1200] "GET /styles/site.css HTTP/1.1" 200 19 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:39 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 957 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" bot-706.optus.com.au - - [22/Apr/2009:18:53:39 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 915 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:39 +1200] "GET /images/ad/N4FQ.jpeg HTTP/1.1" 200 914 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:39 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:39 +1200] "GET /adclick.php?c=EB2Q HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" crawler.global-gateway.net.nz - - [22/Apr/2009:18:53:39 +1200] "GET /stories/politics/080201/49.htm HTTP/1.0" 200 81202 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" bot-706.optus.com.au - - [22/Apr/2009:18:53:39 +1200] "GET /images/ad/N4FQ.jpeg HTTP/1.1" 200 914 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" bot-706.optus.com.au - - [22/Apr/2009:18:53:39 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 957 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" proxy.aol.com - - [22/Apr/2009:18:53:39 +1200] "GET /gallery.php?section=sport HTTP/1.1" 200 60716 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:39 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 836 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.147.202.14 - - [22/Apr/2009:18:53:39 +1200] "GET /adclick.php?c=NT4P HTTP/1.1" 301 336 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:39 +1200] "GET /latest.php?category=national HTTP/1.1" 200 3700 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:39 +1200] "GET /latest.php?category=national HTTP/1.1" 200 2031 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:39 +1200] "GET /adclick.php?c=3ERO HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-341.googlebot.com - - [22/Apr/2009:18:53:40 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 244 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.245.112.114 - - [22/Apr/2009:18:53:40 +1200] "GET /styles/msie7.css HTTP/1.1" 200 37 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:40 +1200] "GET /adclick.php?c=X41R HTTP/1.1" 302 377 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.245.112.114 - - [22/Apr/2009:18:53:40 +1200] "GET /styles/msie7.css HTTP/1.1" 200 1693 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:40 +1200] "GET /adclick.php?c=X41R HTTP/1.1" 302 377 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" bot-706.optus.com.au - - [22/Apr/2009:18:53:40 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 836 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" bot-706.optus.com.au - - [22/Apr/2009:18:53:40 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 313 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:40 +1200] "GET /adclick.php?c=GD52 HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:40 +1200] "GET /latest.php HTTP/1.1" 200 4232 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.147.202.14 - - [22/Apr/2009:18:53:41 +1200] "GET /latest.php HTTP/1.1" 200 58466 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:41 +1200] "GET /stories/weather/070801/33.htm HTTP/1.1" 200 990 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.245.112.114 - - [22/Apr/2009:18:53:41 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:41 +1200] "GET /styles/msie6.css HTTP/1.1" 200 2283 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:41 +1200] "GET /latest.php?category=politics HTTP/1.1" 200 1450 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" bot-706.optus.com.au - - [22/Apr/2009:18:53:41 +1200] "GET /adclick.php?c=TG3A HTTP/1.1" 302 378 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" bot-706.optus.com.au - - [22/Apr/2009:18:53:42 +1200] "GET /adclick.php?c=TG3A HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dhcp-364.ihug.co.nz - - [22/Apr/2009:18:53:42 +1200] "GET /news.html HTTP/1.0" 200 6972 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:42 +1200] "GET /styles/msie6.css HTTP/1.1" 200 679 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:42 +1200] "GET /styles/site.css HTTP/1.1" 200 19 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:42 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" bot-706.optus.com.au - - [22/Apr/2009:18:53:42 +1200] "GET /images/ad/FDE4.jpeg HTTP/1.1" 200 1196 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" 192.48.147.2 - - [22/Apr/2009:18:53:43 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 986 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" bot-706.optus.com.au - - [22/Apr/2009:18:53:43 +1200] "GET /currency.php HTTP/1.1" 200 3699 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" 192.98.136.88 - - [22/Apr/2009:18:53:43 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 349 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:43 +1200] "GET /faq.html HTTP/1.1" 200 24600 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.crawl.yahoo.net - - [22/Apr/2009:18:53:43 +1200] "GET /news.html HTTP/1.0" 200 174602 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.98.136.88 - - [22/Apr/2009:18:53:43 +1200] "GET /faq.html HTTP/1.1" 200 330 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.21.27.9 - - [22/Apr/2009:18:53:44 +1200] "GET /news.html HTTP/1.0" 200 75863 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.223.221.198 - - [22/Apr/2009:18:53:44 +1200] "GET /stories/world/080201/47.htm HTTP/1.1" 200 6174 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:53:44 +1200] "GET /latest.php?category=business HTTP/1.0" 200 46536 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.98.136.88 - - [22/Apr/2009:18:53:44 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 349 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:53:45 +1200] "GET /latest.php?category=national HTTP/1.0" 304 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:53:45 +1200] "GET /js/adclient.js HTTP/1.0" 200 5993 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.98.136.88 - - [22/Apr/2009:18:53:45 +1200] "GET /stories.php?date=2007 HTTP/1.1" 200 330 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:53:45 +1200] "GET /js/menu.js HTTP/1.0" 200 6377 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:53:45 +1200] "GET /adclick.php?c=PBNI HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:53:45 +1200] "GET /adclick.php?c=LME2 HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" bot-451.dialup.xtra.co.nz - - [22/Apr/2009:18:53:45 +1200] "GET /adclick.php?c=PBNI HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.49.129.252 - - [22/Apr/2009:18:53:45 +1200] "GET /latest.php?category=business HTTP/1.1" 200 48539 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:53:45 +1200] "GET /adclick.php?c=AW2M HTTP/1.0" 302 367 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:53:45 +1200] "GET /adclick.php?c=X41R HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.87.247.241 - - [22/Apr/2009:18:53:45 +1200] "GET /stories/politics/060301/22.htm HTTP/1.1" 200 6522 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.48.147.2 - - [22/Apr/2009:18:53:45 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 1004 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:53:45 +1200] "GET /stories.php?date=yesterday HTTP/1.0" 200 3020 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-365.aol.com - - [22/Apr/2009:18:53:45 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:53:45 +1200] "GET /images/ad/NXM2.jpeg HTTP/1.0" 200 1016 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:53:45 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.0" 200 874 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:53:45 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.0" 200 181 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:53:45 +1200] "GET /robots.txt HTTP/1.1" 404 27 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:53:45 +1200] "GET /latest.php?category=politics HTTP/1.1" 200 1450 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:53:45 +1200] "GET /gallery.php?section=entertainment HTTP/1.1" 200 4232 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:53:45 +1200] "GET /latest.php HTTP/1.1" 200 991 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:53:45 +1200] "GET /latest.php HTTP/1.1" 200 698 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:53:45 +1200] "GET /adclick.php?c=10S2 HTTP/1.0" 302 366 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:53:45 +1200] "GET /adclick.php?c=AW2M HTTP/1.0" 302 367 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:53:45 +1200] "GET /gallery.php?section=sport HTTP/1.0" 200 3687 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:53:45 +1200] "GET /stories/entertainment/070825/233.htm HTTP/1.0" 200 1358 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.245.112.114 - - [22/Apr/2009:18:53:45 +1200] "GET /images/nav/tab_left_center.gif HTTP/1.1" 200 96 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.48.147.2 - - [22/Apr/2009:18:53:46 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 1084 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:53:46 +1200] "GET /images/photos/824.jpg HTTP/1.0" 200 445 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.245.112.114 - - [22/Apr/2009:18:53:46 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 261 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:53:46 +1200] "GET /adclick.php?c=H34K HTTP/1.0" 302 366 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:53:46 +1200] "GET /images/photos/355.jpg HTTP/1.0" 200 1404 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:53:46 +1200] "GET /images/photos/34.jpg HTTP/1.0" 200 1136 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.87.247.241 - - [22/Apr/2009:18:53:46 +1200] "GET /news.html HTTP/1.1" 200 7127 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:53:46 +1200] "GET /adclick.php?c=X41R HTTP/1.0" 302 365 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-383.bellsouth.net - - [22/Apr/2009:18:53:46 +1200] "GET /adclick.php?c=GD52 HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" bot-383.bellsouth.net - - [22/Apr/2009:18:53:46 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 378 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:53:46 +1200] "GET /adclick.php?c=ABTJ HTTP/1.0" 302 367 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:53:46 +1200] "GET /gallery.php?section=health HTTP/1.0" 200 4218 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-383.bellsouth.net - - [22/Apr/2009:18:53:46 +1200] "GET /adclick.php?c=X3HG HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" crawler.telstra.com.au - - [22/Apr/2009:18:53:46 +1200] "GET /faq.html HTTP/1.0" 200 66462 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" bot-383.bellsouth.net - - [22/Apr/2009:18:53:46 +1200] "GET /adclick.php?c=PBNI HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:53:46 +1200] "GET /stories/weather/070801/33.htm HTTP/1.0" 200 978 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:46 +1200] "GET /faq.html HTTP/1.1" 200 49810 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:53:46 +1200] "GET /stories/entertainment/070801/34.htm HTTP/1.0" 200 686 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.48.147.2 - - [22/Apr/2009:18:53:46 +1200] "GET /images/ad/RH4Y.jpeg HTTP/1.1" 200 1017 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:46 +1200] "GET /latest.php?category=national HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" bot-383.bellsouth.net - - [22/Apr/2009:18:53:47 +1200] "GET /adclick.php?c=LME2 HTTP/1.1" 302 378 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" bot-383.bellsouth.net - - [22/Apr/2009:18:53:47 +1200] "GET /latest.php?category=politics HTTP/1.1" 200 3699 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" bot-383.bellsouth.net - - [22/Apr/2009:18:53:47 +1200] "GET /stories/business/070801/55.htm HTTP/1.1" 200 3032 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:47 +1200] "GET /styles/msie6.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" bot-383.bellsouth.net - - [22/Apr/2009:18:53:47 +1200] "GET /adclick.php?c=AG3F HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.245.112.114 - - [22/Apr/2009:18:53:47 +1200] "GET /news.html HTTP/1.1" 200 3032 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.21.27.9 - - [22/Apr/2009:18:53:47 +1200] "GET /adclick.php?c=JAKL HTTP/1.0" 302 367 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:47 +1200] "GET /styles/msie6.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:47 +1200] "GET /styles/site.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.245.112.114 - - [22/Apr/2009:18:53:47 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 3716 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-383.bellsouth.net - - [22/Apr/2009:18:53:47 +1200] "GET /gallery.php?section=business HTTP/1.1" 200 1340 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:47 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" bot-383.bellsouth.net - - [22/Apr/2009:18:53:47 +1200] "GET /gallery.php?section=entertainment HTTP/1.1" 200 4232 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" bot-383.bellsouth.net - - [22/Apr/2009:18:53:47 +1200] "GET /latest.php HTTP/1.1" 200 991 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" bot-383.bellsouth.net - - [22/Apr/2009:18:53:47 +1200] "GET /news.html HTTP/1.1" 200 698 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:47 +1200] "GET /styles/msie7.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-277.googlebot.com - - [22/Apr/2009:18:53:47 +1200] "GET /adclick.php?c=AW2M HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-277.googlebot.com - - [22/Apr/2009:18:53:47 +1200] "GET /adclick.php?c=NT4P HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-277.googlebot.com - - [22/Apr/2009:18:53:47 +1200] "GET /adclick.php?c=AG3F HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-277.googlebot.com - - [22/Apr/2009:18:53:47 +1200] "GET /adclick.php?c=AW2M HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.21.27.9 - - [22/Apr/2009:18:53:47 +1200] "GET /links.html HTTP/1.0" 200 686 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:47 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-277.googlebot.com - - [22/Apr/2009:18:53:47 +1200] "GET /news.html HTTP/1.1" 200 2666 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:47 +1200] "GET /adclick.php?c=PBNI HTTP/1.1" 302 380 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-364.ihug.co.nz - - [22/Apr/2009:18:53:47 +1200] "GET /stories/business/070801/37.htm HTTP/1.0" 200 7353 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-277.googlebot.com - - [22/Apr/2009:18:53:48 +1200] "GET /latest.php?category=business HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-277.googlebot.com - - [22/Apr/2009:18:53:48 +1200] "GET /stories.php HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:48 +1200] "GET /gallery.php HTTP/1.1" 200 3033 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" bot-383.bellsouth.net - - [22/Apr/2009:18:53:48 +1200] "GET /news.html HTTP/1.1" 200 1868 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-277.googlebot.com - - [22/Apr/2009:18:53:48 +1200] "GET /latest.php?category=national HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-383.bellsouth.net - - [22/Apr/2009:18:53:48 +1200] "GET /robots.txt HTTP/1.1" 404 27 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.49.129.252 - - [22/Apr/2009:18:53:48 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" proxy-333.aol.com - - [22/Apr/2009:18:53:48 +1200] "GET /currency.php HTTP/1.0" 200 6648 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:48 +1200] "GET /styles/msie7.css HTTP/1.1" 200 37 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:48 +1200] "GET /styles/msie7.css HTTP/1.1" 200 1693 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-454.crawl.yahoo.net - - [22/Apr/2009:18:53:48 +1200] "GET /latest.php HTTP/1.0" 200 67450 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:48 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.48.147.2 - - [22/Apr/2009:18:53:48 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 1020 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-647.ask.com - - [22/Apr/2009:18:53:48 +1200] "GET /stories/business/070201/7.htm HTTP/1.1" 200 6565 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" bot-383.bellsouth.net - - [22/Apr/2009:18:53:48 +1200] "GET /latest.php?category=politics HTTP/1.1" 200 1450 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:48 +1200] "GET /stories/weather/070801/33.htm HTTP/1.1" 200 990 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.245.112.114 - - [22/Apr/2009:18:53:49 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 966 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.245.112.114 - - [22/Apr/2009:18:53:49 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 139 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.85.238.10 - - [22/Apr/2009:18:53:49 +1200] "GET /news.html HTTP/1.1" 200 171913 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.48.147.2 - - [22/Apr/2009:18:53:49 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 245 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:49 +1200] "GET /images/nav/tab_left_center.gif HTTP/1.1" 200 96 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-675.dialup.xtra.co.nz - - [22/Apr/2009:18:53:49 +1200] "GET /adclick.php?c=AW2M HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.48.147.2 - - [22/Apr/2009:18:53:49 +1200] "GET /styles/ie4.css HTTP/1.1" 200 3387 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-675.dialup.xtra.co.nz - - [22/Apr/2009:18:53:50 +1200] "GET /adclick.php?c=EB2Q HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:50 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-675.dialup.xtra.co.nz - - [22/Apr/2009:18:53:50 +1200] "GET /adclick.php?c=YI32 HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.245.112.114 - - [22/Apr/2009:18:53:50 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 897 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:50 +1200] "GET /news.html HTTP/1.1" 200 3032 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-675.dialup.xtra.co.nz - - [22/Apr/2009:18:53:50 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:50 +1200] "GET /stories/sport/070922/52.htm HTTP/1.1" 200 59620 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:50 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 3716 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.245.112.114 - - [22/Apr/2009:18:53:50 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 915 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:50 +1200] "GET /styles/msie7.css HTTP/1.1" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.49.129.252 - - [22/Apr/2009:18:53:50 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" 192.21.27.9 - - [22/Apr/2009:18:53:50 +1200] "GET /adclick.php?c=LME2 HTTP/1.0" 302 366 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.48.147.2 - - [22/Apr/2009:18:53:50 +1200] "GET /styles/site.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy.optus.com.au - - [22/Apr/2009:18:53:51 +1200] "GET /gallery.php?section=entertainment HTTP/1.0" 200 7084 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.223.221.198 - - [22/Apr/2009:18:53:51 +1200] "GET /stories/world/080201/47.htm HTTP/1.1" 200 6174 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.245.112.114 - - [22/Apr/2009:18:53:51 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 957 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.48.147.2 - - [22/Apr/2009:18:53:51 +1200] "GET /robots.txt HTTP/1.1" 404 27 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.21.27.9 - - [22/Apr/2009:18:53:51 +1200] "GET /latest.php HTTP/1.0" 200 979 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.245.112.114 - - [22/Apr/2009:18:53:51 +1200] "GET /images/ad/N4FQ.jpeg HTTP/1.1" 200 914 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:51 +1200] "GET /adclick.php?c=GD52 HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:51 +1200] "GET /styles/msie7.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-675.dialup.xtra.co.nz - - [22/Apr/2009:18:53:51 +1200] "GET /stories/national/080201/1.htm HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-675.dialup.xtra.co.nz - - [22/Apr/2009:18:53:51 +1200] "GET /stories/entertainment/061105/30.htm HTTP/1.1" 200 332 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:51 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:51 +1200] "GET /latest.php HTTP/1.1" 200 3699 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-675.dialup.xtra.co.nz - - [22/Apr/2009:18:53:51 +1200] "GET /news.html HTTP/1.1" 200 2666 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:51 +1200] "GET /adclick.php?c=AW2M HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.49.129.252 - - [22/Apr/2009:18:53:51 +1200] "GET /adclick.php?c=TG3A HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" proxy-675.dialup.xtra.co.nz - - [22/Apr/2009:18:53:51 +1200] "GET /stories.php HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:51 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 313 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:51 +1200] "GET /crossdomain.xml HTTP/1.1" 200 698 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:51 +1200] "GET /adclick.php?c=LME2 HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.48.147.2 - - [22/Apr/2009:18:53:52 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 204 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.209.140.45 - - [22/Apr/2009:18:53:52 +1200] "GET /stories/science/080325/82.htm HTTP/1.1" 200 26417 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.209.140.45 - - [22/Apr/2009:18:53:52 +1200] "GET /stories/science/080325/82.htm HTTP/1.1" 200 22976 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:52 +1200] "GET /adclick.php?c=JAKL HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:52 +1200] "GET /images/ad/FDE4.jpeg HTTP/1.1" 200 1196 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:52 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 831 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.49.129.252 - - [22/Apr/2009:18:53:52 +1200] "GET /adclick.php?c=JAKL HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" 192.54.56.253 - - [22/Apr/2009:18:53:52 +1200] "GET /latest.php?category=politics HTTP/1.0" 200 54047 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-282.bitstream.orcon.net.nz - - [22/Apr/2009:18:53:52 +1200] "GET /stories/world/070801/12.htm HTTP/1.0" 200 48311 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:52 +1200] "GET /latest.php?category=business HTTP/1.1" 200 1380 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:52 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1657 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:52 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:52 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 2834 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:52 +1200] "GET /feedback.php HTTP/1.1" 200 4232 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:52 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:52 +1200] "GET /images/ad/NXM2.jpeg HTTP/1.1" 200 1016 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:52 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 874 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:52 +1200] "GET /adclick.php?c=LME2 HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:52 +1200] "GET /adclick.php?c=GD52 HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.87.247.241 - - [22/Apr/2009:18:53:52 +1200] "GET /news.html HTTP/1.1" 200 6984 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.48.147.2 - - [22/Apr/2009:18:53:52 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 1405 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:52 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 181 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:53:52 +1200] "GET /latest-news.rss HTTP/1.0" 200 7006 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-668.ihug.co.nz - - [22/Apr/2009:18:53:52 +1200] "GET /adclick.php?c=LME2 HTTP/1.1" 302 378 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.57.241.67 - - [22/Apr/2009:18:53:52 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 988 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-668.ihug.co.nz - - [22/Apr/2009:18:53:52 +1200] "GET /adclick.php?c=TG3A HTTP/1.1" 302 378 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:52 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 988 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:53 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 986 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.57.241.67 - - [22/Apr/2009:18:53:53 +1200] "GET /stories/national/070309/19.htm HTTP/1.1" 200 3699 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.57.241.67 - - [22/Apr/2009:18:53:53 +1200] "GET /gallery.php?section=sport HTTP/1.1" 200 1371 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:53 +1200] "GET /images/nav/tab_right_middle.gif HTTP/1.1" 200 1179 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.48.147.2 - - [22/Apr/2009:18:53:53 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 2048 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.57.241.67 - - [22/Apr/2009:18:53:53 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 986 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:53 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 279 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:53 +1200] "GET /latest.php?category=national HTTP/1.1" 200 3700 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.21.27.9 - - [22/Apr/2009:18:53:53 +1200] "GET /adclick.php?c=PBNI HTTP/1.0" 302 367 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:53 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 1020 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:53 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1199 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:53 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 1061 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.54.56.253 - - [22/Apr/2009:18:53:53 +1200] "GET /latest.php?category=national HTTP/1.0" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:53 +1200] "GET /images/ad/RH4Y.jpeg HTTP/1.1" 200 1031 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-364.ihug.co.nz - - [22/Apr/2009:18:53:53 +1200] "GET /news.html HTTP/1.0" 200 6157 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.49.129.252 - - [22/Apr/2009:18:53:53 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 378 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:53 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 1376 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:53 +1200] "GET /images/photos/355.jpg HTTP/1.1" 200 1373 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.21.27.9 - - [22/Apr/2009:18:53:53 +1200] "GET /gallery.php?section=entertainment HTTP/1.0" 200 4219 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:53 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 245 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.57.241.67 - - [22/Apr/2009:18:53:54 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 445 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:54 +1200] "GET /images/favicon.ico HTTP/1.1" 200 2824 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.49.129.252 - - [22/Apr/2009:18:53:54 +1200] "GET /adclick.php?c=GD52 HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:54 +1200] "GET /images/ad/A94L.jpeg HTTP/1.1" 200 5612 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-343.ask.com - - [22/Apr/2009:18:53:54 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:54 +1200] "GET /stories/world/070801/12.htm HTTP/1.1" 200 48692 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:54 +1200] "GET /styles/site.css HTTP/1.1" 200 3396 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:54 +1200] "GET /stories.php?date=yesterday HTTP/1.1" 200 4231 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-365.aol.com - - [22/Apr/2009:18:53:54 +1200] "GET /latest.php?category=business HTTP/1.1" 200 59385 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.57.241.67 - - [22/Apr/2009:18:53:54 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1199 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.57.241.67 - - [22/Apr/2009:18:53:54 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 1061 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-668.ihug.co.nz - - [22/Apr/2009:18:53:54 +1200] "GET /adclick.php?c=X41R HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.57.241.67 - - [22/Apr/2009:18:53:54 +1200] "GET /adclick.php?c=X3HG HTTP/1.1" 302 377 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.57.241.67 - - [22/Apr/2009:18:53:54 +1200] "GET /adclick.php?c=2ER3 HTTP/1.1" 302 378 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:54 +1200] "GET /latest.php?category=national HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-343.ask.com - - [22/Apr/2009:18:53:54 +1200] "GET /stories/science/080325/82.htm HTTP/1.1" 200 59050 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.57.241.67 - - [22/Apr/2009:18:53:54 +1200] "GET /images/favicon.ico HTTP/1.1" 200 2824 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.57.241.67 - - [22/Apr/2009:18:53:54 +1200] "GET /stories/politics/080201/49.htm HTTP/1.1" 200 4232 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:54 +1200] "GET /styles/msie6.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.57.241.67 - - [22/Apr/2009:18:53:54 +1200] "GET /stories/science/080325/82.htm HTTP/1.1" 200 697 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.57.241.67 - - [22/Apr/2009:18:53:54 +1200] "GET /stories/national/070309/19.htm HTTP/1.1" 200 990 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.57.241.67 - - [22/Apr/2009:18:53:54 +1200] "GET /images/ad/A94L.jpeg HTTP/1.1" 200 5612 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:54 +1200] "GET /styles/msie6.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.49.129.252 - - [22/Apr/2009:18:53:54 +1200] "GET /adclick.php?c=X41R HTTP/1.1" 302 378 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" 192.57.241.67 - - [22/Apr/2009:18:53:55 +1200] "GET /latest.php?category=politics HTTP/1.1" 200 1450 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.57.241.67 - - [22/Apr/2009:18:53:55 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 279 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.87.247.241 - - [22/Apr/2009:18:53:55 +1200] "GET /latest.php?category=politics HTTP/1.1" 200 50666 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:55 +1200] "GET /styles/site.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-365.aol.com - - [22/Apr/2009:18:53:55 +1200] "GET /faq.html HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.57.241.67 - - [22/Apr/2009:18:53:55 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 245 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.57.241.67 - - [22/Apr/2009:18:53:55 +1200] "GET /styles/site.css HTTP/1.1" 200 3396 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:55 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.49.129.252 - - [22/Apr/2009:18:53:55 +1200] "GET /adclick.php?c=GD52 HTTP/1.1" 302 377 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:55 +1200] "GET /latest.php HTTP/1.1" 200 991 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.57.241.67 - - [22/Apr/2009:18:53:55 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 1020 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.21.27.9 - - [22/Apr/2009:18:53:55 +1200] "GET /latest.php?category=politics HTTP/1.0" 200 1438 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.57.241.67 - - [22/Apr/2009:18:53:55 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 2048 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:55 +1200] "GET /crossdomain.xml HTTP/1.1" 200 698 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:55 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 2048 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" cache.paradise.net.nz - - [22/Apr/2009:18:53:55 +1200] "GET /stories/politics/080201/41.htm HTTP/1.1" 200 73721 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:55 +1200] "GET /styles/msie7.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.87.247.241 - - [22/Apr/2009:18:53:55 +1200] "GET /stories/business/070201/7.htm HTTP/1.1" 200 6695 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:55 +1200] "GET /adclick.php?c=AW2M HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:55 +1200] "GET /styles/msie7.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.21.27.9 - - [22/Apr/2009:18:53:55 +1200] "GET /adclick.php?c=AW2M HTTP/1.0" 302 366 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.57.241.67 - - [22/Apr/2009:18:53:55 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 244 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:55 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 244 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.57.241.67 - - [22/Apr/2009:18:53:55 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 244 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:55 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 261 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:55 +1200] "GET /stories.php?date=yesterday HTTP/1.1" 200 3032 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:55 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-483.dialup.xtra.co.nz - - [22/Apr/2009:18:53:56 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 349 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:56 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 966 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:56 +1200] "GET /adclick.php?c=GD52 HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.245.112.114 - - [22/Apr/2009:18:53:56 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 836 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-483.dialup.xtra.co.nz - - [22/Apr/2009:18:53:56 +1200] "GET /faq.html HTTP/1.1" 200 330 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:56 +1200] "GET /adclick.php?c=EB2Q HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.49.129.252 - - [22/Apr/2009:18:53:56 +1200] "GET /adclick.php?c=X3HG HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" 192.21.27.9 - - [22/Apr/2009:18:53:56 +1200] "GET /stories.php HTTP/1.0" 200 3687 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.87.247.241 - - [22/Apr/2009:18:53:56 +1200] "GET /stories.php HTTP/1.1" 200 6698 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:56 +1200] "GET /adclick.php?c=AW2M HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:56 +1200] "GET /adclick.php?c=LME2 HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:56 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 139 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:56 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 380 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.49.129.252 - - [22/Apr/2009:18:53:56 +1200] "GET /news.html HTTP/1.1" 200 3032 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:56 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 897 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:56 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:56 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 915 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:56 +1200] "GET /adclick.php?c=PBNI HTTP/1.1" 302 380 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:56 +1200] "GET /latest.php HTTP/1.1" 200 3033 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" bot-502.crawl.yahoo.net - - [22/Apr/2009:18:53:56 +1200] "GET /latest.php?category=national HTTP/1.0" 200 59279 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:56 +1200] "GET /latest.php HTTP/1.1" 200 3699 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:53:57 +1200] "HEAD /stories/business/071203/53.htm HTTP/1.1" 200 0 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:57 +1200] "GET /styles/msie7.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-343.ask.com - - [22/Apr/2009:18:53:57 +1200] "GET /styles/msie6.css HTTP/1.1" 200 2283 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:57 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:57 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 957 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:57 +1200] "GET /adclick.php?c=YI32 HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:57 +1200] "GET /images/ad/N4FQ.jpeg HTTP/1.1" 200 914 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.245.112.114 - - [22/Apr/2009:18:53:57 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 313 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-343.ask.com - - [22/Apr/2009:18:53:57 +1200] "GET /styles/site.css HTTP/1.1" 200 19 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:57 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 836 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:57 +1200] "GET /latest.php?category=national HTTP/1.1" 200 3700 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.245.112.114 - - [22/Apr/2009:18:53:57 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1657 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.49.129.252 - - [22/Apr/2009:18:53:57 +1200] "GET /stories/world/080201/47.htm HTTP/1.1" 200 698 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:57 +1200] "GET /latest.php?category=weather HTTP/1.1" 200 1370 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:57 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 313 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-343.ask.com - - [22/Apr/2009:18:53:57 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:57 +1200] "GET /images/ad/FDE4.jpeg HTTP/1.1" 200 1196 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:53:57 +1200] "GET /styles/msie6.css HTTP/1.1" 200 2283 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:53:57 +1200] "GET /stories/politics/080201/49.htm HTTP/1.0" 200 6457 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-343.ask.com - - [22/Apr/2009:18:53:57 +1200] "GET /styles/msie7.css HTTP/1.1" 200 37 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:53:57 +1200] "GET /latest.php?category=national HTTP/1.0" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-343.ask.com - - [22/Apr/2009:18:53:57 +1200] "GET /styles/msie7.css HTTP/1.1" 200 1693 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-483.dialup.xtra.co.nz - - [22/Apr/2009:18:53:57 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 349 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:58 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 831 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-483.dialup.xtra.co.nz - - [22/Apr/2009:18:53:58 +1200] "GET /stories.php?date=2007 HTTP/1.1" 200 330 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-343.ask.com - - [22/Apr/2009:18:53:58 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:58 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1657 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:53:58 +1200] "GET /latest.php HTTP/1.0" 200 64510 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.87.247.241 - - [22/Apr/2009:18:53:58 +1200] "GET /latest-news.rss HTTP/1.1" 200 46684 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-343.ask.com - - [22/Apr/2009:18:53:58 +1200] "GET /adclick.php?c=GD52 HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-343.ask.com - - [22/Apr/2009:18:53:58 +1200] "GET /stories/business/070801/55.htm HTTP/1.1" 200 3032 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-497.telstra.com.au - - [22/Apr/2009:18:53:58 +1200] "GET /sport-news.rss HTTP/1.0" 200 26330 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:58 +1200] "GET /adclick.php?c=GD52 HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:58 +1200] "GET /adclick.php?c=3ERO HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.54.56.253 - - [22/Apr/2009:18:53:58 +1200] "GET /js/adclient.js HTTP/1.0" 200 5993 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:58 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:58 +1200] "GET /adclick.php?c=X41R HTTP/1.1" 302 377 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.49.129.252 - - [22/Apr/2009:18:53:58 +1200] "GET /stories/business/071203/53.htm HTTP/1.1" 200 3699 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-343.ask.com - - [22/Apr/2009:18:53:58 +1200] "GET /images/nav/tab_left_center.gif HTTP/1.1" 200 96 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.245.112.114 - - [22/Apr/2009:18:53:58 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.245.112.114 - - [22/Apr/2009:18:53:58 +1200] "GET /adclick.php?c=LME2 HTTP/1.1" 302 378 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:58 +1200] "GET /adclick.php?c=X41R HTTP/1.1" 302 377 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:58 +1200] "GET /adclick.php?c=2ER3 HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-343.ask.com - - [22/Apr/2009:18:53:58 +1200] "GET /styles/msie7.css HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:58 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 2834 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:58 +1200] "GET /stories/politics/080201/49.htm HTTP/1.1" 200 1340 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:53:58 +1200] "GET /faq.html HTTP/1.1" 200 50789 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:59 +1200] "GET /feedback.php HTTP/1.1" 200 4232 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:59 +1200] "GET /latest.php HTTP/1.1" 200 4232 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:59 +1200] "GET /stories/weather/070801/33.htm HTTP/1.1" 200 990 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:59 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 986 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:53:59 +1200] "GET /styles/msie6.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-364.ihug.co.nz - - [22/Apr/2009:18:53:59 +1200] "GET /stories/business/070801/55.htm HTTP/1.0" 200 6465 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:53:59 +1200] "GET /images/favicon.ico HTTP/1.1" 200 860 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:59 +1200] "GET /gallery.php HTTP/1.1" 200 3033 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:59 +1200] "GET /adclick.php?c=AW2M HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.49.129.252 - - [22/Apr/2009:18:53:59 +1200] "GET /news.html HTTP/1.1" 200 1340 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:59 +1200] "GET /adclick.php?c=LME2 HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:59 +1200] "GET /stories/weather/070801/33.htm HTTP/1.1" 200 990 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-646.crawl.yahoo.net - - [22/Apr/2009:18:53:59 +1200] "GET /news.html HTTP/1.1" 200 107093 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-547.dialup.xtra.co.nz - - [22/Apr/2009:18:53:59 +1200] "GET /stories/science/080325/82.htm HTTP/1.1" 200 697 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:59 +1200] "GET /adclick.php?c=JAKL HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:59 +1200] "GET /latest.php HTTP/1.1" 200 3699 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.21.27.9 - - [22/Apr/2009:18:53:59 +1200] "GET /news.html HTTP/1.0" 200 1856 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-471.ask.com - - [22/Apr/2009:18:53:59 +1200] "GET /news.html HTTP/1.0" 302 271 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:59 +1200] "GET /latest.php?category=business HTTP/1.1" 200 1380 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:53:59 +1200] "GET /feedback.php HTTP/1.1" 200 4232 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-343.ask.com - - [22/Apr/2009:18:53:59 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 966 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-716.ihug.co.nz - - [22/Apr/2009:18:54:00 +1200] "GET /news.html HTTP/1.0" 200 61696 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:00 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 3716 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.145.92.21 - - [22/Apr/2009:18:54:00 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 3716 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:00 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 261 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:54:00 +1200] "GET /latest.php HTTP/1.1" 200 991 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.21.27.9 - - [22/Apr/2009:18:54:00 +1200] "GET /adclick.php?c=PBNI HTTP/1.0" 302 368 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:54:00 +1200] "GET /links.html HTTP/1.1" 200 698 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:00 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 139 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy.aol.com - - [22/Apr/2009:18:54:00 +1200] "GET /stories/politics/080201/49.htm HTTP/1.1" 200 59834 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:54:00 +1200] "GET /styles/site.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:00 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 897 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:00 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 915 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.49.129.252 - - [22/Apr/2009:18:54:00 +1200] "GET /stories/politics/080201/49.htm HTTP/1.1" 200 4231 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:00 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 957 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.245.112.114 - - [22/Apr/2009:18:54:00 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 2834 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:00 +1200] "GET /images/ad/N4FQ.jpeg HTTP/1.1" 200 914 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.21.27.9 - - [22/Apr/2009:18:54:00 +1200] "GET /gallery.php HTTP/1.0" 200 3021 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:00 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 836 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:00 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 313 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.245.112.114 - - [22/Apr/2009:18:54:00 +1200] "GET /latest.php?category=national HTTP/1.1" 200 3700 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:00 +1200] "GET /images/ad/FDE4.jpeg HTTP/1.1" 200 1196 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:00 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 831 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:54:00 +1200] "GET /styles/msie7.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:00 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1657 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:01 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 2834 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.49.129.252 - - [22/Apr/2009:18:54:01 +1200] "GET /stories.php?date=2006 HTTP/1.1" 200 990 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dhcp-365.aol.com - - [22/Apr/2009:18:54:01 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:01 +1200] "GET /images/ad/NXM2.jpeg HTTP/1.1" 200 1016 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:01 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 874 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-454.crawl.yahoo.net - - [22/Apr/2009:18:54:01 +1200] "GET /stories.php?date=2005 HTTP/1.0" 200 48993 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-443.jetstream.xtra.co.nz - - [22/Apr/2009:18:54:01 +1200] "GET /latest.php HTTP/1.0" 200 58492 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:01 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 181 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.49.129.252 - - [22/Apr/2009:18:54:02 +1200] "GET /latest.php HTTP/1.1" 200 698 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" 192.245.112.114 - - [22/Apr/2009:18:54:02 +1200] "GET /crossdomain.xml HTTP/1.1" 200 1369 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.245.112.114 - - [22/Apr/2009:18:54:02 +1200] "GET /news.html HTTP/1.1" 200 1868 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.crawl.yahoo.net - - [22/Apr/2009:18:54:02 +1200] "GET /stories/business/071203/53.htm HTTP/1.0" 200 6973 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-725.googlebot.com - - [22/Apr/2009:18:54:02 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dhcp-365.aol.com - - [22/Apr/2009:18:54:02 +1200] "GET /stories.php?date=2007 HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:54:02 +1200] "GET /adclick.php?c=AW2M HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:54:02 +1200] "GET /adclick.php?c=GD52 HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.optus.com.au - - [22/Apr/2009:18:54:03 +1200] "GET /images/photos/84.jpg HTTP/1.1" 304 - "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:54:03 +1200] "GET /adclick.php?c=EB2Q HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:54:03 +1200] "GET /adclick.php?c=AW2M HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:54:03 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 988 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:54:03 +1200] "GET /adclick.php?c=LME2 HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:54:03 +1200] "GET /stories.php?date=yesterday HTTP/1.1" 200 3032 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:54:03 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1199 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:54:03 +1200] "GET /latest.php HTTP/1.1" 200 3699 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-725.googlebot.com - - [22/Apr/2009:18:54:03 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" 192.245.112.114 - - [22/Apr/2009:18:54:03 +1200] "GET /adclick.php?c=3ERO HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:03 +1200] "GET /styles/msie6.css HTTP/1.1" 200 679 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:03 +1200] "GET /styles/site.css HTTP/1.1" 200 19 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.245.112.114 - - [22/Apr/2009:18:54:03 +1200] "GET /adclick.php?c=X41R HTTP/1.1" 302 377 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-397.aol.com - - [22/Apr/2009:18:54:03 +1200] "GET /stories.php?date=2006 HTTP/1.0" 200 6901 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:03 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:54:04 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 1061 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:54:04 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" bot-383.bellsouth.net - - [22/Apr/2009:18:54:04 +1200] "GET /stories/world/080201/47.htm HTTP/1.0" 200 6291 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:54:04 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 279 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:54:04 +1200] "GET /stories/business/071203/53.htm HTTP/1.1" 200 2031 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.87.247.241 - - [22/Apr/2009:18:54:04 +1200] "GET /news.html HTTP/1.1" 200 54199 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:04 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.245.112.114 - - [22/Apr/2009:18:54:04 +1200] "GET /adclick.php?c=X41R HTTP/1.1" 302 377 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:54:04 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 1020 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:54:04 +1200] "GET /feedback.php HTTP/1.0" 200 66437 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:54:04 +1200] "GET /images/ad/RH4Y.jpeg HTTP/1.1" 200 1031 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:54:04 +1200] "GET /feedback.php HTTP/1.1" 200 4232 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:54:04 +1200] "GET /images/favicon.ico HTTP/1.1" 200 2824 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:54:04 +1200] "GET /stories/entertainment/070801/34.htm HTTP/1.1" 200 698 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-364.ihug.co.nz - - [22/Apr/2009:18:54:04 +1200] "GET /news.html HTTP/1.0" 200 6609 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:54:04 +1200] "GET /latest.php?category=national HTTP/1.0" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:54:04 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 245 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:54:04 +1200] "GET /images/ad/A94L.jpeg HTTP/1.1" 200 5612 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-433.telstra.com.au - - [22/Apr/2009:18:54:04 +1200] "GET /latest.php HTTP/1.1" 200 991 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:04 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy.aol.com - - [22/Apr/2009:18:54:04 +1200] "GET /stories.php?date=2007 HTTP/1.1" 200 131200 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-725.googlebot.com - - [22/Apr/2009:18:54:05 +1200] "GET /adclick.php?c=AG3F HTTP/1.1" 302 380 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:05 +1200] "GET /news.html HTTP/1.1" 200 57228 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:05 +1200] "GET /adclick.php?c=YI32 HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:05 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 988 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:05 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 986 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:05 +1200] "GET /news.html HTTP/1.1" 200 3700 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:06 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 244 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:06 +1200] "GET /styles/msie6.css HTTP/1.1" 200 2283 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:06 +1200] "GET /styles/msie6.css HTTP/1.1" 200 679 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:06 +1200] "GET /styles/firefox.css HTTP/1.1" 200 758 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" bot-383.bellsouth.net - - [22/Apr/2009:18:54:06 +1200] "GET /stories/world/080201/47.htm HTTP/1.0" 200 2965 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:06 +1200] "GET /styles/site.css HTTP/1.1" 200 19 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:06 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:06 +1200] "GET /styles/msie7.css HTTP/1.1" 200 37 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:06 +1200] "GET /adclick.php?c=3ERO HTTP/1.1" 302 380 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:06 +1200] "GET /styles/msie7.css HTTP/1.1" 200 1693 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:06 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy.aol.com - - [22/Apr/2009:18:54:06 +1200] "GET /stories/sport/070922/52.htm HTTP/1.1" 200 59620 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-725.googlebot.com - - [22/Apr/2009:18:54:06 +1200] "GET /gallery.php?section=entertainment HTTP/1.1" 200 3033 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dhcp-586.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:06 +1200] "GET /latest.php HTTP/1.0" 200 50790 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:06 +1200] "GET /latest.php?category=business HTTP/1.1" 200 2032 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:06 +1200] "GET /adclick.php?c=PBNI HTTP/1.1" 302 380 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:06 +1200] "GET /images/nav/tab_left_center.gif HTTP/1.1" 200 96 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:06 +1200] "GET /stories/entertainment/061105/30.htm HTTP/1.1" 200 3033 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:07 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 3716 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:07 +1200] "GET /styles/msie7.css HTTP/1.1" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-725.googlebot.com - - [22/Apr/2009:18:54:07 +1200] "GET /adclick.php?c=H34K HTTP/1.1" 302 378 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:54:07 +1200] "GET /styles/msie6.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:07 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 139 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:07 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 966 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:07 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 261 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-725.googlebot.com - - [22/Apr/2009:18:54:07 +1200] "GET /business-news.rss HTTP/1.1" 200 3699 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:07 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 897 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:07 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 915 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:07 +1200] "GET /images/photos/534.jpg HTTP/1.1" 200 1370 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:07 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 957 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:07 +1200] "GET /images/ad/N4FQ.jpeg HTTP/1.1" 200 914 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:07 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 836 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:07 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 313 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:07 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 1362 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:07 +1200] "GET /images/ad/FDE4.jpeg HTTP/1.1" 200 1196 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:07 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 831 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.223.221.198 - - [22/Apr/2009:18:54:08 +1200] "GET /stories/world/080201/47.htm HTTP/1.1" 200 6174 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:08 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1657 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:08 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 2834 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" cache.optus.com.au - - [22/Apr/2009:18:54:08 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-725.googlebot.com - - [22/Apr/2009:18:54:08 +1200] "GET /adclick.php?c=X41R HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:08 +1200] "GET /images/ad/NXM2.jpeg HTTP/1.1" 200 1016 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-725.googlebot.com - - [22/Apr/2009:18:54:08 +1200] "GET /adclick.php?c=3ERO HTTP/1.1" 302 378 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:08 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 874 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:54:08 +1200] "GET /styles/site.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:08 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 181 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" cache.optus.com.au - - [22/Apr/2009:18:54:08 +1200] "GET /gallery.php?section=sport HTTP/1.1" 200 58476 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-725.googlebot.com - - [22/Apr/2009:18:54:08 +1200] "GET /adclick.php?c=GD52 HTTP/1.1" 302 378 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" proxy-725.googlebot.com - - [22/Apr/2009:18:54:08 +1200] "GET /adclick.php?c=GD52 HTTP/1.1" 302 380 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:08 +1200] "GET /adclick.php?c=H34K HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:08 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 986 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" cache.optus.com.au - - [22/Apr/2009:18:54:08 +1200] "GET /styles/msie6.css HTTP/1.1" 200 2283 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-725.googlebot.com - - [22/Apr/2009:18:54:08 +1200] "GET /latest.php?category=politics HTTP/1.1" 200 1450 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" proxy-725.googlebot.com - - [22/Apr/2009:18:54:08 +1200] "GET /stories/business/070201/7.htm HTTP/1.1" 200 1380 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:54:08 +1200] "GET /gallery.php?section=entertainment HTTP/1.0" 200 76038 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.optus.com.au - - [22/Apr/2009:18:54:09 +1200] "GET /styles/msie6.css HTTP/1.1" 200 679 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-725.googlebot.com - - [22/Apr/2009:18:54:09 +1200] "GET /latest.php?category=business HTTP/1.1" 200 4231 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" cache.optus.com.au - - [22/Apr/2009:18:54:09 +1200] "GET /styles/site.css HTTP/1.1" 200 19 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:09 +1200] "GET /adclick.php?c=10S2 HTTP/1.1" 302 380 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:09 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 988 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:54:09 +1200] "GET /styles/msie7.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-725.googlebot.com - - [22/Apr/2009:18:54:09 +1200] "GET /stories/world/070801/12.htm HTTP/1.1" 200 629 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" cache.optus.com.au - - [22/Apr/2009:18:54:09 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:54:09 +1200] "GET /latest.php?category=national HTTP/1.0" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-402.optus.com.au - - [22/Apr/2009:18:54:09 +1200] "GET /styles/msie7.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-725.googlebot.com - - [22/Apr/2009:18:54:09 +1200] "GET /latest.php HTTP/1.1" 200 699 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" proxy-471.ask.com - - [22/Apr/2009:18:54:09 +1200] "GET /news.html HTTP/1.0" 200 106979 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:09 +1200] "GET /gallery.php?section=sport HTTP/1.1" 200 3699 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:09 +1200] "GET /images/photos/534.jpg HTTP/1.1" 200 1370 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-402.optus.com.au - - [22/Apr/2009:18:54:09 +1200] "GET /styles/msie7.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-637.aol.com - - [22/Apr/2009:18:54:09 +1200] "GET /stories/sport/080420/33.htm HTTP/1.0" 200 6536 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" cache.optus.com.au - - [22/Apr/2009:18:54:09 +1200] "GET /styles/msie7.css HTTP/1.1" 200 1693 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.optus.com.au - - [22/Apr/2009:18:54:09 +1200] "GET /styles/msie7.css HTTP/1.1" 200 37 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:54:09 +1200] "GET /gallery.php HTTP/1.0" 200 51185 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:09 +1200] "GET /gallery.php?section=sport HTTP/1.1" 200 1373 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:10 +1200] "GET /adclick.php?c=YI32 HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" cache.optus.com.au - - [22/Apr/2009:18:54:10 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:10 +1200] "GET /adclick.php?c=AW2M HTTP/1.1" 302 377 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-364.ihug.co.nz - - [22/Apr/2009:18:54:10 +1200] "GET /stories/business/070301/63.htm HTTP/1.0" 200 6545 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:10 +1200] "GET /adclick.php?c=X41R HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-435.dialup.xtra.co.nz - - [22/Apr/2009:18:54:10 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:10 +1200] "GET /stories/science/070922/33.htm HTTP/1.1" 200 4231 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.32.127.27 - - [22/Apr/2009:18:54:10 +1200] "GET /news.html HTTP/1.1" 200 107093 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:10 +1200] "GET /gallery.php?section=entertainment HTTP/1.1" 200 990 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:10 +1200] "GET /latest.php?category=politics HTTP/1.1" 200 1450 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:54:10 +1200] "GET /js/adclient.js HTTP/1.0" 200 5993 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:10 +1200] "GET /latest.php HTTP/1.1" 200 698 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-435.dialup.xtra.co.nz - - [22/Apr/2009:18:54:10 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:54:10 +1200] "GET /js/menu.js HTTP/1.0" 200 6377 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:10 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 1362 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:54:10 +1200] "GET /adclick.php?c=ABTJ HTTP/1.0" 302 368 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.optus.com.au - - [22/Apr/2009:18:54:10 +1200] "GET /adclick.php?c=PBNI HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.optus.com.au - - [22/Apr/2009:18:54:10 +1200] "GET /images/nav/tab_left_center.gif HTTP/1.1" 200 96 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:54:10 +1200] "GET /latest.php HTTP/1.0" 200 3021 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:11 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 1004 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-435.dialup.xtra.co.nz - - [22/Apr/2009:18:54:11 +1200] "GET /adclick.php?c=YI32 HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" cache.optus.com.au - - [22/Apr/2009:18:54:11 +1200] "GET /news.html HTTP/1.1" 200 3032 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:11 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 1084 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-435.dialup.xtra.co.nz - - [22/Apr/2009:18:54:11 +1200] "GET /stories/weather/070801/33.htm HTTP/1.1" 200 3032 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:54:11 +1200] "GET /adclick.php?c=TG3A HTTP/1.0" 302 366 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:54:11 +1200] "GET /adclick.php?c=AW2M HTTP/1.0" 302 367 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:11 +1200] "GET /styles/site.css HTTP/1.1" 200 3396 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:11 +1200] "GET /images/ad/RH4Y.jpeg HTTP/1.1" 200 1017 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:54:11 +1200] "GET /currency.php HTTP/1.0" 200 3687 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:54:11 +1200] "GET /gallery.php?section=entertainment HTTP/1.0" 200 1360 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-451.dialup.xtra.co.nz - - [22/Apr/2009:18:54:11 +1200] "GET /adclick.php?c=H34K HTTP/1.1" 302 380 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:11 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 279 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:11 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1012 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:11 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 1099 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" cache.optus.com.au - - [22/Apr/2009:18:54:11 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 3716 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy.aol.com - - [22/Apr/2009:18:54:11 +1200] "GET /news.html HTTP/1.1" 200 57226 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.245.112.114 - - [22/Apr/2009:18:54:11 +1200] "GET /latest.php?category=politics HTTP/1.1" 200 1450 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:11 +1200] "GET /images/nav/tab_right_middle.gif HTTP/1.1" 200 1048 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:54:11 +1200] "GET /images/photos/5332.jpg HTTP/1.0" 200 1084 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:54:11 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.0" 200 1004 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:11 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 2048 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:54:11 +1200] "GET /adclick.php?c=EB2Q HTTP/1.0" 302 366 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:54:11 +1200] "GET /adclick.php?c=TG3A HTTP/1.0" 302 367 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:54:11 +1200] "GET /adclick.php?c=2ER3 HTTP/1.0" 302 366 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.optus.com.au - - [22/Apr/2009:18:54:11 +1200] "GET /styles/msie7.css HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.optus.com.au - - [22/Apr/2009:18:54:11 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 261 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:54:11 +1200] "GET /images/ad/RH4Y.jpeg HTTP/1.0" 200 1017 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.32.127.27 - - [22/Apr/2009:18:54:11 +1200] "GET /currency.php HTTP/1.1" 200 62753 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:54:11 +1200] "GET /latest.php?category=business HTTP/1.0" 200 618 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:54:11 +1200] "GET /news.html HTTP/1.0" 200 4218 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-484.aol.com - - [22/Apr/2009:18:54:11 +1200] "GET /stories/business/070801/12.htm HTTP/1.0" 200 60510 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:11 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 279 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-291.dialup.xtra.co.nz - - [22/Apr/2009:18:54:12 +1200] "GET /stories/science/080325/82.htm HTTP/1.0" 200 685 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:12 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 245 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.optus.com.au - - [22/Apr/2009:18:54:12 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 966 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.optus.com.au - - [22/Apr/2009:18:54:12 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 139 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:12 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 1020 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:12 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 245 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" cache.optus.com.au - - [22/Apr/2009:18:54:12 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 897 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:12 +1200] "GET /images/favicon.ico HTTP/1.1" 200 2824 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" cache.optus.com.au - - [22/Apr/2009:18:54:12 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 915 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:12 +1200] "GET /adclick.php?c=NT4P HTTP/1.1" 302 377 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:12 +1200] "GET /latest.php?category=politics HTTP/1.1" 200 1450 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:12 +1200] "GET /images/ad/A94L.jpeg HTTP/1.1" 200 5612 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-435.dialup.xtra.co.nz - - [22/Apr/2009:18:54:12 +1200] "GET /adclick.php?c=2ER3 HTTP/1.1" 302 378 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:12 +1200] "GET /news.html HTTP/1.1" 200 4230 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.optus.com.au - - [22/Apr/2009:18:54:12 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 957 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:12 +1200] "GET /styles/site.css HTTP/1.1" 200 3396 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" cache.optus.com.au - - [22/Apr/2009:18:54:12 +1200] "GET /images/ad/N4FQ.jpeg HTTP/1.1" 200 914 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-435.dialup.xtra.co.nz - - [22/Apr/2009:18:54:12 +1200] "GET /latest.php HTTP/1.1" 200 3699 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-435.dialup.xtra.co.nz - - [22/Apr/2009:18:54:13 +1200] "GET /adclick.php?c=NT4P HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" cache.optus.com.au - - [22/Apr/2009:18:54:13 +1200] "GET /adclick.php?c=H34K HTTP/1.1" 302 378 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.245.112.114 - - [22/Apr/2009:18:54:13 +1200] "GET /stories/weather/070801/33.htm HTTP/1.1" 200 990 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-435.dialup.xtra.co.nz - - [22/Apr/2009:18:54:13 +1200] "GET /spacer.gif HTTP/1.1" 404 37 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.245.112.114 - - [22/Apr/2009:18:54:13 +1200] "GET /latest.php HTTP/1.1" 200 4232 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:13 +1200] "GET /adclick.php?c=3ERO HTTP/1.1" 302 376 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.optus.com.au - - [22/Apr/2009:18:54:13 +1200] "GET /adclick.php?c=X41R HTTP/1.1" 302 380 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:13 +1200] "GET /styles/msie7.css HTTP/1.1" 200 37 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-328.comcast.net - - [22/Apr/2009:18:54:13 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 2048 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:13 +1200] "GET /styles/msie7.css HTTP/1.1" 200 1693 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-589.aol.com - - [22/Apr/2009:18:54:13 +1200] "GET /news.html HTTP/1.0" 200 6944 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:13 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:54:13 +1200] "GET /styles/msie6.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-435.dialup.xtra.co.nz - - [22/Apr/2009:18:54:13 +1200] "GET /news.html HTTP/1.1" 200 1868 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" cache.optus.com.au - - [22/Apr/2009:18:54:13 +1200] "GET /gallery.php?section=sport HTTP/1.1" 200 3699 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.optus.com.au - - [22/Apr/2009:18:54:13 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 836 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:13 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 1020 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-435.dialup.xtra.co.nz - - [22/Apr/2009:18:54:14 +1200] "GET /news.html HTTP/1.1" 200 2031 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-435.dialup.xtra.co.nz - - [22/Apr/2009:18:54:14 +1200] "GET /latest.php?category=politics HTTP/1.1" 200 1450 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:14 +1200] "GET /adclick.php?c=AG3F HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.245.112.114 - - [22/Apr/2009:18:54:14 +1200] "GET /stories/weather/070801/33.htm HTTP/1.1" 200 990 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.optus.com.au - - [22/Apr/2009:18:54:14 +1200] "GET /stories/business/071203/53.htm HTTP/1.1" 200 1371 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:14 +1200] "GET /stories/entertainment/070801/34.htm HTTP/1.1" 200 989 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.245.112.114 - - [22/Apr/2009:18:54:14 +1200] "GET /stories/science/070922/33.htm HTTP/1.1" 200 699 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-435.dialup.xtra.co.nz - - [22/Apr/2009:18:54:14 +1200] "GET /robots.txt HTTP/1.1" 404 27 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:14 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 380 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.87.247.241 - - [22/Apr/2009:18:54:14 +1200] "GET /stories/business/070801/37.htm HTTP/1.1" 200 61065 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:14 +1200] "GET /images/nav/tab_left_center.gif HTTP/1.1" 200 96 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:14 +1200] "GET /latest.php HTTP/1.1" 200 3033 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.245.112.114 - - [22/Apr/2009:18:54:15 +1200] "GET /images/ad/NXM2.jpeg HTTP/1.1" 200 1016 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.optus.com.au - - [22/Apr/2009:18:54:15 +1200] "GET /adclick.php?c=YI32 HTTP/1.1" 302 378 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.optus.com.au - - [22/Apr/2009:18:54:15 +1200] "GET /adclick.php?c=AW2M HTTP/1.1" 302 377 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:15 +1200] "GET /styles/msie7.css HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:15 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 3716 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.optus.com.au - - [22/Apr/2009:18:54:15 +1200] "GET /adclick.php?c=H34K HTTP/1.1" 302 380 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.optus.com.au - - [22/Apr/2009:18:54:15 +1200] "GET /stories/science/070922/33.htm HTTP/1.1" 200 4231 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.245.112.114 - - [22/Apr/2009:18:54:15 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 874 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-435.dialup.xtra.co.nz - - [22/Apr/2009:18:54:15 +1200] "GET /robots.txt HTTP/1.1" 404 27 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:15 +1200] "GET /news.html HTTP/1.1" 200 698 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-435.dialup.xtra.co.nz - - [22/Apr/2009:18:54:15 +1200] "GET /robots.txt HTTP/1.1" 404 27 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:15 +1200] "GET /images/favicon.ico HTTP/1.1" 200 2824 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-364.ihug.co.nz - - [22/Apr/2009:18:54:15 +1200] "GET /stories.php HTTP/1.0" 200 6685 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:15 +1200] "GET /images/ad/A94L.jpeg HTTP/1.1" 200 5612 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.optus.com.au - - [22/Apr/2009:18:54:15 +1200] "GET /gallery.php?section=entertainment HTTP/1.1" 200 990 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.optus.com.au - - [22/Apr/2009:18:54:15 +1200] "GET /stories/science/070922/33.htm HTTP/1.1" 200 699 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-435.dialup.xtra.co.nz - - [22/Apr/2009:18:54:15 +1200] "GET /adclick.php?c=JAKL HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-435.dialup.xtra.co.nz - - [22/Apr/2009:18:54:15 +1200] "GET /adclick.php?c=AG3F HTTP/1.1" 302 376 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" cache.optus.com.au - - [22/Apr/2009:18:54:16 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 313 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-435.dialup.xtra.co.nz - - [22/Apr/2009:18:54:16 +1200] "GET /business-news.rss HTTP/1.1" 200 4232 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-435.dialup.xtra.co.nz - - [22/Apr/2009:18:54:16 +1200] "GET /stories/politics/080201/41.htm HTTP/1.1" 200 989 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.32.127.27 - - [22/Apr/2009:18:54:16 +1200] "GET /latest.php HTTP/1.1" 200 64579 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" cache.optus.com.au - - [22/Apr/2009:18:54:16 +1200] "GET /images/ad/FDE4.jpeg HTTP/1.1" 200 1196 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.245.112.114 - - [22/Apr/2009:18:54:16 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 181 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-432.paradise.net.nz - - [22/Apr/2009:18:54:16 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.optus.com.au - - [22/Apr/2009:18:54:16 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 831 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-435.dialup.xtra.co.nz - - [22/Apr/2009:18:54:16 +1200] "GET /adclick.php?c=NT4P HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-432.paradise.net.nz - - [22/Apr/2009:18:54:16 +1200] "GET /faq.html HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.optus.com.au - - [22/Apr/2009:18:54:16 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1657 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.comcast.net - - [22/Apr/2009:18:54:16 +1200] "GET /news.html HTTP/1.0" 200 59616 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-435.dialup.xtra.co.nz - - [22/Apr/2009:18:54:16 +1200] "GET /gallery.php?section=sport HTTP/1.1" 200 698 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" cache.optus.com.au - - [22/Apr/2009:18:54:16 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 2834 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.21.27.9 - - [22/Apr/2009:18:54:16 +1200] "GET /stories.php?date=2005 HTTP/1.0" 200 70275 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:54:16 +1200] "GET /styles/site.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.optus.com.au - - [22/Apr/2009:18:54:16 +1200] "GET /images/ad/NXM2.jpeg HTTP/1.1" 200 1016 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.78.155.100 - - [22/Apr/2009:18:54:17 +1200] "GET /stories/world/080201/47.htm HTTP/1.1" 200 6304 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.optus.com.au - - [22/Apr/2009:18:54:17 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 874 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.optus.com.au - - [22/Apr/2009:18:54:17 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 181 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.optus.com.au - - [22/Apr/2009:18:54:17 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 988 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.optus.com.au - - [22/Apr/2009:18:54:17 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 986 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.optus.com.au - - [22/Apr/2009:18:54:17 +1200] "GET /images/photos/534.jpg HTTP/1.1" 200 1370 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.optus.com.au - - [22/Apr/2009:18:54:18 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 1362 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.optus.com.au - - [22/Apr/2009:18:54:18 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1012 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:18 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 261 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:18 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 139 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.245.112.114 - - [22/Apr/2009:18:54:18 +1200] "GET /images/ad/FDE4.jpeg HTTP/1.1" 200 1196 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.245.112.114 - - [22/Apr/2009:18:54:18 +1200] "GET /styles/msie7.css HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.optus.com.au - - [22/Apr/2009:18:54:18 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 1099 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:18 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 897 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.optus.com.au - - [22/Apr/2009:18:54:18 +1200] "GET /images/nav/tab_right_middle.gif HTTP/1.1" 200 1048 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-750.dsl.clear.net.nz - - [22/Apr/2009:18:54:18 +1200] "GET /gallery.php?section=business HTTP/1.0" 200 6285 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy.bellsouth.net - - [22/Apr/2009:18:54:18 +1200] "GET /news.html HTTP/1.0" 200 6775 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:18 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 915 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-521.global-gateway.net.nz - - [22/Apr/2009:18:54:18 +1200] "GET /news.html HTTP/1.1" 200 0 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:18 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 957 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.optus.com.au - - [22/Apr/2009:18:54:18 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 279 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.optus.com.au - - [22/Apr/2009:18:54:19 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 245 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:19 +1200] "GET /images/ad/N4FQ.jpeg HTTP/1.1" 200 914 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:19 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 836 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.optus.com.au - - [22/Apr/2009:18:54:19 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 1020 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:54:19 +1200] "GET /styles/msie7.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.optus.com.au - - [22/Apr/2009:18:54:19 +1200] "GET /images/favicon.ico HTTP/1.1" 200 2824 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:19 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 313 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.32.127.27 - - [22/Apr/2009:18:54:19 +1200] "GET /news.html HTTP/1.1" 200 78851 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:19 +1200] "GET /images/ad/FDE4.jpeg HTTP/1.1" 200 1196 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:19 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-432.paradise.net.nz - - [22/Apr/2009:18:54:19 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy.aol.com - - [22/Apr/2009:18:54:19 +1200] "GET /gallery.php?section=health HTTP/1.1" 200 56814 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:19 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 831 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.optus.com.au - - [22/Apr/2009:18:54:19 +1200] "GET /images/ad/A94L.jpeg HTTP/1.1" 200 5612 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-432.paradise.net.nz - - [22/Apr/2009:18:54:19 +1200] "GET /stories.php?date=2007 HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.21.27.9 - - [22/Apr/2009:18:54:19 +1200] "GET /adclick.php?c=2ER3 HTTP/1.0" 302 366 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:19 +1200] "GET /news.html HTTP/1.1" 200 98257 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:19 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1657 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:20 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.optus.com.au - - [22/Apr/2009:18:54:20 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 244 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:20 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:20 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:20 +1200] "GET /adclick.php?c=AW2M HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.245.112.114 - - [22/Apr/2009:18:54:20 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 831 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:20 +1200] "GET /stories.php?date=yesterday HTTP/1.1" 200 3032 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:20 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 2834 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:20 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:20 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:20 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1657 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:20 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:20 +1200] "GET /styles/msie7.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-343.ask.com - - [22/Apr/2009:18:54:20 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 244 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.optus.com.au - - [22/Apr/2009:18:54:21 +1200] "GET /latest.php HTTP/1.0" 200 46362 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.32.127.27 - - [22/Apr/2009:18:54:21 +1200] "GET /stories/sport/080420/33.htm HTTP/1.1" 200 76230 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:21 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:21 +1200] "GET /adclick.php?c=EB2Q HTTP/1.1" 302 380 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:22 +1200] "GET /latest.php?category=national HTTP/1.1" 200 3700 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.245.112.114 - - [22/Apr/2009:18:54:22 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 988 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.21.27.9 - - [22/Apr/2009:18:54:22 +1200] "GET /stories/science/080325/82.htm HTTP/1.0" 200 685 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:22 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:22 +1200] "GET /links.html HTTP/1.1" 200 2726 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:22 +1200] "GET /images/photos/455.jpg HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-364.ihug.co.nz - - [22/Apr/2009:18:54:22 +1200] "GET /news.html HTTP/1.0" 200 7007 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:23 +1200] "GET /adclick.php?c=3ERO HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:23 +1200] "GET /adclick.php?c=X41R HTTP/1.1" 302 377 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:23 +1200] "GET /adclick.php?c=X41R HTTP/1.1" 302 377 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:23 +1200] "GET /images/ad/NXM2.jpeg HTTP/1.1" 200 1016 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:23 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:23 +1200] "GET /news.html HTTP/1.1" 200 1868 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:23 +1200] "GET /latest.php HTTP/1.1" 200 4232 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:23 +1200] "GET /stories/weather/070801/33.htm HTTP/1.1" 200 990 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:23 +1200] "GET /latest.php?category=politics HTTP/1.1" 200 1450 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:23 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 874 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:23 +1200] "GET /stories/weather/070801/33.htm HTTP/1.1" 200 990 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:23 +1200] "GET /stories/entertainment/070801/34.htm HTTP/1.1" 200 698 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:23 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 181 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.21.27.9 - - [22/Apr/2009:18:54:23 +1200] "GET /adclick.php?c=X41R HTTP/1.0" 302 365 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy.aol.com - - [22/Apr/2009:18:54:23 +1200] "GET /stories/politics/080201/49.htm HTTP/1.1" 200 53738 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:23 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 966 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:23 +1200] "GET /images/nav/tab_right_middle.gif HTTP/1.1" 200 1179 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:23 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:23 +1200] "GET /images/photos/824.jpg HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:23 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:23 +1200] "GET /images/photos/84.jpg HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:23 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:23 +1200] "GET /images/ad/RH4Y.jpeg HTTP/1.1" 200 1031 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.21.27.9 - - [22/Apr/2009:18:54:23 +1200] "GET /stories/weather/070801/33.htm HTTP/1.0" 200 978 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:23 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 1376 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:24 +1200] "GET /images/photos/355.jpg HTTP/1.1" 200 1373 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-675.dialup.xtra.co.nz - - [22/Apr/2009:18:54:24 +1200] "GET /adclick.php?c=AW2M HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:24 +1200] "GET /images/ad/A94L.jpeg HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-675.dialup.xtra.co.nz - - [22/Apr/2009:18:54:24 +1200] "GET /adclick.php?c=EB2Q HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:24 +1200] "GET /images/favicon.ico HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-675.dialup.xtra.co.nz - - [22/Apr/2009:18:54:24 +1200] "GET /adclick.php?c=YI32 HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-675.dialup.xtra.co.nz - - [22/Apr/2009:18:54:24 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:24 +1200] "GET /styles/ie4.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:24 +1200] "GET /styles/site.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.32.127.27 - - [22/Apr/2009:18:54:24 +1200] "GET /news.html HTTP/1.1" 200 75945 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-620.ihug.co.nz - - [22/Apr/2009:18:54:24 +1200] "GET /robots.txt HTTP/1.1" 404 27 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy.aol.com - - [22/Apr/2009:18:54:24 +1200] "GET /stories/business/070801/55.htm HTTP/1.1" 200 50951 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-531.dialup.xtra.co.nz - - [22/Apr/2009:18:54:25 +1200] "GET /gallery.php?section=sport HTTP/1.1" 200 51952 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.41.145.69 - - [22/Apr/2009:18:54:25 +1200] "GET /latest.php HTTP/1.1" 200 51404 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.21.27.9 - - [22/Apr/2009:18:54:25 +1200] "GET /adclick.php?c=AW2M HTTP/1.0" 302 366 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-675.dialup.xtra.co.nz - - [22/Apr/2009:18:54:25 +1200] "GET /news.html HTTP/1.1" 200 2666 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-675.dialup.xtra.co.nz - - [22/Apr/2009:18:54:25 +1200] "GET /stories/entertainment/061105/30.htm HTTP/1.1" 200 332 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-675.dialup.xtra.co.nz - - [22/Apr/2009:18:54:25 +1200] "GET /stories.php HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" www.aol.com - - [22/Apr/2009:18:54:25 +1200] "GET /latest.php HTTP/1.0" 200 6582 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-675.dialup.xtra.co.nz - - [22/Apr/2009:18:54:26 +1200] "GET /stories/national/080201/1.htm HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.21.27.9 - - [22/Apr/2009:18:54:26 +1200] "GET /stories/science/070922/33.htm HTTP/1.0" 200 4218 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.87.247.241 - - [22/Apr/2009:18:54:26 +1200] "GET /gallery.php?section=entertainment HTTP/1.1" 200 51266 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-476.ihug.co.nz - - [22/Apr/2009:18:54:26 +1200] "GET /feedback.php HTTP/1.0" 200 47184 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.32.127.27 - - [22/Apr/2009:18:54:27 +1200] "GET /latest.php HTTP/1.1" 200 74099 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.87.247.241 - - [22/Apr/2009:18:54:27 +1200] "GET /gallery.php?section=health HTTP/1.1" 200 54484 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.245.112.114 - - [22/Apr/2009:18:54:28 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 986 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-364.ihug.co.nz - - [22/Apr/2009:18:54:28 +1200] "GET /news.html HTTP/1.0" 200 6608 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.245.112.114 - - [22/Apr/2009:18:54:28 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 279 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-468.aol.com - - [22/Apr/2009:18:54:28 +1200] "GET /stories.php?date=yesterday HTTP/1.0" 200 46750 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.21.27.9 - - [22/Apr/2009:18:54:29 +1200] "GET /latest.php?category=politics HTTP/1.0" 200 1438 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.87.247.241 - - [22/Apr/2009:18:54:29 +1200] "GET /stories/business/070801/55.htm HTTP/1.1" 200 6478 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.21.27.9 - - [22/Apr/2009:18:54:29 +1200] "GET /adclick.php?c=LME2 HTTP/1.0" 302 366 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.245.112.114 - - [22/Apr/2009:18:54:29 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 245 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.32.127.27 - - [22/Apr/2009:18:54:30 +1200] "GET /stories.php?date=2005 HTTP/1.1" 200 70352 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.21.27.9 - - [22/Apr/2009:18:54:30 +1200] "GET /stories/national/070309/19.htm HTTP/1.0" 200 3687 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-454.crawl.yahoo.net - - [22/Apr/2009:18:54:30 +1200] "GET /stories.php?date=2006 HTTP/1.0" 200 56726 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.245.112.114 - - [22/Apr/2009:18:54:30 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 1020 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-648.comcast.net - - [22/Apr/2009:18:54:31 +1200] "GET /crossdomain.xml HTTP/1.0" 200 46302 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.245.112.114 - - [22/Apr/2009:18:54:31 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1199 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.bellsouth.net - - [22/Apr/2009:18:54:31 +1200] "GET /news.html HTTP/1.0" 200 7149 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.21.27.9 - - [22/Apr/2009:18:54:32 +1200] "GET /news.html HTTP/1.0" 200 1856 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.245.112.114 - - [22/Apr/2009:18:54:32 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 1061 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:54:32 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.245.112.114 - - [22/Apr/2009:18:54:32 +1200] "GET /images/ad/RH4Y.jpeg HTTP/1.1" 200 1031 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-481.telstra.com.au - - [22/Apr/2009:18:54:33 +1200] "GET /stories/business/070801/55.htm HTTP/1.0" 200 51791 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.245.112.114 - - [22/Apr/2009:18:54:33 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 1376 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.245.112.114 - - [22/Apr/2009:18:54:34 +1200] "GET /images/photos/355.jpg HTTP/1.1" 200 1373 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-364.ihug.co.nz - - [22/Apr/2009:18:54:34 +1200] "GET /latest.php HTTP/1.0" 200 6582 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.32.127.27 - - [22/Apr/2009:18:54:34 +1200] "GET /stories/politics/060301/22.htm HTTP/1.1" 200 69909 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.245.112.114 - - [22/Apr/2009:18:54:34 +1200] "GET /images/favicon.ico HTTP/1.1" 200 2824 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-512.paradise.net.nz - - [22/Apr/2009:18:54:35 +1200] "GET /latest.php?category=politics HTTP/1.0" 200 6892 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.245.112.114 - - [22/Apr/2009:18:54:35 +1200] "GET /images/ad/A94L.jpeg HTTP/1.1" 200 5612 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.245.112.114 - - [22/Apr/2009:18:54:35 +1200] "GET /styles/ie4.css HTTP/1.1" 200 3387 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:54:35 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy.aol.com - - [22/Apr/2009:18:54:35 +1200] "GET /links.html HTTP/1.1" 200 58384 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.47.82.88 - - [22/Apr/2009:18:54:36 +1200] "GET /stories.php HTTP/1.1" 200 56102 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.47.82.88 - - [22/Apr/2009:18:54:36 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.32.127.27 - - [22/Apr/2009:18:54:36 +1200] "GET /stories/politics/080201/41.htm HTTP/1.1" 200 73719 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.47.82.88 - - [22/Apr/2009:18:54:36 +1200] "GET /styles/msie6.css HTTP/1.1" 200 679 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.47.82.88 - - [22/Apr/2009:18:54:36 +1200] "GET /styles/firefox.css HTTP/1.1" 200 758 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.47.82.88 - - [22/Apr/2009:18:54:36 +1200] "GET /styles/msie6.css HTTP/1.1" 200 2283 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.47.82.88 - - [22/Apr/2009:18:54:36 +1200] "GET /styles/site.css HTTP/1.1" 200 19 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.47.82.88 - - [22/Apr/2009:18:54:36 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-634.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:36 +1200] "GET /stories/sport/070922/52.htm HTTP/1.0" 200 60747 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.47.82.88 - - [22/Apr/2009:18:54:36 +1200] "GET /styles/msie7.css HTTP/1.1" 200 37 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.47.82.88 - - [22/Apr/2009:18:54:36 +1200] "GET /styles/msie7.css HTTP/1.1" 200 1693 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:54:36 +1200] "GET /adclick.php?c=PBNI HTTP/1.1" 302 380 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.47.82.88 - - [22/Apr/2009:18:54:36 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:54:37 +1200] "GET /gallery.php HTTP/1.1" 200 3033 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.21.27.9 - - [22/Apr/2009:18:54:37 +1200] "GET /adclick.php?c=ABTJ HTTP/1.0" 302 368 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.245.112.114 - - [22/Apr/2009:18:54:37 +1200] "GET /styles/site.css HTTP/1.1" 200 3396 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.47.82.88 - - [22/Apr/2009:18:54:37 +1200] "GET /adclick.php?c=2ER3 HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.47.82.88 - - [22/Apr/2009:18:54:37 +1200] "GET /images/nav/tab_left_center.gif HTTP/1.1" 200 96 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.47.82.88 - - [22/Apr/2009:18:54:37 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 3716 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.47.82.88 - - [22/Apr/2009:18:54:37 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 139 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.47.82.88 - - [22/Apr/2009:18:54:37 +1200] "GET /gallery.php?section=sport HTTP/1.1" 200 3032 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.47.82.88 - - [22/Apr/2009:18:54:37 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 897 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.47.82.88 - - [22/Apr/2009:18:54:37 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 966 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:37 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 988 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:37 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 986 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.47.82.88 - - [22/Apr/2009:18:54:37 +1200] "GET /styles/msie7.css HTTP/1.1" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.47.82.88 - - [22/Apr/2009:18:54:37 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 915 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.47.82.88 - - [22/Apr/2009:18:54:37 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 957 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.47.82.88 - - [22/Apr/2009:18:54:37 +1200] "GET /images/ad/N4FQ.jpeg HTTP/1.1" 200 914 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.47.82.88 - - [22/Apr/2009:18:54:37 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 836 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-314.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:37 +1200] "GET /stories/sport/080223/15.htm HTTP/1.0" 200 7212 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.47.82.88 - - [22/Apr/2009:18:54:37 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 313 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.47.82.88 - - [22/Apr/2009:18:54:37 +1200] "GET /images/ad/FDE4.jpeg HTTP/1.1" 200 1196 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.21.27.9 - - [22/Apr/2009:18:54:37 +1200] "GET /latest.php HTTP/1.0" 200 3021 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.47.82.88 - - [22/Apr/2009:18:54:37 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 831 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.47.82.88 - - [22/Apr/2009:18:54:37 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1657 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:37 +1200] "GET /adclick.php?c=TG3A HTTP/1.1" 302 378 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.47.82.88 - - [22/Apr/2009:18:54:37 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 2834 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.47.82.88 - - [22/Apr/2009:18:54:37 +1200] "GET /images/ad/NXM2.jpeg HTTP/1.1" 200 1016 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:37 +1200] "GET /adclick.php?c=AW2M HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.47.82.88 - - [22/Apr/2009:18:54:37 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 181 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.47.82.88 - - [22/Apr/2009:18:54:37 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 874 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-716.ihug.co.nz - - [22/Apr/2009:18:54:37 +1200] "GET /stories/world/080201/47.htm HTTP/1.0" 200 52246 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-527.bellsouth.net - - [22/Apr/2009:18:54:37 +1200] "GET /latest.php?category=national HTTP/1.0" 304 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.47.82.88 - - [22/Apr/2009:18:54:37 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 261 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:37 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 1004 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-527.bellsouth.net - - [22/Apr/2009:18:54:38 +1200] "GET /js/adclient.js HTTP/1.0" 200 5993 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:38 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:38 +1200] "GET /stories.php HTTP/1.1" 200 50632 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-716.ihug.co.nz - - [22/Apr/2009:18:54:38 +1200] "GET /js/menu.js HTTP/1.0" 200 6377 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.aol.com - - [22/Apr/2009:18:54:38 +1200] "GET /adclick.php?c=EB2Q HTTP/1.0" 301 324 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-716.ihug.co.nz - - [22/Apr/2009:18:54:38 +1200] "GET /adclick.php?c=ABTJ HTTP/1.0" 302 368 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.251.30.23 - - [22/Apr/2009:18:54:38 +1200] "GET /stories/business/070301/63.htm HTTP/1.1" 200 54721 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:38 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 244 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-527.bellsouth.net - - [22/Apr/2009:18:54:38 +1200] "GET /latest.php HTTP/1.0" 200 3021 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:38 +1200] "GET /styles/msie6.css HTTP/1.1" 200 2283 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:38 +1200] "GET /styles/msie6.css HTTP/1.1" 200 679 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:38 +1200] "GET /styles/firefox.css HTTP/1.1" 200 758 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:38 +1200] "GET /styles/site.css HTTP/1.1" 200 19 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:38 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.47.82.88 - - [22/Apr/2009:18:54:38 +1200] "GET /adclick.php?c=YI32 HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.245.112.114 - - [22/Apr/2009:18:54:38 +1200] "GET /robots.txt HTTP/1.1" 404 27 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:38 +1200] "GET /styles/msie7.css HTTP/1.1" 200 37 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:38 +1200] "GET /styles/msie7.css HTTP/1.1" 200 1693 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:38 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.47.82.88 - - [22/Apr/2009:18:54:39 +1200] "GET /adclick.php?c=TG3A HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:39 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:39 +1200] "GET /images/nav/tab_left_center.gif HTTP/1.1" 200 96 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:39 +1200] "GET /news.html HTTP/1.1" 200 3032 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.32.127.27 - - [22/Apr/2009:18:54:39 +1200] "GET /gallery.php HTTP/1.1" 200 73910 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy.aol.com - - [22/Apr/2009:18:54:39 +1200] "GET /faq.html HTTP/1.1" 200 32800 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-716.ihug.co.nz - - [22/Apr/2009:18:54:39 +1200] "GET /adclick.php?c=TG3A HTTP/1.0" 302 366 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-716.ihug.co.nz - - [22/Apr/2009:18:54:39 +1200] "GET /adclick.php?c=AW2M HTTP/1.0" 302 367 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:39 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 3716 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-527.bellsouth.net - - [22/Apr/2009:18:54:39 +1200] "GET /currency.php HTTP/1.0" 200 3687 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.47.82.88 - - [22/Apr/2009:18:54:39 +1200] "GET /news.html HTTP/1.1" 200 3700 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-527.bellsouth.net - - [22/Apr/2009:18:54:39 +1200] "GET /stories.php?date=yesterday HTTP/1.0" 200 2019 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.47.82.88 - - [22/Apr/2009:18:54:39 +1200] "GET /stories.php?date=yesterday HTTP/1.1" 200 1340 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:39 +1200] "GET /styles/msie7.css HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-364.ihug.co.nz - - [22/Apr/2009:18:54:39 +1200] "GET /stories/politics/060301/22.htm HTTP/1.0" 200 6509 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:39 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 966 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:39 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 261 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.47.82.88 - - [22/Apr/2009:18:54:39 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 986 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:39 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 897 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:39 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 139 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.47.82.88 - - [22/Apr/2009:18:54:39 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 988 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.245.112.114 - - [22/Apr/2009:18:54:39 +1200] "GET /images/nav/tab_right_middle.gif HTTP/1.1" 200 1179 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:39 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 915 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:39 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 957 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:40 +1200] "GET /images/ad/N4FQ.jpeg HTTP/1.1" 200 914 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:40 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 836 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-521.global-gateway.net.nz - - [22/Apr/2009:18:54:40 +1200] "GET /news.html HTTP/1.1" 200 32800 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-527.bellsouth.net - - [22/Apr/2009:18:54:40 +1200] "GET /adclick.php?c=EB2Q HTTP/1.0" 302 366 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-527.bellsouth.net - - [22/Apr/2009:18:54:40 +1200] "GET /adclick.php?c=TG3A HTTP/1.0" 302 367 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-527.bellsouth.net - - [22/Apr/2009:18:54:40 +1200] "GET /adclick.php?c=2ER3 HTTP/1.0" 302 366 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-716.ihug.co.nz - - [22/Apr/2009:18:54:40 +1200] "GET /news.html HTTP/1.0" 200 1856 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-716.ihug.co.nz - - [22/Apr/2009:18:54:40 +1200] "GET /news.html HTTP/1.0" 200 4218 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-527.bellsouth.net - - [22/Apr/2009:18:54:40 +1200] "GET /latest.php?category=business HTTP/1.0" 200 618 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-716.ihug.co.nz - - [22/Apr/2009:18:54:40 +1200] "GET /stories/science/080325/82.htm HTTP/1.0" 200 685 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.aol.com - - [22/Apr/2009:18:54:40 +1200] "GET /stories/science/080325/82.htm HTTP/1.0" 200 65051 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:40 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 313 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:40 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 2834 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.245.112.114 - - [22/Apr/2009:18:54:40 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 1405 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:40 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1657 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:40 +1200] "GET /images/ad/FDE4.jpeg HTTP/1.1" 200 1196 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:40 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 831 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:40 +1200] "GET /images/ad/NXM2.jpeg HTTP/1.1" 200 1016 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:40 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 874 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:40 +1200] "GET /currency.php HTTP/1.1" 200 3699 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:40 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 181 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.47.82.88 - - [22/Apr/2009:18:54:40 +1200] "GET /adclick.php?c=AW2M HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-716.ihug.co.nz - - [22/Apr/2009:18:54:40 +1200] "GET /styles/ie4.css HTTP/1.0" 304 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-527.bellsouth.net - - [22/Apr/2009:18:54:40 +1200] "GET /latest.php?category=politics HTTP/1.0" 200 1438 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.47.82.88 - - [22/Apr/2009:18:54:40 +1200] "GET /latest.php HTTP/1.1" 200 4231 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.47.82.88 - - [22/Apr/2009:18:54:40 +1200] "GET /adclick.php?c=EB2Q HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.47.82.88 - - [22/Apr/2009:18:54:41 +1200] "GET /adclick.php?c=X3HG HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-527.bellsouth.net - - [22/Apr/2009:18:54:41 +1200] "GET /robots.txt HTTP/1.0" 404 15 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:41 +1200] "GET /adclick.php?c=EB2Q HTTP/1.1" 302 378 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.47.82.88 - - [22/Apr/2009:18:54:41 +1200] "GET /latest-news.rss HTTP/1.1" 200 630 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:41 +1200] "GET /adclick.php?c=2ER3 HTTP/1.1" 302 378 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.245.112.114 - - [22/Apr/2009:18:54:41 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 204 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.245.112.114 - - [22/Apr/2009:18:54:41 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 2048 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:41 +1200] "GET /news.html HTTP/1.1" 200 1868 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.47.82.88 - - [22/Apr/2009:18:54:41 +1200] "GET /currency.php HTTP/1.1" 200 698 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.47.82.88 - - [22/Apr/2009:18:54:41 +1200] "GET /images/favicon.ico HTTP/1.1" 200 2824 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.47.82.88 - - [22/Apr/2009:18:54:41 +1200] "GET /latest.php?category=politics HTTP/1.1" 200 1450 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.47.82.88 - - [22/Apr/2009:18:54:41 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1012 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:41 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 988 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:41 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 986 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.47.82.88 - - [22/Apr/2009:18:54:41 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 1099 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.47.82.88 - - [22/Apr/2009:18:54:41 +1200] "GET /images/nav/tab_right_middle.gif HTTP/1.1" 200 1048 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.47.82.88 - - [22/Apr/2009:18:54:41 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 279 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-418.optus.com.au - - [22/Apr/2009:18:54:41 +1200] "GET /stories/entertainment/070825/233.htm HTTP/1.0" 200 61398 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.47.82.88 - - [22/Apr/2009:18:54:41 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 245 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.47.82.88 - - [22/Apr/2009:18:54:41 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 1020 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.47.82.88 - - [22/Apr/2009:18:54:41 +1200] "GET /images/ad/A94L.jpeg HTTP/1.1" 200 5612 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:41 +1200] "GET /adclick.php?c=TG3A HTTP/1.1" 302 378 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:42 +1200] "GET /adclick.php?c=H34K HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.47.82.88 - - [22/Apr/2009:18:54:42 +1200] "GET /styles/site.css HTTP/1.1" 200 3396 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:42 +1200] "GET /currency.php HTTP/1.1" 200 3699 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:42 +1200] "GET /gallery.php?section=entertainment HTTP/1.1" 200 1372 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:42 +1200] "GET /news.html HTTP/1.1" 200 1380 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:42 +1200] "GET /adclick.php?c=TG3A HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy.aol.com - - [22/Apr/2009:18:54:42 +1200] "GET /faq.html HTTP/1.1" 200 50789 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:42 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 1004 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:42 +1200] "GET /news.html HTTP/1.1" 200 4231 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:42 +1200] "GET /adclick.php?c=EB2Q HTTP/1.1" 302 378 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:42 +1200] "GET /adclick.php?c=TG3A HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:42 +1200] "GET /adclick.php?c=GD52 HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:42 +1200] "GET /news.html HTTP/1.1" 200 4231 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:42 +1200] "GET /latest.php?category=business HTTP/1.1" 200 630 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:43 +1200] "GET /crossdomain.xml HTTP/1.1" 200 698 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:43 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 1084 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.47.82.88 - - [22/Apr/2009:18:54:43 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 2048 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-531.dialup.xtra.co.nz - - [22/Apr/2009:18:54:43 +1200] "GET /news.html HTTP/1.1" 200 151488 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:43 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 279 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:43 +1200] "GET /images/ad/RH4Y.jpeg HTTP/1.1" 200 1017 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:43 +1200] "GET /news.html HTTP/1.1" 200 1868 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:43 +1200] "GET /latest.php?category=politics HTTP/1.1" 200 1450 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:43 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 1020 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.32.127.27 - - [22/Apr/2009:18:54:43 +1200] "GET /news.html HTTP/1.1" 200 74181 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:43 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 245 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:43 +1200] "GET /images/favicon.ico HTTP/1.1" 200 2824 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:43 +1200] "GET /images/ad/A94L.jpeg HTTP/1.1" 200 5612 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:43 +1200] "GET /styles/site.css HTTP/1.1" 200 3396 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-333.aol.com - - [22/Apr/2009:18:54:43 +1200] "GET /news.html HTTP/1.0" 200 6609 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:43 +1200] "GET /styles/ie4.css HTTP/1.1" 200 3387 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.paradise.net.nz - - [22/Apr/2009:18:54:44 +1200] "GET /crossdomain.xml HTTP/1.1" 200 62845 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.paradise.net.nz - - [22/Apr/2009:18:54:44 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.paradise.net.nz - - [22/Apr/2009:18:54:44 +1200] "GET /styles/msie6.css HTTP/1.1" 200 2283 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.paradise.net.nz - - [22/Apr/2009:18:54:44 +1200] "GET /styles/msie6.css HTTP/1.1" 200 679 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:45 +1200] "GET /robots.txt HTTP/1.1" 404 27 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:45 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 1405 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.dialup.xtra.co.nz - - [22/Apr/2009:18:54:45 +1200] "GET /stories/politics/080201/41.htm HTTP/1.1" 200 48851 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.paradise.net.nz - - [22/Apr/2009:18:54:45 +1200] "GET /styles/site.css HTTP/1.1" 200 19 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:45 +1200] "GET /stories/science/080325/82.htm HTTP/1.1" 200 697 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-364.ihug.co.nz - - [22/Apr/2009:18:54:45 +1200] "GET /news.html HTTP/1.0" 200 7114 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:45 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 204 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:45 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 2048 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.paradise.net.nz - - [22/Apr/2009:18:54:45 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:45 +1200] "GET /latest.php?category=business HTTP/1.1" 200 630 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:45 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 1084 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:45 +1200] "GET /images/ad/RH4Y.jpeg HTTP/1.1" 200 1017 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.32.127.27 - - [22/Apr/2009:18:54:46 +1200] "GET /latest.php?category=business HTTP/1.1" 200 115828 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-690.optus.com.au - - [22/Apr/2009:18:54:46 +1200] "GET /stories.php HTTP/1.0" 200 61093 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.169.133.249 - - [22/Apr/2009:18:54:46 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 349 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:46 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 279 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-274.optus.com.au - - [22/Apr/2009:18:54:46 +1200] "GET /stories/sport/070922/52.htm HTTP/1.0" 200 63667 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.169.133.249 - - [22/Apr/2009:18:54:46 +1200] "GET /faq.html HTTP/1.1" 200 330 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:46 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 245 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:46 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 1020 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:54:47 +1200] "GET /latest.php HTTP/1.1" 200 22372 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:54:47 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:47 +1200] "GET /images/favicon.ico HTTP/1.1" 200 2824 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-675.dialup.xtra.co.nz - - [22/Apr/2009:18:54:47 +1200] "GET /adclick.php?c=AW2M HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-675.dialup.xtra.co.nz - - [22/Apr/2009:18:54:47 +1200] "GET /adclick.php?c=EB2Q HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-646.crawl.yahoo.net - - [22/Apr/2009:18:54:47 +1200] "GET /adclick.php?c=AG3F HTTP/1.1" 301 336 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" proxy-675.dialup.xtra.co.nz - - [22/Apr/2009:18:54:47 +1200] "GET /adclick.php?c=YI32 HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:47 +1200] "GET /images/ad/A94L.jpeg HTTP/1.1" 200 5612 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:54:47 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-333.aol.com - - [22/Apr/2009:18:54:47 +1200] "GET /news.html HTTP/1.0" 200 6752 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-675.dialup.xtra.co.nz - - [22/Apr/2009:18:54:47 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:54:47 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:54:47 +1200] "GET /news.html HTTP/1.1" 200 3032 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.169.133.249 - - [22/Apr/2009:18:54:48 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 349 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:48 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.169.133.249 - - [22/Apr/2009:18:54:48 +1200] "GET /stories.php?date=2007 HTTP/1.1" 200 330 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:48 +1200] "GET /styles/ie4.css HTTP/1.1" 200 3387 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.32.127.27 - - [22/Apr/2009:18:54:48 +1200] "GET /stories/business/070801/12.htm HTTP/1.1" 200 120794 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:48 +1200] "GET /gallery.php?section=entertainment HTTP/1.1" 200 62529 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:48 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:48 +1200] "GET /adclick.php?c=PBNI HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:49 +1200] "GET /news.html HTTP/1.1" 200 3032 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-675.dialup.xtra.co.nz - - [22/Apr/2009:18:54:49 +1200] "GET /stories/entertainment/061105/30.htm HTTP/1.1" 200 332 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-675.dialup.xtra.co.nz - - [22/Apr/2009:18:54:49 +1200] "GET /news.html HTTP/1.1" 200 2666 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:49 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 979 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-675.dialup.xtra.co.nz - - [22/Apr/2009:18:54:49 +1200] "GET /stories/national/080201/1.htm HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-675.dialup.xtra.co.nz - - [22/Apr/2009:18:54:49 +1200] "GET /stories.php HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:49 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 445 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-397.aol.com - - [22/Apr/2009:18:54:49 +1200] "GET /stories.php HTTP/1.1" 200 6677 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:49 +1200] "GET /adclick.php?c=EB2Q HTTP/1.1" 302 378 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:54:49 +1200] "GET /adclick.php?c=GD52 HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-689.telstra.com.au - - [22/Apr/2009:18:54:49 +1200] "GET /crossdomain.xml HTTP/1.1" 200 698 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:50 +1200] "GET /news.html HTTP/1.1" 200 3699 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:50 +1200] "GET /adclick.php?c=3ERO HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-716.ihug.co.nz - - [22/Apr/2009:18:54:50 +1200] "GET /stories.php HTTP/1.0" 200 45869 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-501.googlebot.com - - [22/Apr/2009:18:54:50 +1200] "GET /stories/politics/060301/22.htm HTTP/1.0" 200 7044 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:50 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1199 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:50 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 1061 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:50 +1200] "GET /adclick.php?c=X41R HTTP/1.1" 302 377 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.39.35.118 - - [22/Apr/2009:18:54:50 +1200] "GET /stories/business/070201/7.htm HTTP/1.1" 200 6695 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy.aol.com - - [22/Apr/2009:18:54:51 +1200] "GET /gallery.php?section=entertainment HTTP/1.1" 200 32800 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.32.127.27 - - [22/Apr/2009:18:54:51 +1200] "GET /stories/politics/080201/49.htm HTTP/1.1" 200 68977 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.240.42.25 - - [22/Apr/2009:18:54:51 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 245 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.240.42.25 - - [22/Apr/2009:18:54:51 +1200] "GET /images/nav/tab_right_middle.gif HTTP/1.1" 200 1179 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.240.42.25 - - [22/Apr/2009:18:54:51 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 1020 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:51 +1200] "GET /robots.txt HTTP/1.1" 404 27 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:51 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 1405 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.240.42.25 - - [22/Apr/2009:18:54:51 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1199 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bitstream.orcon.net.nz - - [22/Apr/2009:18:54:51 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 204 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.240.42.25 - - [22/Apr/2009:18:54:51 +1200] "GET /adclick.php?c=NT4P HTTP/1.1" 302 377 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.240.42.25 - - [22/Apr/2009:18:54:51 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 1061 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:51 +1200] "GET /news.html HTTP/1.1" 200 1868 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.240.42.25 - - [22/Apr/2009:18:54:51 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 1376 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:51 +1200] "GET /latest.php?category=politics HTTP/1.1" 200 1450 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.240.42.25 - - [22/Apr/2009:18:54:51 +1200] "GET /images/photos/8834.jpg HTTP/1.1" 200 1642 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-600.comcast.net - - [22/Apr/2009:18:54:51 +1200] "GET /news.html HTTP/1.0" 200 55807 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-276.aol.com - - [22/Apr/2009:18:54:51 +1200] "GET /robots.txt HTTP/1.1" 404 27 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.240.42.25 - - [22/Apr/2009:18:54:51 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-551.ask.com - - [22/Apr/2009:18:54:52 +1200] "GET /styles/msie6.css HTTP/1.1" 200 2283 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-551.ask.com - - [22/Apr/2009:18:54:52 +1200] "GET /styles/site.css HTTP/1.1" 200 19 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-551.ask.com - - [22/Apr/2009:18:54:52 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-551.ask.com - - [22/Apr/2009:18:54:52 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-551.ask.com - - [22/Apr/2009:18:54:52 +1200] "GET /gallery.php?section=business HTTP/1.1" 200 60724 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-551.ask.com - - [22/Apr/2009:18:54:52 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-551.ask.com - - [22/Apr/2009:18:54:52 +1200] "GET /styles/msie7.css HTTP/1.1" 200 37 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-551.ask.com - - [22/Apr/2009:18:54:52 +1200] "GET /styles/msie7.css HTTP/1.1" 200 1693 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-551.ask.com - - [22/Apr/2009:18:54:52 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.240.42.25 - - [22/Apr/2009:18:54:52 +1200] "GET /images/favicon.ico HTTP/1.1" 200 2824 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-333.aol.com - - [22/Apr/2009:18:54:52 +1200] "GET /news.html HTTP/1.0" 200 6682 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:54:52 +1200] "GET /stories.php?date=2007 HTTP/1.1" 200 61292 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-551.ask.com - - [22/Apr/2009:18:54:52 +1200] "GET /adclick.php?c=PBNI HTTP/1.1" 302 380 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-551.ask.com - - [22/Apr/2009:18:54:53 +1200] "GET /stories/entertainment/061105/30.htm HTTP/1.1" 200 3033 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-551.ask.com - - [22/Apr/2009:18:54:53 +1200] "GET /images/nav/tab_left_center.gif HTTP/1.1" 200 96 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-551.ask.com - - [22/Apr/2009:18:54:53 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 3716 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-551.ask.com - - [22/Apr/2009:18:54:53 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 966 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.240.42.25 - - [22/Apr/2009:18:54:53 +1200] "GET /adclick.php?c=3ERO HTTP/1.1" 302 376 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-551.ask.com - - [22/Apr/2009:18:54:53 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 139 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-551.ask.com - - [22/Apr/2009:18:54:53 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 897 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-551.ask.com - - [22/Apr/2009:18:54:53 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 915 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-551.ask.com - - [22/Apr/2009:18:54:53 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 313 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-551.ask.com - - [22/Apr/2009:18:54:53 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 957 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-551.ask.com - - [22/Apr/2009:18:54:53 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 261 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.240.42.25 - - [22/Apr/2009:18:54:53 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 279 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-551.ask.com - - [22/Apr/2009:18:54:53 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1657 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-551.ask.com - - [22/Apr/2009:18:54:54 +1200] "GET /images/ad/N4FQ.jpeg HTTP/1.1" 200 914 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-551.ask.com - - [22/Apr/2009:18:54:54 +1200] "GET /images/ad/FDE4.jpeg HTTP/1.1" 200 1196 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-551.ask.com - - [22/Apr/2009:18:54:54 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 2834 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-551.ask.com - - [22/Apr/2009:18:54:54 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 836 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-551.ask.com - - [22/Apr/2009:18:54:54 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 831 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.240.42.25 - - [22/Apr/2009:18:54:54 +1200] "GET /adclick.php?c=3ERO HTTP/1.1" 302 376 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-551.ask.com - - [22/Apr/2009:18:54:54 +1200] "GET /images/ad/NXM2.jpeg HTTP/1.1" 200 1016 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.240.42.25 - - [22/Apr/2009:18:54:54 +1200] "GET /stories/entertainment/070801/34.htm HTTP/1.1" 200 989 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy.aol.com - - [22/Apr/2009:18:54:54 +1200] "GET /gallery.php?section=entertainment HTTP/1.1" 200 62527 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:54:54 +1200] "GET /stories.php?date=2007 HTTP/1.1" 200 156973 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-551.ask.com - - [22/Apr/2009:18:54:54 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 874 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.240.42.25 - - [22/Apr/2009:18:54:54 +1200] "GET /images/ad/RH4Y.jpeg HTTP/1.1" 200 1031 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.240.42.25 - - [22/Apr/2009:18:54:54 +1200] "GET /adclick.php?c=3ERO HTTP/1.1" 302 376 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-551.ask.com - - [22/Apr/2009:18:54:54 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 181 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-551.ask.com - - [22/Apr/2009:18:54:54 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 313 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.240.42.25 - - [22/Apr/2009:18:54:54 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 1610 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.240.42.25 - - [22/Apr/2009:18:54:54 +1200] "GET /images/photos/355.jpg HTTP/1.1" 200 1373 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-551.ask.com - - [22/Apr/2009:18:54:54 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 874 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-551.ask.com - - [22/Apr/2009:18:54:54 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 261 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-551.ask.com - - [22/Apr/2009:18:54:54 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1657 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.240.42.25 - - [22/Apr/2009:18:54:54 +1200] "GET /adclick.php?c=NT4P HTTP/1.1" 302 377 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-551.ask.com - - [22/Apr/2009:18:54:54 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 181 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-551.ask.com - - [22/Apr/2009:18:54:54 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 313 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-551.ask.com - - [22/Apr/2009:18:54:55 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 874 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-564.aol.com - - [22/Apr/2009:18:54:55 +1200] "GET /news.html HTTP/1.1" 200 107073 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" 192.240.42.25 - - [22/Apr/2009:18:54:55 +1200] "GET /images/ad/A94L.jpeg HTTP/1.1" 200 5612 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:54:56 +1200] "GET /adclick.php?c=PBNI HTTP/1.1" 302 377 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.32.127.27 - - [22/Apr/2009:18:54:56 +1200] "GET /stories.php?date=2006 HTTP/1.1" 200 82859 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.147.202.14 - - [22/Apr/2009:18:54:56 +1200] "GET /adclick.php?c=10S2 HTTP/1.1" 301 336 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.240.42.25 - - [22/Apr/2009:18:54:56 +1200] "GET /gallery.php?section=sport HTTP/1.1" 200 4230 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.240.42.25 - - [22/Apr/2009:18:54:56 +1200] "GET /stories/entertainment/070801/34.htm HTTP/1.1" 200 989 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:54:56 +1200] "GET /stories/entertainment/070825/233.htm HTTP/1.1" 200 3698 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-512.paradise.net.nz - - [22/Apr/2009:18:54:56 +1200] "GET /adclick.php?c=EB2Q HTTP/1.0" 301 317 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-739.dialup.xtra.co.nz - - [22/Apr/2009:18:54:56 +1200] "GET /news.html HTTP/1.0" 200 54569 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:54:57 +1200] "GET /adclick.php?c=H34K HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:54:57 +1200] "GET /styles/msie6.css HTTP/1.1" 200 2283 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:54:57 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:54:57 +1200] "GET /news.html HTTP/1.1" 200 49860 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:54:57 +1200] "GET /styles/site.css HTTP/1.1" 200 19 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:54:57 +1200] "GET /stories.php?date=2007 HTTP/1.1" 200 61292 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:54:57 +1200] "GET /adclick.php?c=LME2 HTTP/1.1" 302 377 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-452.aol.com - - [22/Apr/2009:18:54:57 +1200] "GET /news.html HTTP/1.0" 200 1574 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:54:57 +1200] "GET /styles/msie7.css HTTP/1.1" 200 1693 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:54:57 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:54:57 +1200] "GET /styles/msie7.css HTTP/1.1" 200 37 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:54:57 +1200] "GET /adclick.php?c=GD52 HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:54:57 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.crawl.yahoo.net - - [22/Apr/2009:18:54:57 +1200] "GET /latest.php?category=business HTTP/1.0" 200 7031 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:54:57 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 244 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:54:57 +1200] "GET /images/nav/tab_left_center.gif HTTP/1.1" 200 96 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:54:57 +1200] "GET /stories/business/070801/55.htm HTTP/1.1" 200 3032 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.147.202.14 - - [22/Apr/2009:18:54:57 +1200] "GET /gallery.php?section=entertainment HTTP/1.1" 200 56113 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:54:57 +1200] "GET /stories.php?date=2007 HTTP/1.1" 200 990 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:54:57 +1200] "GET /styles/msie7.css HTTP/1.1" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-290.optus.com.au - - [22/Apr/2009:18:54:57 +1200] "GET /adclick.php?c=3ERO HTTP/1.1" 302 376 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:54:57 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 966 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:54:58 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 2834 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:54:58 +1200] "GET /stories.php?date=2006 HTTP/1.1" 200 4231 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:54:58 +1200] "GET /images/ad/NXM2.jpeg HTTP/1.1" 200 1016 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:54:58 +1200] "GET /images/ad/FDE4.jpeg HTTP/1.1" 200 1196 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.240.42.25 - - [22/Apr/2009:18:54:58 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:54:58 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1657 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.dsl.clear.net.nz - - [22/Apr/2009:18:54:58 +1200] "GET /stories/national/080201/1.htm HTTP/1.0" 200 44847 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:54:58 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 874 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:54:58 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:54:58 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 897 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:54:58 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 261 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:54:58 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 836 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:54:58 +1200] "GET /styles/msie6.css HTTP/1.1" 200 2283 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:54:58 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 3716 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:54:58 +1200] "GET /images/ad/N4FQ.jpeg HTTP/1.1" 200 914 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:54:58 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 957 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.240.42.25 - - [22/Apr/2009:18:54:58 +1200] "GET /gallery.php?section=sport HTTP/1.1" 200 4230 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.240.42.25 - - [22/Apr/2009:18:54:58 +1200] "GET /stories/entertainment/070801/34.htm HTTP/1.1" 200 698 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:54:58 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 181 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:54:58 +1200] "GET /styles/msie6.css HTTP/1.1" 200 679 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:54:58 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 915 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:54:58 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 313 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:54:58 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 831 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:54:58 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 139 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:54:58 +1200] "GET /styles/site.css HTTP/1.1" 200 19 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:54:58 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-514.optus.com.au - - [22/Apr/2009:18:54:59 +1200] "GET /latest.php HTTP/1.0" 200 44918 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy.aol.com - - [22/Apr/2009:18:54:59 +1200] "GET /faq.html HTTP/1.1" 200 58024 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:54:59 +1200] "GET /styles/msie7.css HTTP/1.1" 200 37 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:54:59 +1200] "GET /styles/msie7.css HTTP/1.1" 200 1693 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.87.247.241 - - [22/Apr/2009:18:54:59 +1200] "GET /stories/world/080201/47.htm HTTP/1.1" 200 6304 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.240.42.25 - - [22/Apr/2009:18:54:59 +1200] "GET /stories/entertainment/070801/34.htm HTTP/1.1" 200 698 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.240.42.25 - - [22/Apr/2009:18:54:59 +1200] "GET /stories/entertainment/070801/34.htm HTTP/1.1" 200 989 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:54:59 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-600.comcast.net - - [22/Apr/2009:18:54:59 +1200] "GET /news.html HTTP/1.0" 200 106959 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" cache.bellsouth.net - - [22/Apr/2009:18:55:00 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bellsouth.net - - [22/Apr/2009:18:55:00 +1200] "GET /faq.html HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:00 +1200] "GET /adclick.php?c=PBNI HTTP/1.1" 302 380 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:00 +1200] "GET /images/nav/tab_left_center.gif HTTP/1.1" 200 96 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bellsouth.net - - [22/Apr/2009:18:55:00 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-512.paradise.net.nz - - [22/Apr/2009:18:55:00 +1200] "GET /stories.php?date=2005 HTTP/1.0" 200 70275 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:00 +1200] "GET /gallery.php HTTP/1.1" 200 3033 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:00 +1200] "GET /stories/business/071203/53.htm HTTP/1.1" 200 69201 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bellsouth.net - - [22/Apr/2009:18:55:00 +1200] "GET /stories.php?date=2007 HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.55.104.165 - - [22/Apr/2009:18:55:01 +1200] "GET /feedback.php HTTP/1.1" 200 95394 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:01 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 3716 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-335.bellsouth.net - - [22/Apr/2009:18:55:01 +1200] "GET /business-news.rss HTTP/1.0" 200 46440 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:01 +1200] "GET /styles/msie7.css HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.240.42.25 - - [22/Apr/2009:18:55:01 +1200] "GET /stories/entertainment/070801/34.htm HTTP/1.1" 200 989 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.93.44.189 - - [22/Apr/2009:18:55:01 +1200] "GET /gallery.php?section=entertainment HTTP/1.1" 200 60252 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:01 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 261 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:01 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 966 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:01 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 139 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:02 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 897 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:55:02 +1200] "GET /adclick.php?c=3ERO HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-267.jetstream.xtra.co.nz - - [22/Apr/2009:18:55:02 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:02 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 915 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:55:02 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 445 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:55:02 +1200] "GET /adclick.php?c=GD52 HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:02 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 957 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:55:02 +1200] "GET /adclick.php?c=JAKL HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:55:02 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 988 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:55:02 +1200] "GET /links.html HTTP/1.1" 200 698 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:02 +1200] "GET /images/ad/N4FQ.jpeg HTTP/1.1" 200 914 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.32.127.27 - - [22/Apr/2009:18:55:02 +1200] "GET /crossdomain.xml HTTP/1.1" 200 53423 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-648.comcast.net - - [22/Apr/2009:18:55:02 +1200] "GET /crossdomain.xml HTTP/1.0" 200 6944 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" cache.dialup.xtra.co.nz - - [22/Apr/2009:18:55:02 +1200] "GET /latest.php?category=national HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:55:02 +1200] "GET /news.html HTTP/1.1" 200 1380 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:02 +1200] "GET /news.html HTTP/1.1" 200 1868 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:55:02 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 245 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:03 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 836 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.dialup.xtra.co.nz - - [22/Apr/2009:18:55:03 +1200] "GET /stories/entertainment/070801/34.htm HTTP/1.1" 200 51625 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.78.155.100 - - [22/Apr/2009:18:55:03 +1200] "GET /stories/world/080201/47.htm HTTP/1.1" 200 6304 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.dialup.xtra.co.nz - - [22/Apr/2009:18:55:03 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:55:03 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1199 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:55:03 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 1020 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:55:03 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 986 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.dialup.xtra.co.nz - - [22/Apr/2009:18:55:03 +1200] "GET /styles/msie6.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:03 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:03 +1200] "GET /adclick.php?c=H34K HTTP/1.1" 302 377 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.79.187.149 - - [22/Apr/2009:18:55:03 +1200] "GET /stories/science/070922/33.htm HTTP/1.0" 200 177335 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:55:03 +1200] "GET /adclick.php?c=AW2M HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:55:03 +1200] "GET /adclick.php?c=AG3F HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:55:03 +1200] "GET /adclick.php?c=LME2 HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.dialup.xtra.co.nz - - [22/Apr/2009:18:55:03 +1200] "GET /styles/msie6.css HTTP/1.1" 200 2283 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:55:03 +1200] "GET /latest.php HTTP/1.1" 200 3699 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:55:03 +1200] "GET /feedback.php HTTP/1.1" 200 4232 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:03 +1200] "GET /styles/msie6.css HTTP/1.1" 200 2283 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:03 +1200] "GET /adclick.php?c=3ERO HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:55:03 +1200] "GET /news.html HTTP/1.1" 200 698 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:03 +1200] "GET /adclick.php?c=X41R HTTP/1.1" 302 377 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:55:03 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 279 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.87.247.241 - - [22/Apr/2009:18:55:03 +1200] "GET /news.html HTTP/1.1" 200 7020 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:55:04 +1200] "GET /latest.php HTTP/1.1" 200 991 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:55:04 +1200] "GET /images/ad/A94L.jpeg HTTP/1.1" 200 5612 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-512.paradise.net.nz - - [22/Apr/2009:18:55:04 +1200] "GET /latest.php?category=politics HTTP/1.0" 200 47253 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:55:04 +1200] "GET /images/favicon.ico HTTP/1.1" 200 2824 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:04 +1200] "GET /adclick.php?c=X41R HTTP/1.1" 302 377 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:04 +1200] "GET /styles/site.css HTTP/1.1" 200 19 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:04 +1200] "GET /adclick.php?c=JAKL HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-633.global-gateway.net.nz - - [22/Apr/2009:18:55:04 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 1061 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.dialup.xtra.co.nz - - [22/Apr/2009:18:55:04 +1200] "GET /styles/msie6.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.32.127.27 - - [22/Apr/2009:18:55:04 +1200] "GET /stories/politics/080201/41.htm HTTP/1.1" 200 57615 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:55:04 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 244 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:04 +1200] "GET /latest.php?category=national HTTP/1.1" 200 3700 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:04 +1200] "GET /styles/msie7.css HTTP/1.1" 200 1693 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:04 +1200] "GET /stories/entertainment/061105/30.htm HTTP/1.1" 200 1378 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:04 +1200] "GET /latest.php?category=politics HTTP/1.1" 200 1450 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:04 +1200] "GET /latest.php HTTP/1.1" 200 4232 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:04 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 380 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:05 +1200] "GET /stories/weather/070801/33.htm HTTP/1.1" 200 990 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:05 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:05 +1200] "GET /adclick.php?c=YI32 HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:05 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 261 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:05 +1200] "GET /images/ad/NXM2.jpeg HTTP/1.1" 200 1016 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-267.jetstream.xtra.co.nz - - [22/Apr/2009:18:55:05 +1200] "GET /images/nav/tab_left_center.gif HTTP/1.1" 200 96 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:05 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 3716 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:05 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 966 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:05 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 874 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:05 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 181 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:05 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 988 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:05 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 986 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-267.jetstream.xtra.co.nz - - [22/Apr/2009:18:55:05 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 897 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:05 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 139 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.dialup.xtra.co.nz - - [22/Apr/2009:18:55:05 +1200] "GET /styles/site.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-267.jetstream.xtra.co.nz - - [22/Apr/2009:18:55:05 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 957 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:05 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 915 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:05 +1200] "GET /stories/weather/070801/33.htm HTTP/1.1" 200 990 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.dialup.xtra.co.nz - - [22/Apr/2009:18:55:05 +1200] "GET /business-news.rss HTTP/1.1" 200 57977 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.87.247.241 - - [22/Apr/2009:18:55:05 +1200] "GET /stories/politics/080201/49.htm HTTP/1.1" 200 55184 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy.aol.com - - [22/Apr/2009:18:55:05 +1200] "GET /stories.php?date=2007 HTTP/1.1" 200 61298 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:05 +1200] "GET /links.html HTTP/1.1" 200 698 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-267.jetstream.xtra.co.nz - - [22/Apr/2009:18:55:05 +1200] "GET /adclick.php?c=X41R HTTP/1.1" 302 377 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-267.jetstream.xtra.co.nz - - [22/Apr/2009:18:55:05 +1200] "GET /adclick.php?c=2ER3 HTTP/1.1" 302 378 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-267.jetstream.xtra.co.nz - - [22/Apr/2009:18:55:05 +1200] "GET /images/favicon.ico HTTP/1.1" 200 2824 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-267.jetstream.xtra.co.nz - - [22/Apr/2009:18:55:05 +1200] "GET /images/ad/A94L.jpeg HTTP/1.1" 200 5612 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-267.jetstream.xtra.co.nz - - [22/Apr/2009:18:55:05 +1200] "GET /images/ad/N4FQ.jpeg HTTP/1.1" 200 914 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-267.jetstream.xtra.co.nz - - [22/Apr/2009:18:55:05 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 836 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:05 +1200] "GET /latest.php HTTP/1.1" 200 3033 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-267.jetstream.xtra.co.nz - - [22/Apr/2009:18:55:05 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 313 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-267.jetstream.xtra.co.nz - - [22/Apr/2009:18:55:05 +1200] "GET /images/ad/FDE4.jpeg HTTP/1.1" 200 1196 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:05 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 831 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:05 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 313 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:05 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1657 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:05 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 2834 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:05 +1200] "GET /images/nav/tab_right_middle.gif HTTP/1.1" 200 1179 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:05 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 279 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:05 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 245 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:05 +1200] "GET /adclick.php?c=3ERO HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:05 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 1020 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:05 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1199 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:05 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 1061 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:05 +1200] "GET /images/ad/RH4Y.jpeg HTTP/1.1" 200 1031 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:05 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 1376 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:05 +1200] "GET /images/photos/355.jpg HTTP/1.1" 200 1373 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:05 +1200] "GET /latest.php?category=weather HTTP/1.1" 200 1370 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-267.jetstream.xtra.co.nz - - [22/Apr/2009:18:55:05 +1200] "GET /latest.php?category=national HTTP/1.1" 200 3700 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:06 +1200] "GET /images/ad/FDE4.jpeg HTTP/1.1" 200 1196 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:06 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 831 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:06 +1200] "GET /adclick.php?c=X41R HTTP/1.1" 302 377 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-267.jetstream.xtra.co.nz - - [22/Apr/2009:18:55:06 +1200] "GET /stories/weather/070801/33.htm HTTP/1.1" 200 990 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:06 +1200] "GET /stories/science/080325/82.htm HTTP/1.1" 200 697 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:06 +1200] "GET /latest.php HTTP/1.1" 200 4232 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-281.global-gateway.net.nz - - [22/Apr/2009:18:55:06 +1200] "GET /latest.php?category=national HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:06 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1657 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-281.global-gateway.net.nz - - [22/Apr/2009:18:55:06 +1200] "GET /styles/msie6.css HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.dialup.xtra.co.nz - - [22/Apr/2009:18:55:06 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:06 +1200] "GET /styles/msie7.css HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-281.global-gateway.net.nz - - [22/Apr/2009:18:55:06 +1200] "GET /styles/msie6.css HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:06 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 2834 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-281.global-gateway.net.nz - - [22/Apr/2009:18:55:06 +1200] "GET /styles/firefox.css HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:06 +1200] "GET /stories/weather/070801/33.htm HTTP/1.1" 200 990 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-281.global-gateway.net.nz - - [22/Apr/2009:18:55:06 +1200] "GET /styles/site.css HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:06 +1200] "GET /images/ad/NXM2.jpeg HTTP/1.1" 200 1016 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-281.global-gateway.net.nz - - [22/Apr/2009:18:55:06 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:06 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 874 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-281.global-gateway.net.nz - - [22/Apr/2009:18:55:07 +1200] "GET /styles/msie7.css HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-701.aol.com - - [22/Apr/2009:18:55:07 +1200] "GET /stories/science/080325/82.htm HTTP/1.0" 200 58568 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:07 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 181 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-281.global-gateway.net.nz - - [22/Apr/2009:18:55:07 +1200] "GET /styles/msie7.css HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.85.238.10 - - [22/Apr/2009:18:55:07 +1200] "GET /spacer.gif HTTP/1.1" 404 18869 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" bot-281.global-gateway.net.nz - - [22/Apr/2009:18:55:07 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-281.global-gateway.net.nz - - [22/Apr/2009:18:55:07 +1200] "GET /news.html HTTP/1.1" 200 107073 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:07 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 988 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.55.234.11 - - [22/Apr/2009:18:55:07 +1200] "GET /stories/politics/080201/49.htm HTTP/1.1" 200 2073 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" bot-281.global-gateway.net.nz - - [22/Apr/2009:18:55:07 +1200] "GET /adclick.php?c=2ER3 HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-281.global-gateway.net.nz - - [22/Apr/2009:18:55:07 +1200] "GET /gallery.php?section=sport HTTP/1.1" 200 3032 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:07 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 244 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:07 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 986 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-281.global-gateway.net.nz - - [22/Apr/2009:18:55:07 +1200] "GET /styles/msie7.css HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:07 +1200] "GET /styles/ie4.css HTTP/1.1" 200 3387 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:07 +1200] "GET /images/nav/tab_right_middle.gif HTTP/1.1" 200 1179 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:08 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 279 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.crawl.yahoo.net - - [22/Apr/2009:18:55:08 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 244 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:08 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 245 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.dialup.xtra.co.nz - - [22/Apr/2009:18:55:08 +1200] "GET /styles/msie7.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:08 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 1020 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.198.254.100 - - [22/Apr/2009:18:55:08 +1200] "GET /images/photos/824.jpg HTTP/1.0" 304 - "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:08 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1199 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:08 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 1061 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:08 +1200] "GET /images/ad/RH4Y.jpeg HTTP/1.1" 200 1031 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:09 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 1376 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-512.paradise.net.nz - - [22/Apr/2009:18:55:09 +1200] "GET /stories/world/080201/47.htm HTTP/1.0" 200 47740 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:09 +1200] "GET /images/photos/355.jpg HTTP/1.1" 200 1373 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:09 +1200] "GET /images/favicon.ico HTTP/1.1" 200 2824 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.dialup.xtra.co.nz - - [22/Apr/2009:18:55:09 +1200] "GET /styles/msie7.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:09 +1200] "GET /images/ad/A94L.jpeg HTTP/1.1" 200 5612 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:09 +1200] "GET /styles/site.css HTTP/1.1" 200 3396 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:09 +1200] "GET /robots.txt HTTP/1.1" 404 27 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:10 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 1405 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.32.127.27 - - [22/Apr/2009:18:55:10 +1200] "GET /stories/business/070301/63.htm HTTP/1.1" 200 57769 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.21.27.9 - - [22/Apr/2009:18:55:10 +1200] "GET /news.html HTTP/1.0" 200 74097 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.79.187.149 - - [22/Apr/2009:18:55:10 +1200] "GET /news.html HTTP/1.0" 200 177860 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" bot-281.global-gateway.net.nz - - [22/Apr/2009:18:55:10 +1200] "GET /adclick.php?c=NT4P HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:10 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 204 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.dialup.xtra.co.nz - - [22/Apr/2009:18:55:10 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-255.bellsouth.net - - [22/Apr/2009:18:55:10 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 2048 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bellsouth.net - - [22/Apr/2009:18:55:10 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-281.global-gateway.net.nz - - [22/Apr/2009:18:55:10 +1200] "GET /news.html HTTP/1.1" 200 4232 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bellsouth.net - - [22/Apr/2009:18:55:10 +1200] "GET /faq.html HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:10 +1200] "GET /adclick.php?c=GD52 HTTP/1.1" 302 320 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.55.234.11 - - [22/Apr/2009:18:55:10 +1200] "GET /news.html HTTP/1.1" 200 107075 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" cache.bellsouth.net - - [22/Apr/2009:18:55:10 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-716.ihug.co.nz - - [22/Apr/2009:18:55:11 +1200] "GET /adclick.php?c=GD52 HTTP/1.0" 301 324 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bellsouth.net - - [22/Apr/2009:18:55:11 +1200] "GET /stories.php?date=2007 HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-281.global-gateway.net.nz - - [22/Apr/2009:18:55:11 +1200] "GET /adclick.php?c=X3HG HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.32.127.27 - - [22/Apr/2009:18:55:11 +1200] "GET /faq.html HTTP/1.1" 200 58026 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" bot-281.global-gateway.net.nz - - [22/Apr/2009:18:55:11 +1200] "GET /currency.php HTTP/1.1" 200 698 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:12 +1200] "GET /adclick.php?c=GD52 HTTP/1.1" 200 49714 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:12 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-482.optus.com.au - - [22/Apr/2009:18:55:12 +1200] "GET /stories/weather/070801/33.htm HTTP/1.0" 200 56135 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:13 +1200] "GET /styles/msie6.css HTTP/1.1" 200 2283 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:13 +1200] "GET /styles/msie6.css HTTP/1.1" 200 679 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:55:13 +1200] "GET /news.html HTTP/1.0" 200 51404 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.21.27.9 - - [22/Apr/2009:18:55:13 +1200] "GET /adclick.php?c=3ERO HTTP/1.0" 302 367 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.dialup.xtra.co.nz - - [22/Apr/2009:18:55:13 +1200] "GET /adclick.php?c=10S2 HTTP/1.1" 302 380 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:13 +1200] "GET /styles/firefox.css HTTP/1.1" 200 758 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:13 +1200] "GET /styles/site.css HTTP/1.1" 200 19 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:13 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.21.27.9 - - [22/Apr/2009:18:55:13 +1200] "GET /latest.php?category=politics HTTP/1.0" 200 686 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-512.paradise.net.nz - - [22/Apr/2009:18:55:14 +1200] "GET /links.html HTTP/1.0" 200 46744 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:14 +1200] "GET /styles/msie7.css HTTP/1.1" 200 37 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:14 +1200] "GET /styles/msie7.css HTTP/1.1" 200 1693 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.dsl.clear.net.nz - - [22/Apr/2009:18:55:14 +1200] "GET /stories/national/070309/19.htm HTTP/1.0" 200 54316 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" cache.dialup.xtra.co.nz - - [22/Apr/2009:18:55:14 +1200] "GET /latest.php HTTP/1.1" 200 3033 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:14 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:55:14 +1200] "GET /latest.php?category=national HTTP/1.0" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.32.127.27 - - [22/Apr/2009:18:55:14 +1200] "GET /stories/politics/080201/49.htm HTTP/1.1" 200 59834 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:14 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bellsouth.net - - [22/Apr/2009:18:55:14 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:14 +1200] "GET /images/nav/tab_left_center.gif HTTP/1.1" 200 96 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.21.27.9 - - [22/Apr/2009:18:55:14 +1200] "GET /adclick.php?c=2ER3 HTTP/1.0" 302 367 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.dialup.xtra.co.nz - - [22/Apr/2009:18:55:14 +1200] "GET /styles/msie7.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.bellsouth.net - - [22/Apr/2009:18:55:15 +1200] "GET /faq.html HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:15 +1200] "GET /news.html HTTP/1.1" 200 3032 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.21.27.9 - - [22/Apr/2009:18:55:15 +1200] "GET /news.html HTTP/1.0" 200 618 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.bellsouth.net - - [22/Apr/2009:18:55:15 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:15 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 3716 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bellsouth.net - - [22/Apr/2009:18:55:15 +1200] "GET /stories.php?date=2007 HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-736.paradise.net.nz - - [22/Apr/2009:18:55:15 +1200] "GET /stories/sport/080420/33.htm HTTP/1.0" 200 6536 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:15 +1200] "GET /styles/msie7.css HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:15 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 261 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.21.27.9 - - [22/Apr/2009:18:55:15 +1200] "GET /adclick.php?c=X3HG HTTP/1.0" 302 366 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:15 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 966 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.78.155.100 - - [22/Apr/2009:18:55:16 +1200] "GET /stories/world/080201/47.htm HTTP/1.1" 200 6304 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:16 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 139 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.21.27.9 - - [22/Apr/2009:18:55:16 +1200] "GET /stories/sport/080314/24.htm HTTP/1.0" 200 4218 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:16 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 897 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-544.paradise.net.nz - - [22/Apr/2009:18:55:16 +1200] "GET /stories.php?date=2005 HTTP/1.0" 200 45594 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:55:16 +1200] "GET /styles/msie6.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:16 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 915 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:16 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 957 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:17 +1200] "GET /images/ad/N4FQ.jpeg HTTP/1.1" 200 914 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.aol.com - - [22/Apr/2009:18:55:17 +1200] "GET /news.html HTTP/1.1" 302 283 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:17 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 836 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.50.245.82 - - [22/Apr/2009:18:55:17 +1200] "GET /stories/business/070301/63.htm HTTP/1.1" 200 47528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.50.245.82 - - [22/Apr/2009:18:55:17 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-454.crawl.yahoo.net - - [22/Apr/2009:18:55:17 +1200] "GET /news.html HTTP/1.0" 200 60074 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:17 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 313 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.50.245.82 - - [22/Apr/2009:18:55:17 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:17 +1200] "GET /images/ad/FDE4.jpeg HTTP/1.1" 200 1196 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.50.245.82 - - [22/Apr/2009:18:55:17 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:17 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 831 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.50.245.82 - - [22/Apr/2009:18:55:17 +1200] "GET /adclick.php?c=GD52 HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:17 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1657 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.50.245.82 - - [22/Apr/2009:18:55:17 +1200] "GET /stories/business/070801/55.htm HTTP/1.1" 200 3032 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.21.27.9 - - [22/Apr/2009:18:55:17 +1200] "GET /latest.php?category=politics HTTP/1.0" 200 1438 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:17 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 2834 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-394.bitstream.orcon.net.nz - - [22/Apr/2009:18:55:17 +1200] "GET /adclick.php?c=H34K HTTP/1.1" 301 336 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:17 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 21951 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.50.245.82 - - [22/Apr/2009:18:55:17 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1657 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:17 +1200] "GET /js/panel.js HTTP/1.1" 200 949 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:55:18 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.21.27.9 - - [22/Apr/2009:18:55:18 +1200] "GET /adclick.php?c=JAKL HTTP/1.0" 302 366 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:18 +1200] "GET /js/menu.js HTTP/1.1" 200 6059 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-496.paradise.net.nz - - [22/Apr/2009:18:55:18 +1200] "GET /stories/entertainment/061105/30.htm HTTP/1.1" 200 60057 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-502.crawl.yahoo.net - - [22/Apr/2009:18:55:18 +1200] "GET /stories/national/080201/1.htm HTTP/1.0" 200 59027 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.32.127.27 - - [22/Apr/2009:18:55:18 +1200] "GET /stories/business/070801/37.htm HTTP/1.1" 200 59627 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.21.27.9 - - [22/Apr/2009:18:55:18 +1200] "GET /gallery.php?section=entertainment HTTP/1.0" 200 3687 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-512.paradise.net.nz - - [22/Apr/2009:18:55:18 +1200] "GET /stories.php?date=2007 HTTP/1.0" 200 47005 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.50.245.82 - - [22/Apr/2009:18:55:19 +1200] "GET /adclick.php?c=GD52 HTTP/1.1" 302 378 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.50.245.82 - - [22/Apr/2009:18:55:19 +1200] "GET /adclick.php?c=3ERO HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.50.245.82 - - [22/Apr/2009:18:55:19 +1200] "GET /latest.php HTTP/1.1" 200 3699 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.50.245.82 - - [22/Apr/2009:18:55:19 +1200] "GET /news.html HTTP/1.1" 200 2725 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.aol.com - - [22/Apr/2009:18:55:19 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-394.bitstream.orcon.net.nz - - [22/Apr/2009:18:55:19 +1200] "GET /links.html HTTP/1.1" 200 58988 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.50.245.82 - - [22/Apr/2009:18:55:19 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 445 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.79.187.149 - - [22/Apr/2009:18:55:19 +1200] "GET /stories/business/070801/12.htm HTTP/1.0" 200 177225 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.50.245.82 - - [22/Apr/2009:18:55:20 +1200] "GET /adclick.php?c=AW2M HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.50.245.82 - - [22/Apr/2009:18:55:20 +1200] "GET /adclick.php?c=LME2 HTTP/1.1" 302 378 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.50.245.82 - - [22/Apr/2009:18:55:20 +1200] "GET /adclick.php?c=AG3F HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.50.245.82 - - [22/Apr/2009:18:55:20 +1200] "GET /feedback.php HTTP/1.1" 200 4232 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.aol.com - - [22/Apr/2009:18:55:20 +1200] "GET /news.html HTTP/1.1" 200 107073 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.50.245.82 - - [22/Apr/2009:18:55:20 +1200] "GET /latest.php HTTP/1.1" 200 991 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.50.245.82 - - [22/Apr/2009:18:55:20 +1200] "GET /news.html HTTP/1.1" 200 698 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:55:20 +1200] "GET /gallery.php?section=sport HTTP/1.1" 200 49032 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-259.dialup.xtra.co.nz - - [22/Apr/2009:18:55:20 +1200] "GET /styles/firefox.css HTTP/1.1" 200 758 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-259.dialup.xtra.co.nz - - [22/Apr/2009:18:55:20 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.50.245.82 - - [22/Apr/2009:18:55:20 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1199 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.50.245.82 - - [22/Apr/2009:18:55:20 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 1061 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-259.dialup.xtra.co.nz - - [22/Apr/2009:18:55:20 +1200] "GET /latest.php?category=national HTTP/1.1" 200 48184 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-361.global-gateway.net.nz - - [22/Apr/2009:18:55:21 +1200] "GET /faq.html HTTP/1.0" 200 6323 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" cache.aol.com - - [22/Apr/2009:18:55:21 +1200] "GET /styles/msie6.css HTTP/1.1" 200 2283 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.aol.com - - [22/Apr/2009:18:55:21 +1200] "GET /styles/site.css HTTP/1.1" 200 19 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-259.dialup.xtra.co.nz - - [22/Apr/2009:18:55:21 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.aol.com - - [22/Apr/2009:18:55:21 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.ask.com - - [22/Apr/2009:18:55:21 +1200] "GET /styles/site.css HTTP/1.1" 200 19 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.ask.com - - [22/Apr/2009:18:55:21 +1200] "GET /styles/msie6.css HTTP/1.1" 200 2283 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.ask.com - - [22/Apr/2009:18:55:21 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-259.dialup.xtra.co.nz - - [22/Apr/2009:18:55:21 +1200] "GET /adclick.php?c=PBNI HTTP/1.1" 302 380 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-259.dialup.xtra.co.nz - - [22/Apr/2009:18:55:21 +1200] "GET /images/nav/tab_left_center.gif HTTP/1.1" 200 96 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.aol.com - - [22/Apr/2009:18:55:21 +1200] "GET /styles/msie7.css HTTP/1.1" 200 37 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.ask.com - - [22/Apr/2009:18:55:21 +1200] "GET /stories/business/071203/53.htm HTTP/1.1" 200 59623 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-617.global-gateway.net.nz - - [22/Apr/2009:18:55:22 +1200] "GET /stories.php HTTP/1.0" 200 68766 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.41.145.69 - - [22/Apr/2009:18:55:22 +1200] "GET /stories/national/080201/1.htm HTTP/1.1" 200 136345 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-401.telstra.com.au - - [22/Apr/2009:18:55:22 +1200] "GET /stories.php HTTP/1.0" 200 57849 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" cache.aol.com - - [22/Apr/2009:18:55:22 +1200] "GET /styles/msie7.css HTTP/1.1" 200 1693 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-478.dsl.clear.net.nz - - [22/Apr/2009:18:55:22 +1200] "GET /latest-news.rss HTTP/1.0" 200 50092 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.ask.com - - [22/Apr/2009:18:55:22 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 244 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-478.dsl.clear.net.nz - - [22/Apr/2009:18:55:22 +1200] "GET /latest.php?category=national HTTP/1.0" 304 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-259.dialup.xtra.co.nz - - [22/Apr/2009:18:55:22 +1200] "GET /gallery.php HTTP/1.1" 200 3033 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.ask.com - - [22/Apr/2009:18:55:22 +1200] "GET /styles/msie7.css HTTP/1.1" 200 1693 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.ask.com - - [22/Apr/2009:18:55:22 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-478.dsl.clear.net.nz - - [22/Apr/2009:18:55:22 +1200] "GET /js/adclient.js HTTP/1.0" 200 5993 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.aol.com - - [22/Apr/2009:18:55:22 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.ask.com - - [22/Apr/2009:18:55:22 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:55:22 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-259.dialup.xtra.co.nz - - [22/Apr/2009:18:55:22 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 261 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.aol.com - - [22/Apr/2009:18:55:22 +1200] "GET /adclick.php?c=AW2M HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-259.dialup.xtra.co.nz - - [22/Apr/2009:18:55:22 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 966 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-478.dsl.clear.net.nz - - [22/Apr/2009:18:55:22 +1200] "GET /js/menu.js HTTP/1.0" 200 6377 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-478.dsl.clear.net.nz - - [22/Apr/2009:18:55:22 +1200] "GET /adclick.php?c=GD52 HTTP/1.0" 302 367 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.aol.com - - [22/Apr/2009:18:55:23 +1200] "GET /images/nav/tab_left_center.gif HTTP/1.1" 200 96 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.aol.com - - [22/Apr/2009:18:55:23 +1200] "GET /stories.php?date=yesterday HTTP/1.1" 200 3032 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-478.dsl.clear.net.nz - - [22/Apr/2009:18:55:23 +1200] "GET /stories/business/070801/55.htm HTTP/1.0" 200 3020 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.ask.com - - [22/Apr/2009:18:55:23 +1200] "GET /images/nav/tab_left_center.gif HTTP/1.1" 200 96 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.ask.com - - [22/Apr/2009:18:55:23 +1200] "GET /adclick.php?c=PBNI HTTP/1.1" 302 380 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-478.dsl.clear.net.nz - - [22/Apr/2009:18:55:23 +1200] "GET /styles/msie7.css HTTP/1.0" 304 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.aol.com - - [22/Apr/2009:18:55:23 +1200] "GET /styles/msie7.css HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.dialup.xtra.co.nz - - [22/Apr/2009:18:55:23 +1200] "GET /adclick.php?c=JAKL HTTP/1.1" 302 380 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.aol.com - - [22/Apr/2009:18:55:23 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 3716 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.ask.com - - [22/Apr/2009:18:55:23 +1200] "GET /stories/entertainment/061105/30.htm HTTP/1.1" 200 3033 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.dialup.xtra.co.nz - - [22/Apr/2009:18:55:23 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-512.paradise.net.nz - - [22/Apr/2009:18:55:23 +1200] "GET /feedback.php HTTP/1.0" 200 53987 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.aol.com - - [22/Apr/2009:18:55:23 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 261 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:55:23 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 349 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" crawler.ask.com - - [22/Apr/2009:18:55:23 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 181 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.ask.com - - [22/Apr/2009:18:55:23 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 957 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:55:23 +1200] "GET /adclick.php?c=PBNI HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.ask.com - - [22/Apr/2009:18:55:23 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 3716 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:55:24 +1200] "GET /faq.html HTTP/1.1" 200 330 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:55:24 +1200] "GET /news.html HTTP/1.1" 200 3032 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.ask.com - - [22/Apr/2009:18:55:24 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 2834 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.ask.com - - [22/Apr/2009:18:55:24 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 831 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.ask.com - - [22/Apr/2009:18:55:24 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 915 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.aol.com - - [22/Apr/2009:18:55:24 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 988 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.ask.com - - [22/Apr/2009:18:55:24 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 897 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.aol.com - - [22/Apr/2009:18:55:24 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 979 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.ask.com - - [22/Apr/2009:18:55:24 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 261 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.ask.com - - [22/Apr/2009:18:55:24 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 874 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:24 +1200] "GET /adclick.php?c=EB2Q HTTP/1.1" 302 378 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.ask.com - - [22/Apr/2009:18:55:24 +1200] "GET /images/ad/N4FQ.jpeg HTTP/1.1" 200 914 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-748.ihug.co.nz - - [22/Apr/2009:18:55:24 +1200] "GET /adclick.php?c=2ER3 HTTP/1.0" 302 367 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:55:24 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 349 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-277.googlebot.com - - [22/Apr/2009:18:55:24 +1200] "GET /stories/sport/080420/33.htm HTTP/1.1" 200 51627 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.aol.com - - [22/Apr/2009:18:55:24 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 986 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-742.crawl.yahoo.net - - [22/Apr/2009:18:55:24 +1200] "GET /stories.php?date=2007 HTTP/1.1" 200 330 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" cache.aol.com - - [22/Apr/2009:18:55:24 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 445 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:55:24 +1200] "GET /styles/site.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.ask.com - - [22/Apr/2009:18:55:24 +1200] "GET /images/ad/FDE4.jpeg HTTP/1.1" 200 1196 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.ask.com - - [22/Apr/2009:18:55:24 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 966 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:55:24 +1200] "GET /images/ad/NXM2.jpeg HTTP/1.1" 200 1016 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:24 +1200] "GET /news.html HTTP/1.1" 200 3699 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.dsl.clear.net.nz - - [22/Apr/2009:18:55:24 +1200] "GET /gallery.php?section=health HTTP/1.0" 200 58566 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" crawler.ask.com - - [22/Apr/2009:18:55:25 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 139 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.aol.com - - [22/Apr/2009:18:55:25 +1200] "GET /adclick.php?c=NT4P HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.aol.com - - [22/Apr/2009:18:55:25 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 966 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.ask.com - - [22/Apr/2009:18:55:25 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1657 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.ask.com - - [22/Apr/2009:18:55:25 +1200] "GET /images/ad/NXM2.jpeg HTTP/1.1" 200 1016 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.ask.com - - [22/Apr/2009:18:55:25 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 313 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.196.179.98 - - [22/Apr/2009:18:55:25 +1200] "GET /gallery.php?section=sport HTTP/1.0" 200 3020 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" cache.aol.com - - [22/Apr/2009:18:55:25 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.ask.com - - [22/Apr/2009:18:55:25 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 836 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.aol.com - - [22/Apr/2009:18:55:25 +1200] "GET /news.html HTTP/1.1" 200 4232 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-478.dsl.clear.net.nz - - [22/Apr/2009:18:55:25 +1200] "GET /adclick.php?c=GD52 HTTP/1.0" 302 366 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-478.dsl.clear.net.nz - - [22/Apr/2009:18:55:25 +1200] "GET /adclick.php?c=3ERO HTTP/1.0" 302 367 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.dialup.xtra.co.nz - - [22/Apr/2009:18:55:25 +1200] "GET /latest.php?category=politics HTTP/1.1" 200 1341 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:55:25 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 874 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:25 +1200] "GET /adclick.php?c=3ERO HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.aol.com - - [22/Apr/2009:18:55:25 +1200] "GET /images/favicon.ico HTTP/1.1" 200 2824 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:55:25 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 181 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.ask.com - - [22/Apr/2009:18:55:25 +1200] "GET /styles/msie7.css HTTP/1.1" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-478.dsl.clear.net.nz - - [22/Apr/2009:18:55:25 +1200] "GET /latest.php HTTP/1.0" 200 3687 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-478.dsl.clear.net.nz - - [22/Apr/2009:18:55:25 +1200] "GET /stories/science/070922/33.htm HTTP/1.0" 200 2019 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:26 +1200] "GET /adclick.php?c=X41R HTTP/1.1" 302 377 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:26 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 988 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.aol.com - - [22/Apr/2009:18:55:26 +1200] "GET /stories/entertainment/070801/34.htm HTTP/1.1" 200 698 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:26 +1200] "GET /latest.php HTTP/1.1" 200 4232 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-277.googlebot.com - - [22/Apr/2009:18:55:26 +1200] "GET /stories/sport/080420/33.htm HTTP/1.0" 200 49726 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:26 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 986 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.79.187.149 - - [22/Apr/2009:18:55:26 +1200] "GET /stories.php?date=2007 HTTP/1.0" 200 172558 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-259.dialup.xtra.co.nz - - [22/Apr/2009:18:55:26 +1200] "GET /adclick.php?c=GD52 HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:55:26 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.aol.com - - [22/Apr/2009:18:55:26 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 139 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-478.dsl.clear.net.nz - - [22/Apr/2009:18:55:26 +1200] "GET /adclick.php?c=AW2M HTTP/1.0" 302 367 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-478.dsl.clear.net.nz - - [22/Apr/2009:18:55:26 +1200] "GET /adclick.php?c=LME2 HTTP/1.0" 302 366 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-340.aol.com - - [22/Apr/2009:18:55:26 +1200] "GET /stories/business/070801/12.htm HTTP/1.0" 200 55508 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-259.dialup.xtra.co.nz - - [22/Apr/2009:18:55:26 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-259.dialup.xtra.co.nz - - [22/Apr/2009:18:55:26 +1200] "GET /news.html HTTP/1.1" 200 1868 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy.aol.com - - [22/Apr/2009:18:55:26 +1200] "GET /adclick.php?c=GD52 HTTP/1.1" 200 49716 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-478.dsl.clear.net.nz - - [22/Apr/2009:18:55:26 +1200] "GET /feedback.php HTTP/1.0" 200 4219 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-478.dsl.clear.net.nz - - [22/Apr/2009:18:55:26 +1200] "GET /adclick.php?c=AG3F HTTP/1.0" 302 367 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.ask.com - - [22/Apr/2009:18:55:26 +1200] "GET /images/photos/534.jpg HTTP/1.1" 200 1370 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.ask.com - - [22/Apr/2009:18:55:26 +1200] "GET /adclick.php?c=EB2Q HTTP/1.1" 302 377 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.ask.com - - [22/Apr/2009:18:55:26 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 545 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.ask.com - - [22/Apr/2009:18:55:26 +1200] "GET /images/ad/RH4Y.jpeg HTTP/1.1" 200 561 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:27 +1200] "GET /stories/weather/070801/33.htm HTTP/1.1" 200 990 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.aol.com - - [22/Apr/2009:18:55:27 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 897 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-478.dsl.clear.net.nz - - [22/Apr/2009:18:55:27 +1200] "GET /latest.php HTTP/1.0" 200 979 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-259.dialup.xtra.co.nz - - [22/Apr/2009:18:55:27 +1200] "GET /latest.php?category=business HTTP/1.1" 200 1380 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-259.dialup.xtra.co.nz - - [22/Apr/2009:18:55:27 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 445 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-478.dsl.clear.net.nz - - [22/Apr/2009:18:55:27 +1200] "GET /news.html HTTP/1.0" 200 686 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-259.dialup.xtra.co.nz - - [22/Apr/2009:18:55:27 +1200] "GET /robots.txt HTTP/1.1" 404 27 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.ask.com - - [22/Apr/2009:18:55:27 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 1362 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.ask.com - - [22/Apr/2009:18:55:27 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 988 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.ask.com - - [22/Apr/2009:18:55:27 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 986 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-259.dialup.xtra.co.nz - - [22/Apr/2009:18:55:27 +1200] "GET /latest.php?category=politics HTTP/1.1" 200 1450 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-259.dialup.xtra.co.nz - - [22/Apr/2009:18:55:27 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 1061 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.dialup.xtra.co.nz - - [22/Apr/2009:18:55:27 +1200] "GET /adclick.php?c=3ERO HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.ask.com - - [22/Apr/2009:18:55:27 +1200] "GET /adclick.php?c=YI32 HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.aol.com - - [22/Apr/2009:18:55:27 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 915 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-259.dialup.xtra.co.nz - - [22/Apr/2009:18:55:27 +1200] "GET /adclick.php?c=AW2M HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-259.dialup.xtra.co.nz - - [22/Apr/2009:18:55:27 +1200] "GET /adclick.php?c=LME2 HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.ask.com - - [22/Apr/2009:18:55:27 +1200] "GET /stories/national/080201/1.htm HTTP/1.1" 200 1338 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.ask.com - - [22/Apr/2009:18:55:27 +1200] "GET /images/ad/RH4Y.jpeg HTTP/1.1" 200 1017 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.ask.com - - [22/Apr/2009:18:55:27 +1200] "GET /adclick.php?c=NT4P HTTP/1.1" 302 377 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-259.dialup.xtra.co.nz - - [22/Apr/2009:18:55:27 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 1020 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.aol.com - - [22/Apr/2009:18:55:27 +1200] "GET /images/ad/A94L.jpeg HTTP/1.1" 200 5612 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-259.dialup.xtra.co.nz - - [22/Apr/2009:18:55:27 +1200] "GET /styles/site.css HTTP/1.1" 200 3396 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.aol.com - - [22/Apr/2009:18:55:28 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 957 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.ask.com - - [22/Apr/2009:18:55:28 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 1084 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-259.dialup.xtra.co.nz - - [22/Apr/2009:18:55:28 +1200] "GET /adclick.php?c=JAKL HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-259.dialup.xtra.co.nz - - [22/Apr/2009:18:55:28 +1200] "GET /feedback.php HTTP/1.1" 200 4232 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.ask.com - - [22/Apr/2009:18:55:28 +1200] "GET /adclick.php?c=X41R HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-259.dialup.xtra.co.nz - - [22/Apr/2009:18:55:28 +1200] "GET /latest.php HTTP/1.1" 200 991 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.aol.com - - [22/Apr/2009:18:55:28 +1200] "GET /images/ad/N4FQ.jpeg HTTP/1.1" 200 914 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:28 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1199 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:28 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 1061 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.ask.com - - [22/Apr/2009:18:55:28 +1200] "GET /images/ad/A94L.jpeg HTTP/1.1" 200 5612 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.ask.com - - [22/Apr/2009:18:55:28 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 1610 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.ask.com - - [22/Apr/2009:18:55:28 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 1020 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-259.dialup.xtra.co.nz - - [22/Apr/2009:18:55:28 +1200] "GET /links.html HTTP/1.1" 200 698 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.aol.com - - [22/Apr/2009:18:55:28 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 836 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.aol.com - - [22/Apr/2009:18:55:28 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 313 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:28 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 279 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:28 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 1020 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.aol.com - - [22/Apr/2009:18:55:28 +1200] "GET /images/ad/FDE4.jpeg HTTP/1.1" 200 1196 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.ask.com - - [22/Apr/2009:18:55:28 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 1004 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.aol.com - - [22/Apr/2009:18:55:28 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 831 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.ask.com - - [22/Apr/2009:18:55:28 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 245 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.ask.com - - [22/Apr/2009:18:55:28 +1200] "GET /images/favicon.ico HTTP/1.1" 200 2824 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:28 +1200] "GET /images/ad/RH4Y.jpeg HTTP/1.1" 200 1031 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.196.179.98 - - [22/Apr/2009:18:55:28 +1200] "GET /news.html HTTP/1.0" 200 106957 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-259.dialup.xtra.co.nz - - [22/Apr/2009:18:55:28 +1200] "GET /robots.txt HTTP/1.1" 404 27 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-748.ihug.co.nz - - [22/Apr/2009:18:55:28 +1200] "GET /adclick.php?c=NT4P HTTP/1.0" 302 367 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.32.127.27 - - [22/Apr/2009:18:55:28 +1200] "GET /stories/politics/080201/49.htm HTTP/1.1" 200 58714 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" cache.aol.com - - [22/Apr/2009:18:55:29 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1657 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:29 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 245 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.ask.com - - [22/Apr/2009:18:55:29 +1200] "GET /images/photos/8834.jpg HTTP/1.1" 200 1642 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.ask.com - - [22/Apr/2009:18:55:29 +1200] "GET /news.html HTTP/1.1" 200 4230 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.ask.com - - [22/Apr/2009:18:55:29 +1200] "GET /adclick.php?c=3ERO HTTP/1.1" 302 376 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-512.paradise.net.nz - - [22/Apr/2009:18:55:29 +1200] "GET /stories.php?date=2007 HTTP/1.0" 200 52848 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.aol.com - - [22/Apr/2009:18:55:29 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 2834 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.aol.com - - [22/Apr/2009:18:55:29 +1200] "GET /images/photos/534.jpg HTTP/1.1" 200 1370 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.aol.com - - [22/Apr/2009:18:55:29 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 1362 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:55:29 +1200] "GET /latest.php?category=business HTTP/1.1" 200 66883 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.aol.com - - [22/Apr/2009:18:55:29 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1199 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.ask.com - - [22/Apr/2009:18:55:29 +1200] "GET /news.html HTTP/1.1" 200 3700 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.aol.com - - [22/Apr/2009:18:55:29 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 1061 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:55:29 +1200] "GET /latest.php HTTP/1.0" 200 52591 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" crawler.ask.com - - [22/Apr/2009:18:55:29 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 279 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.aol.com - - [22/Apr/2009:18:55:29 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 279 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.googlebot.com - - [22/Apr/2009:18:55:29 +1200] "GET /stories/politics/060301/22.htm HTTP/1.1" 200 48435 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" cache.aol.com - - [22/Apr/2009:18:55:29 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 245 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.aol.com - - [22/Apr/2009:18:55:29 +1200] "GET /images/ad/RH4Y.jpeg HTTP/1.1" 200 1031 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.196.179.98 - - [22/Apr/2009:18:55:29 +1200] "GET /news.html HTTP/1.0" 200 4219 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" crawler.ask.com - - [22/Apr/2009:18:55:29 +1200] "GET /stories/entertainment/070801/34.htm HTTP/1.1" 200 989 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.aol.com - - [22/Apr/2009:18:55:29 +1200] "GET /images/photos/34.jpg HTTP/1.1" 200 398 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.ask.com - - [22/Apr/2009:18:55:29 +1200] "GET /latest.php HTTP/1.1" 200 698 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.aol.com - - [22/Apr/2009:18:55:29 +1200] "GET /images/ad/FDE4.jpeg HTTP/1.1" 200 890 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.aol.com - - [22/Apr/2009:18:55:30 +1200] "GET /images/ad/NXM2.jpeg HTTP/1.1" 200 1016 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy.aol.com - - [22/Apr/2009:18:55:30 +1200] "GET /latest.php?category=national HTTP/1.1" 200 48184 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.dialup.xtra.co.nz - - [22/Apr/2009:18:55:30 +1200] "GET /news.html HTTP/1.1" 200 1868 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-259.dialup.xtra.co.nz - - [22/Apr/2009:18:55:30 +1200] "GET /latest.php HTTP/1.1" 200 3699 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.aol.com - - [22/Apr/2009:18:55:30 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 1004 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:55:30 +1200] "GET /latest.php?category=national HTTP/1.0" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.aol.com - - [22/Apr/2009:18:55:30 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 1084 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-277.googlebot.com - - [22/Apr/2009:18:55:30 +1200] "GET /news.html HTTP/1.1" 200 82000 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.aol.com - - [22/Apr/2009:18:55:30 +1200] "GET /images/ad/RH4Y.jpeg HTTP/1.1" 200 1017 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:30 +1200] "GET /adclick.php?c=GD52 HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:30 +1200] "GET /images/favicon.ico HTTP/1.1" 200 2824 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.aol.com - - [22/Apr/2009:18:55:30 +1200] "GET /images/nav/tab_right_middle.gif HTTP/1.1" 200 1179 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-454.crawl.yahoo.net - - [22/Apr/2009:18:55:30 +1200] "GET /stories/politics/080201/41.htm HTTP/1.0" 200 60018 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.aol.com - - [22/Apr/2009:18:55:30 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 1376 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.32.127.27 - - [22/Apr/2009:18:55:30 +1200] "GET /stories/politics/080201/49.htm HTTP/1.1" 200 53738 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" cache.aol.com - - [22/Apr/2009:18:55:30 +1200] "GET /images/photos/355.jpg HTTP/1.1" 200 1373 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:30 +1200] "GET /crossdomain.xml HTTP/1.1" 200 698 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.aol.com - - [22/Apr/2009:18:55:30 +1200] "GET /images/photos/355.jpg HTTP/1.1" 200 1350 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-636.ihug.co.nz - - [22/Apr/2009:18:55:30 +1200] "GET /images/ad/A94L.jpeg HTTP/1.1" 200 5612 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.30.102.238 - - [22/Apr/2009:18:55:30 +1200] "GET /stories/world/070801/12.htm HTTP/1.1" 200 60069 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-277.googlebot.com - - [22/Apr/2009:18:55:30 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.aol.com - - [22/Apr/2009:18:55:30 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 1352 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.aol.com - - [22/Apr/2009:18:55:31 +1200] "GET /adclick.php?c=H34K HTTP/1.0" 301 324 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-748.ihug.co.nz - - [22/Apr/2009:18:55:31 +1200] "GET /adclick.php?c=X3HG HTTP/1.0" 302 367 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy.aol.com - - [22/Apr/2009:18:55:31 +1200] "GET /links.html HTTP/1.1" 200 698 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.bitstream.orcon.net.nz - - [22/Apr/2009:18:55:32 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 349 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.196.179.98 - - [22/Apr/2009:18:55:32 +1200] "GET /currency.php HTTP/1.0" 200 686 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" www.bitstream.orcon.net.nz - - [22/Apr/2009:18:55:32 +1200] "GET /faq.html HTTP/1.1" 200 330 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" cache.dialup.xtra.co.nz - - [22/Apr/2009:18:55:32 +1200] "GET /adclick.php?c=3ERO HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:55:32 +1200] "GET /styles/msie6.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:55:32 +1200] "GET /styles/msie6.css HTTP/1.1" 200 2283 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:55:33 +1200] "GET /styles/site.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:55:33 +1200] "GET /styles/site.css HTTP/1.1" 200 19 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:55:33 +1200] "GET /styles/msie6.css HTTP/1.1" 200 679 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.aol.com - - [22/Apr/2009:18:55:33 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 244 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:55:33 +1200] "GET /styles/msie7.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:55:33 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.dialup.xtra.co.nz - - [22/Apr/2009:18:55:33 +1200] "GET /adclick.php?c=X41R HTTP/1.1" 302 377 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.dialup.xtra.co.nz - - [22/Apr/2009:18:55:33 +1200] "GET /latest.php?category=national HTTP/1.1" 200 3700 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-512.paradise.net.nz - - [22/Apr/2009:18:55:34 +1200] "GET /stories/entertainment/070801/34.htm HTTP/1.0" 200 52455 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy.paradise.net.nz - - [22/Apr/2009:18:55:34 +1200] "GET /stories/sport/080314/24.htm HTTP/1.0" 200 6850 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" cache.dialup.xtra.co.nz - - [22/Apr/2009:18:55:34 +1200] "GET /latest.php?category=politics HTTP/1.1" 200 1450 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-514.optus.com.au - - [22/Apr/2009:18:55:34 +1200] "GET /gallery.php?section=health HTTP/1.0" 200 61685 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:55:34 +1200] "GET /styles/msie7.css HTTP/1.1" 200 1693 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:55:34 +1200] "GET /styles/msie7.css HTTP/1.1" 200 37 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.bitstream.orcon.net.nz - - [22/Apr/2009:18:55:34 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 349 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.bitstream.orcon.net.nz - - [22/Apr/2009:18:55:34 +1200] "GET /stories.php?date=2007 HTTP/1.1" 200 330 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:55:34 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-290.optus.com.au - - [22/Apr/2009:18:55:34 +1200] "GET /latest.php?category=sport HTTP/1.0" 200 6171 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" cache.dialup.xtra.co.nz - - [22/Apr/2009:18:55:35 +1200] "GET /latest.php HTTP/1.1" 200 4232 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-478.dsl.clear.net.nz - - [22/Apr/2009:18:55:35 +1200] "GET /latest.php?category=politics HTTP/1.0" 200 47418 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.79.187.149 - - [22/Apr/2009:18:55:35 +1200] "GET /stories/science/080325/82.htm HTTP/1.0" 200 178661 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-716.ihug.co.nz - - [22/Apr/2009:18:55:35 +1200] "GET /gallery.php?section=entertainment HTTP/1.0" 200 48381 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.ask.com - - [22/Apr/2009:18:55:35 +1200] "GET /adclick.php?c=3ERO HTTP/1.0" 301 324 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-478.dsl.clear.net.nz - - [22/Apr/2009:18:55:35 +1200] "GET /js/adclient.js HTTP/1.0" 200 5993 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-478.dsl.clear.net.nz - - [22/Apr/2009:18:55:36 +1200] "GET /js/menu.js HTTP/1.0" 200 6377 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:55:36 +1200] "GET /news.html HTTP/1.0" 200 51402 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-478.dsl.clear.net.nz - - [22/Apr/2009:18:55:36 +1200] "GET /adclick.php?c=PBNI HTTP/1.0" 302 368 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-478.dsl.clear.net.nz - - [22/Apr/2009:18:55:36 +1200] "GET /stories/entertainment/061105/30.htm HTTP/1.0" 200 3021 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:55:36 +1200] "GET /latest.php?category=national HTTP/1.0" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:55:36 +1200] "GET /adclick.php?c=PBNI HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:55:36 +1200] "GET /images/nav/tab_left_center.gif HTTP/1.1" 200 96 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-478.dsl.clear.net.nz - - [22/Apr/2009:18:55:36 +1200] "GET /adclick.php?c=PBNI HTTP/1.0" 302 367 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-478.dsl.clear.net.nz - - [22/Apr/2009:18:55:36 +1200] "GET /adclick.php?c=GD52 HTTP/1.0" 302 366 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bellsouth.net - - [22/Apr/2009:18:55:37 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-478.dsl.clear.net.nz - - [22/Apr/2009:18:55:37 +1200] "GET /gallery.php?section=entertainment HTTP/1.0" 200 1360 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:55:37 +1200] "GET /news.html HTTP/1.1" 200 3032 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-478.dsl.clear.net.nz - - [22/Apr/2009:18:55:37 +1200] "GET /latest.php HTTP/1.0" 200 3687 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bellsouth.net - - [22/Apr/2009:18:55:37 +1200] "GET /faq.html HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.googlebot.com - - [22/Apr/2009:18:55:37 +1200] "GET /gallery.php?section=entertainment HTTP/1.1" 200 56252 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:55:37 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 3716 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.dsl.clear.net.nz - - [22/Apr/2009:18:55:37 +1200] "GET /stories/national/070309/19.htm HTTP/1.0" 200 59653 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" cache.bellsouth.net - - [22/Apr/2009:18:55:37 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-478.dsl.clear.net.nz - - [22/Apr/2009:18:55:37 +1200] "GET /adclick.php?c=LME2 HTTP/1.0" 302 366 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-478.dsl.clear.net.nz - - [22/Apr/2009:18:55:37 +1200] "GET /adclick.php?c=AW2M HTTP/1.0" 302 367 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-478.dsl.clear.net.nz - - [22/Apr/2009:18:55:37 +1200] "GET /adclick.php?c=X41R HTTP/1.0" 302 367 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:55:37 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 261 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bellsouth.net - - [22/Apr/2009:18:55:37 +1200] "GET /stories.php?date=2007 HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.82.108.146 - - [22/Apr/2009:18:55:37 +1200] "GET /latest.php?category=national HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" bot-434.optus.com.au - - [22/Apr/2009:18:55:37 +1200] "GET /news.html HTTP/1.1" 200 1868 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-478.dsl.clear.net.nz - - [22/Apr/2009:18:55:37 +1200] "GET /latest.php HTTP/1.0" 200 979 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:55:37 +1200] "GET /styles/msie6.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-478.dsl.clear.net.nz - - [22/Apr/2009:18:55:37 +1200] "GET /feedback.php HTTP/1.0" 200 4219 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-478.dsl.clear.net.nz - - [22/Apr/2009:18:55:37 +1200] "GET /latest.php HTTP/1.0" 200 686 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-434.optus.com.au - - [22/Apr/2009:18:55:38 +1200] "GET /robots.txt HTTP/1.1" 404 27 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.82.108.146 - - [22/Apr/2009:18:55:38 +1200] "GET /styles/msie6.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:55:38 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 966 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.82.108.146 - - [22/Apr/2009:18:55:38 +1200] "GET /stories/business/070801/37.htm HTTP/1.1" 200 61063 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.82.108.146 - - [22/Apr/2009:18:55:38 +1200] "GET /styles/msie6.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-648.comcast.net - - [22/Apr/2009:18:55:38 +1200] "GET /links.html HTTP/1.0" 200 6864 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.82.108.146 - - [22/Apr/2009:18:55:38 +1200] "GET /styles/site.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.32.127.27 - - [22/Apr/2009:18:55:38 +1200] "GET /stories/entertainment/061105/30.htm HTTP/1.1" 200 62845 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.82.108.146 - - [22/Apr/2009:18:55:39 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:55:39 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 139 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:55:39 +1200] "GET /styles/site.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.82.108.146 - - [22/Apr/2009:18:55:39 +1200] "GET /styles/msie7.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.82.108.146 - - [22/Apr/2009:18:55:39 +1200] "GET /styles/msie7.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:55:39 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 897 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.82.108.146 - - [22/Apr/2009:18:55:39 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.dialup.xtra.co.nz - - [22/Apr/2009:18:55:40 +1200] "GET /adclick.php?c=X41R HTTP/1.1" 302 377 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.dialup.xtra.co.nz - - [22/Apr/2009:18:55:40 +1200] "GET /latest.php?category=politics HTTP/1.1" 200 698 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.32.127.27 - - [22/Apr/2009:18:55:40 +1200] "GET /stories/sport/080314/24.htm HTTP/1.1" 200 45596 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.82.108.146 - - [22/Apr/2009:18:55:40 +1200] "GET /adclick.php?c=PBNI HTTP/1.1" 302 380 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-397.aol.com - - [22/Apr/2009:18:55:40 +1200] "GET /latest.php?category=national HTTP/1.0" 200 6608 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:55:41 +1200] "GET /styles/msie7.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.82.108.146 - - [22/Apr/2009:18:55:41 +1200] "GET /stories/entertainment/061105/30.htm HTTP/1.1" 200 3033 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.dialup.xtra.co.nz - - [22/Apr/2009:18:55:41 +1200] "GET /stories/weather/070801/33.htm HTTP/1.1" 200 990 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-402.optus.com.au - - [22/Apr/2009:18:55:41 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" cache.dialup.xtra.co.nz - - [22/Apr/2009:18:55:41 +1200] "GET /stories/weather/070801/33.htm HTTP/1.1" 200 990 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:55:41 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 915 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.82.108.146 - - [22/Apr/2009:18:55:41 +1200] "GET /styles/msie7.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:55:41 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 957 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-692.aol.com - - [22/Apr/2009:18:55:41 +1200] "GET /feedback.php HTTP/1.0" 200 59066 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" cache.dialup.xtra.co.nz - - [22/Apr/2009:18:55:42 +1200] "GET /styles/ie4.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.55.232.23 - - [22/Apr/2009:18:55:42 +1200] "GET /gallery.php?section=entertainment HTTP/1.1" 200 95328 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.dialup.xtra.co.nz - - [22/Apr/2009:18:55:42 +1200] "GET /styles/site.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.79.187.149 - - [22/Apr/2009:18:55:42 +1200] "GET /stories/entertainment/070801/34.htm HTTP/1.0" 200 179138 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" cache.dialup.xtra.co.nz - - [22/Apr/2009:18:55:42 +1200] "GET /robots.txt HTTP/1.1" 404 27 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-402.optus.com.au - - [22/Apr/2009:18:55:42 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-402.optus.com.au - - [22/Apr/2009:18:55:43 +1200] "GET /adclick.php?c=PBNI HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-402.optus.com.au - - [22/Apr/2009:18:55:43 +1200] "GET /news.html HTTP/1.1" 200 3032 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.30.102.238 - - [22/Apr/2009:18:55:43 +1200] "GET /stories.php?date=2005 HTTP/1.1" 200 69531 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-402.optus.com.au - - [22/Apr/2009:18:55:43 +1200] "GET /stories/business/071203/53.htm HTTP/1.1" 200 52193 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-724.aol.com - - [22/Apr/2009:18:55:44 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 349 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.234.145.173 - - [22/Apr/2009:18:55:44 +1200] "GET /faq.html HTTP/1.1" 200 330 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.30.102.238 - - [22/Apr/2009:18:55:45 +1200] "GET /stories/national/080201/1.htm HTTP/1.1" 200 136345 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.aol.com - - [22/Apr/2009:18:55:45 +1200] "GET /stories/science/080325/82.htm HTTP/1.0" 200 6775 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-724.aol.com - - [22/Apr/2009:18:55:45 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 349 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.234.145.173 - - [22/Apr/2009:18:55:46 +1200] "GET /stories.php?date=2007 HTTP/1.1" 200 330 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-391.ask.com - - [22/Apr/2009:18:55:46 +1200] "GET /gallery.php?section=entertainment HTTP/1.0" 200 49319 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy.paradise.net.nz - - [22/Apr/2009:18:55:47 +1200] "GET /stories/sport/070922/52.htm HTTP/1.0" 200 41687 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.79.187.149 - - [22/Apr/2009:18:55:48 +1200] "GET /stories/world/070801/12.htm HTTP/1.0" 200 175604 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" cache.telstra.com.au - - [22/Apr/2009:18:55:48 +1200] "GET /stories.php HTTP/1.1" 200 92731 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:55:48 +1200] "GET /images/ad/N4FQ.jpeg HTTP/1.1" 200 914 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:55:48 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 836 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-751.bellsouth.net - - [22/Apr/2009:18:55:49 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-751.bellsouth.net - - [22/Apr/2009:18:55:49 +1200] "GET /faq.html HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-512.paradise.net.nz - - [22/Apr/2009:18:55:49 +1200] "GET /latest.php?category=sport HTTP/1.0" 200 49520 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:55:50 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 831 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:55:50 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1657 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-751.bellsouth.net - - [22/Apr/2009:18:55:50 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-751.bellsouth.net - - [22/Apr/2009:18:55:50 +1200] "GET /stories.php?date=2007 HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" www.dsl.clear.net.nz - - [22/Apr/2009:18:55:50 +1200] "GET /stories/politics/060301/22.htm HTTP/1.0" 200 58462 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:55:50 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 2834 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-277.googlebot.com - - [22/Apr/2009:18:55:50 +1200] "GET /adclick.php?c=NT4P HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-277.googlebot.com - - [22/Apr/2009:18:55:50 +1200] "GET /adclick.php?c=AW2M HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-277.googlebot.com - - [22/Apr/2009:18:55:50 +1200] "GET /adclick.php?c=AG3F HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:55:50 +1200] "GET /images/ad/NXM2.jpeg HTTP/1.1" 200 1016 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-277.googlebot.com - - [22/Apr/2009:18:55:50 +1200] "GET /adclick.php?c=AW2M HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-277.googlebot.com - - [22/Apr/2009:18:55:50 +1200] "GET /latest.php?category=business HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-277.googlebot.com - - [22/Apr/2009:18:55:50 +1200] "GET /news.html HTTP/1.1" 200 2666 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-277.googlebot.com - - [22/Apr/2009:18:55:50 +1200] "GET /stories.php HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-277.googlebot.com - - [22/Apr/2009:18:55:51 +1200] "GET /latest.php?category=national HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.30.102.238 - - [22/Apr/2009:18:55:51 +1200] "GET /gallery.php?section=entertainment HTTP/1.1" 200 67118 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.bitstream.orcon.net.nz - - [22/Apr/2009:18:55:51 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 349 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-675.dialup.xtra.co.nz - - [22/Apr/2009:18:55:51 +1200] "GET /adclick.php?c=AW2M HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-675.dialup.xtra.co.nz - - [22/Apr/2009:18:55:51 +1200] "GET /adclick.php?c=EB2Q HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-675.dialup.xtra.co.nz - - [22/Apr/2009:18:55:51 +1200] "GET /adclick.php?c=YI32 HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-675.dialup.xtra.co.nz - - [22/Apr/2009:18:55:51 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.bitstream.orcon.net.nz - - [22/Apr/2009:18:55:51 +1200] "GET /faq.html HTTP/1.1" 200 330 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:55:51 +1200] "GET /adclick.php?c=H34K HTTP/1.1" 302 378 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-273.telstra.com.au - - [22/Apr/2009:18:55:51 +1200] "GET /news.html HTTP/1.0" 200 6608 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-675.dialup.xtra.co.nz - - [22/Apr/2009:18:55:51 +1200] "GET /stories/entertainment/061105/30.htm HTTP/1.1" 200 332 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-675.dialup.xtra.co.nz - - [22/Apr/2009:18:55:51 +1200] "GET /news.html HTTP/1.1" 200 2666 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-675.dialup.xtra.co.nz - - [22/Apr/2009:18:55:51 +1200] "GET /stories.php HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:55:51 +1200] "GET /adclick.php?c=TG3A HTTP/1.1" 302 380 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.bitstream.orcon.net.nz - - [22/Apr/2009:18:55:51 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 349 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-675.dialup.xtra.co.nz - - [22/Apr/2009:18:55:52 +1200] "GET /stories/national/080201/1.htm HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-273.telstra.com.au - - [22/Apr/2009:18:55:52 +1200] "GET /stories/science/070922/33.htm HTTP/1.0" 200 43619 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" www.bitstream.orcon.net.nz - - [22/Apr/2009:18:55:52 +1200] "GET /stories.php?date=2007 HTTP/1.1" 200 330 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:55:52 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 874 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:55:52 +1200] "GET /stories/business/070201/7.htm HTTP/1.1" 200 3699 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-402.optus.com.au - - [22/Apr/2009:18:55:52 +1200] "GET /adclick.php?c=YI32 HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:55:52 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.comcast.net - - [22/Apr/2009:18:55:52 +1200] "GET /gallery.php?section=entertainment HTTP/1.0" 200 7469 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy.aol.com - - [22/Apr/2009:18:55:52 +1200] "GET /sport-news.rss HTTP/1.1" 200 125155 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-402.optus.com.au - - [22/Apr/2009:18:55:52 +1200] "GET /news.html HTTP/1.1" 200 3700 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:55:53 +1200] "GET /stories/politics/060301/22.htm HTTP/1.1" 200 1381 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-623.bellsouth.net - - [22/Apr/2009:18:55:53 +1200] "GET /business-news.rss HTTP/1.0" 200 50196 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.223.221.198 - - [22/Apr/2009:18:55:53 +1200] "GET /stories/world/080201/47.htm HTTP/1.1" 200 6174 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:55:53 +1200] "GET /adclick.php?c=X3HG HTTP/1.1" 302 378 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:55:53 +1200] "GET /links.html HTTP/1.0" 200 49519 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:55:54 +1200] "GET /currency.php HTTP/1.1" 200 71220 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.87.247.241 - - [22/Apr/2009:18:55:54 +1200] "GET /latest.php HTTP/1.1" 200 6595 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.79.187.149 - - [22/Apr/2009:18:55:54 +1200] "GET /latest.php?category=business HTTP/1.0" 200 179739 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-402.optus.com.au - - [22/Apr/2009:18:55:54 +1200] "GET /adclick.php?c=AW2M HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-402.optus.com.au - - [22/Apr/2009:18:55:54 +1200] "GET /adclick.php?c=EB2Q HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-512.paradise.net.nz - - [22/Apr/2009:18:55:55 +1200] "GET /stories/weather/070801/33.htm HTTP/1.0" 200 48385 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.30.102.238 - - [22/Apr/2009:18:55:55 +1200] "GET /stories/national/080201/1.htm HTTP/1.1" 200 66837 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.160.217.201 - - [22/Apr/2009:18:55:55 +1200] "GET /gallery.php?section=sport HTTP/1.1" 200 32800 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-402.optus.com.au - - [22/Apr/2009:18:55:55 +1200] "GET /adclick.php?c=NT4P HTTP/1.1" 302 380 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-382.dsl.clear.net.nz - - [22/Apr/2009:18:55:55 +1200] "GET /news.html HTTP/1.0" 200 6997 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-402.optus.com.au - - [22/Apr/2009:18:55:55 +1200] "GET /adclick.php?c=H34K HTTP/1.1" 302 380 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-402.optus.com.au - - [22/Apr/2009:18:55:55 +1200] "GET /latest.php HTTP/1.1" 200 4231 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:55:55 +1200] "GET /adclick.php?c=PBNI HTTP/1.1" 302 376 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-402.optus.com.au - - [22/Apr/2009:18:55:56 +1200] "GET /stories/science/080325/82.htm HTTP/1.1" 200 1381 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-597.googlebot.com - - [22/Apr/2009:18:55:56 +1200] "GET /news.html HTTP/1.1" 200 7127 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-402.optus.com.au - - [22/Apr/2009:18:55:56 +1200] "GET /stories/science/070922/33.htm HTTP/1.1" 200 699 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.30.102.238 - - [22/Apr/2009:18:55:56 +1200] "GET /stories/national/070309/19.htm HTTP/1.1" 200 65677 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-589.aol.com - - [22/Apr/2009:18:55:56 +1200] "GET /business-news.rss HTTP/1.0" 200 6973 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:55:56 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-402.optus.com.au - - [22/Apr/2009:18:55:56 +1200] "GET /latest-news.rss HTTP/1.1" 200 630 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" cache.bellsouth.net - - [22/Apr/2009:18:55:56 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:55:56 +1200] "GET /styles/msie6.css HTTP/1.1" 200 679 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:55:56 +1200] "GET /styles/msie6.css HTTP/1.1" 200 2283 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-332.ihug.co.nz - - [22/Apr/2009:18:55:56 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bellsouth.net - - [22/Apr/2009:18:55:57 +1200] "GET /faq.html HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:55:57 +1200] "GET /styles/firefox.css HTTP/1.1" 200 758 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-332.ihug.co.nz - - [22/Apr/2009:18:55:57 +1200] "GET /faq.html HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:55:57 +1200] "GET /styles/site.css HTTP/1.1" 200 19 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bellsouth.net - - [22/Apr/2009:18:55:57 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:55:57 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-391.ask.com - - [22/Apr/2009:18:55:57 +1200] "GET /gallery.php?section=entertainment HTTP/1.0" 200 56211 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" bot-332.ihug.co.nz - - [22/Apr/2009:18:55:57 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bellsouth.net - - [22/Apr/2009:18:55:57 +1200] "GET /stories.php?date=2007 HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-549.googlebot.com - - [22/Apr/2009:18:55:57 +1200] "GET /currency.php HTTP/1.1" 200 50068 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-332.ihug.co.nz - - [22/Apr/2009:18:55:57 +1200] "GET /stories.php?date=2007 HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-647.ask.com - - [22/Apr/2009:18:55:57 +1200] "GET /stories/business/070201/7.htm HTTP/1.1" 200 6565 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:55:57 +1200] "GET /styles/msie7.css HTTP/1.1" 200 37 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:55:57 +1200] "GET /styles/msie7.css HTTP/1.1" 200 1693 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:55:58 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:55:58 +1200] "GET /adclick.php?c=PBNI HTTP/1.1" 302 380 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:55:58 +1200] "GET /images/nav/tab_left_center.gif HTTP/1.1" 200 96 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:55:58 +1200] "GET /stories/business/070201/7.htm HTTP/1.1" 200 48333 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.224.2.247 - - [22/Apr/2009:18:55:58 +1200] "GET /latest.php?category=national HTTP/1.1" 200 6643 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.224.2.247 - - [22/Apr/2009:18:55:58 +1200] "GET /stories/world/080201/47.htm HTTP/1.1" 200 6304 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.224.2.247 - - [22/Apr/2009:18:55:58 +1200] "GET /news.html HTTP/1.1" 200 6170 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:55:58 +1200] "GET /gallery.php HTTP/1.1" 200 3033 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:55:59 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 261 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy.aol.com - - [22/Apr/2009:18:55:59 +1200] "GET /stories/business/071203/53.htm HTTP/1.1" 200 52189 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.224.2.247 - - [22/Apr/2009:18:55:59 +1200] "GET /latest.php?category=business HTTP/1.1" 200 6459 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.224.2.247 - - [22/Apr/2009:18:55:59 +1200] "GET /stories.php HTTP/1.1" 200 6677 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.30.102.238 - - [22/Apr/2009:18:55:59 +1200] "GET /stories/national/070309/19.htm HTTP/1.1" 200 65677 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:55:59 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 3716 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:55:59 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 966 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:55:59 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 897 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.paradise.net.nz - - [22/Apr/2009:18:55:59 +1200] "GET /news.html HTTP/1.1" 200 78805 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:55:59 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 139 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:55:59 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 915 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:55:59 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 957 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:55:59 +1200] "GET /images/ad/N4FQ.jpeg HTTP/1.1" 200 914 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.30.102.238 - - [22/Apr/2009:18:55:59 +1200] "GET /stories/business/070801/37.htm HTTP/1.1" 200 70040 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:00 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 836 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:00 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 313 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-514.optus.com.au - - [22/Apr/2009:18:56:00 +1200] "GET /news.html HTTP/1.0" 200 61889 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:00 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 831 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-512.paradise.net.nz - - [22/Apr/2009:18:56:00 +1200] "GET /news.html HTTP/1.0" 200 49335 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy.optus.com.au - - [22/Apr/2009:18:56:00 +1200] "GET /news.html HTTP/1.0" 200 6691 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:00 +1200] "GET /styles/msie7.css HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-343.ask.com - - [22/Apr/2009:18:56:00 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:56:01 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:01 +1200] "GET /images/ad/FDE4.jpeg HTTP/1.1" 200 1196 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy.paradise.net.nz - - [22/Apr/2009:18:56:01 +1200] "GET /faq.html HTTP/1.0" 200 6620 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:56:02 +1200] "GET /adclick.php?c=PBNI HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:56:02 +1200] "GET /news.html HTTP/1.1" 200 3032 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-416.paradise.net.nz - - [22/Apr/2009:18:56:02 +1200] "GET /stories/national/070309/19.htm HTTP/1.0" 200 54336 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" www.dsl.clear.net.nz - - [22/Apr/2009:18:56:02 +1200] "GET /stories/business/071203/53.htm HTTP/1.0" 200 56987 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" 192.82.108.146 - - [22/Apr/2009:18:56:03 +1200] "GET /adclick.php?c=H34K HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:56:03 +1200] "GET /adclick.php?c=H34K HTTP/1.1" 302 380 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.115.109.124 - - [22/Apr/2009:18:56:03 +1200] "GET /gallery.php?section=entertainment HTTP/1.1" 200 59346 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.82.108.146 - - [22/Apr/2009:18:56:03 +1200] "GET /stories/business/070201/7.htm HTTP/1.1" 200 3699 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:03 +1200] "GET /adclick.php?c=YI32 HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.82.108.146 - - [22/Apr/2009:18:56:04 +1200] "GET /adclick.php?c=PBNI HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.dsl.clear.net.nz - - [22/Apr/2009:18:56:04 +1200] "GET /news.html HTTP/1.0" 200 106959 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:04 +1200] "GET /adclick.php?c=YI32 HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-332.ihug.co.nz - - [22/Apr/2009:18:56:04 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-277.googlebot.com - - [22/Apr/2009:18:56:04 +1200] "GET /stories/science/080325/82.htm HTTP/1.0" 200 58228 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" bot-332.ihug.co.nz - - [22/Apr/2009:18:56:05 +1200] "GET /faq.html HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.48.58.131 - - [22/Apr/2009:18:56:05 +1200] "GET /gallery.php?section=entertainment HTTP/1.1" 200 116367 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-512.paradise.net.nz - - [22/Apr/2009:18:56:05 +1200] "GET /gallery.php HTTP/1.0" 200 54606 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" bot-332.ihug.co.nz - - [22/Apr/2009:18:56:05 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:56:05 +1200] "GET /news.html HTTP/1.1" 200 1868 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-332.ihug.co.nz - - [22/Apr/2009:18:56:05 +1200] "GET /stories.php?date=2007 HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:06 +1200] "GET /adclick.php?c=10S2 HTTP/1.1" 302 378 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:56:06 +1200] "GET /adclick.php?c=GD52 HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.82.108.146 - - [22/Apr/2009:18:56:06 +1200] "GET /stories/entertainment/070801/34.htm HTTP/1.1" 200 1372 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:56:06 +1200] "GET /adclick.php?c=3ERO HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:56:06 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 445 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:56:06 +1200] "GET /latest.php HTTP/1.1" 200 3699 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-716.ihug.co.nz - - [22/Apr/2009:18:56:06 +1200] "GET /latest.php HTTP/1.0" 200 51101 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-273.telstra.com.au - - [22/Apr/2009:18:56:07 +1200] "GET /stories/politics/060301/22.htm HTTP/1.0" 200 6542 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:56:07 +1200] "GET /gallery.php?section=entertainment HTTP/1.1" 200 1379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:07 +1200] "GET /adclick.php?c=X3HG HTTP/1.1" 302 377 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-697.global-gateway.net.nz - - [22/Apr/2009:18:56:07 +1200] "GET /stories/business/070801/55.htm HTTP/1.0" 200 54513 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:56:08 +1200] "GET /latest-news.rss HTTP/1.1" 200 4231 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:56:08 +1200] "GET /adclick.php?c=AW2M HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:08 +1200] "GET /adclick.php?c=JAKL HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:56:08 +1200] "GET /adclick.php?c=LME2 HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.79.187.149 - - [22/Apr/2009:18:56:08 +1200] "GET /news.html HTTP/1.0" 200 176363 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.30.102.238 - - [22/Apr/2009:18:56:08 +1200] "GET /stories.php?date=yesterday HTTP/1.1" 200 66649 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:08 +1200] "GET /news.html HTTP/1.1" 200 3700 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:56:08 +1200] "GET /adclick.php?c=H34K HTTP/1.1" 302 380 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:56:09 +1200] "GET /feedback.php HTTP/1.1" 200 4232 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:09 +1200] "GET /stories/politics/060301/22.htm HTTP/1.1" 200 1340 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.30.102.238 - - [22/Apr/2009:18:56:09 +1200] "GET /stories/business/070801/55.htm HTTP/1.1" 200 68613 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-512.paradise.net.nz - - [22/Apr/2009:18:56:09 +1200] "GET /gallery.php?section=business HTTP/1.0" 200 47238 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-277.googlebot.com - - [22/Apr/2009:18:56:09 +1200] "GET /latest.php HTTP/1.0" 200 48185 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:09 +1200] "GET /stories/national/070309/19.htm HTTP/1.1" 200 4231 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:56:09 +1200] "GET /stories/science/070922/33.htm HTTP/1.1" 200 699 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:56:09 +1200] "GET /news.html HTTP/1.1" 200 989 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:56:10 +1200] "GET /latest.php HTTP/1.1" 200 991 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-312.comcast.net - - [22/Apr/2009:18:56:10 +1200] "GET /stories/science/070922/33.htm HTTP/1.1" 200 699 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:10 +1200] "GET /stories/national/070309/19.htm HTTP/1.1" 200 990 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:56:10 +1200] "GET /latest.php?category=politics HTTP/1.1" 200 1450 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.39.35.118 - - [22/Apr/2009:18:56:10 +1200] "GET /stories/world/080201/47.htm HTTP/1.1" 200 6304 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:56:10 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 181 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.223.221.198 - - [22/Apr/2009:18:56:11 +1200] "GET /stories/world/080201/47.htm HTTP/1.1" 200 6174 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:11 +1200] "GET /links.html HTTP/1.1" 200 698 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:11 +1200] "GET /news.html HTTP/1.1" 200 1868 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.87.247.241 - - [22/Apr/2009:18:56:11 +1200] "GET /latest.php?category=politics HTTP/1.1" 200 69750 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:11 +1200] "GET /latest.php?category=politics HTTP/1.1" 200 1450 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.dsl.clear.net.nz - - [22/Apr/2009:18:56:11 +1200] "GET /stories/politics/080201/49.htm HTTP/1.0" 200 47142 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:11 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1657 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:11 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 2834 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:12 +1200] "GET /images/ad/NXM2.jpeg HTTP/1.1" 200 1016 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.86.178.69 - - [22/Apr/2009:18:56:12 +1200] "GET /gallery.php?section=entertainment HTTP/1.1" 200 32800 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.196.179.98 - - [22/Apr/2009:18:56:12 +1200] "GET /js/adclient.js HTTP/1.0" 200 5993 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" 192.79.187.149 - - [22/Apr/2009:18:56:12 +1200] "GET /stories/politics/080201/41.htm HTTP/1.0" 200 73642 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" crawler.ask.com - - [22/Apr/2009:18:56:12 +1200] "GET /gallery.php?section=entertainment HTTP/1.0" 200 58485 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.30.102.238 - - [22/Apr/2009:18:56:12 +1200] "GET /latest.php?category=business HTTP/1.1" 200 68468 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:13 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 874 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.196.179.98 - - [22/Apr/2009:18:56:13 +1200] "GET /latest.php?category=politics HTTP/1.0" 200 1438 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:13 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 181 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" crawler.googlebot.com - - [22/Apr/2009:18:56:13 +1200] "GET /news.html HTTP/1.1" 200 78708 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.196.179.98 - - [22/Apr/2009:18:56:13 +1200] "GET /js/menu.js HTTP/1.0" 200 6377 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-512.paradise.net.nz - - [22/Apr/2009:18:56:13 +1200] "GET /stories/science/080325/82.htm HTTP/1.0" 200 47678 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:56:13 +1200] "GET /styles/msie7.css HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.30.102.238 - - [22/Apr/2009:18:56:14 +1200] "GET /stories/business/070801/55.htm HTTP/1.1" 200 68611 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:14 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 986 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:14 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 988 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:14 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 1362 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:14 +1200] "GET /images/photos/534.jpg HTTP/1.1" 200 1370 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-277.googlebot.com - - [22/Apr/2009:18:56:14 +1200] "GET /stories.php?date=yesterday HTTP/1.0" 200 59523 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.196.179.98 - - [22/Apr/2009:18:56:14 +1200] "GET /latest.php?category=politics HTTP/1.0" 200 1438 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:14 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 279 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:14 +1200] "GET /images/ad/RH4Y.jpeg HTTP/1.1" 200 1017 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:14 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 1084 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:14 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 1004 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:14 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 1020 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-748.ihug.co.nz - - [22/Apr/2009:18:56:14 +1200] "GET /adclick.php?c=TG3A HTTP/1.0" 302 367 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:14 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 245 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:15 +1200] "GET /images/favicon.ico HTTP/1.1" 200 2824 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:15 +1200] "GET /images/ad/A94L.jpeg HTTP/1.1" 200 5612 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:15 +1200] "GET /styles/ie4.css HTTP/1.1" 200 3387 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.115.109.124 - - [22/Apr/2009:18:56:15 +1200] "GET /business-news.rss HTTP/1.1" 200 51873 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:15 +1200] "GET /styles/site.css HTTP/1.1" 200 3396 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:15 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 244 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.196.179.98 - - [22/Apr/2009:18:56:15 +1200] "GET /news.html HTTP/1.0" 200 3020 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:15 +1200] "GET /robots.txt HTTP/1.1" 404 27 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:15 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:15 +1200] "GET /business-news.rss HTTP/1.1" 200 59174 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:15 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 204 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:15 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 2048 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:16 +1200] "GET /styles/msie6.css HTTP/1.1" 200 2283 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-361.global-gateway.net.nz - - [22/Apr/2009:18:56:16 +1200] "GET /stories.php?date=2005 HTTP/1.0" 200 6285 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.78.155.100 - - [22/Apr/2009:18:56:16 +1200] "GET /stories/world/080201/47.htm HTTP/1.1" 200 6304 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:16 +1200] "GET /styles/msie6.css HTTP/1.1" 200 679 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:16 +1200] "GET /styles/site.css HTTP/1.1" 200 19 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:16 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-326.crawl.yahoo.net - - [22/Apr/2009:18:56:16 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 1405 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:16 +1200] "GET /styles/msie7.css HTTP/1.1" 200 37 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:16 +1200] "GET /styles/msie7.css HTTP/1.1" 200 1693 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.196.179.98 - - [22/Apr/2009:18:56:16 +1200] "GET /news.html HTTP/1.0" 200 1856 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:16 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-748.ihug.co.nz - - [22/Apr/2009:18:56:16 +1200] "GET /adclick.php?c=BDS2 HTTP/1.0" 302 367 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-748.ihug.co.nz - - [22/Apr/2009:18:56:16 +1200] "GET /adclick.php?c=AG3F HTTP/1.0" 302 367 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:16 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:16 +1200] "GET /images/nav/tab_left_center.gif HTTP/1.1" 200 96 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:16 +1200] "GET /news.html HTTP/1.1" 200 3032 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:16 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 3716 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:16 +1200] "GET /styles/msie7.css HTTP/1.1" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-748.ihug.co.nz - - [22/Apr/2009:18:56:17 +1200] "GET /adclick.php?c=NT4P HTTP/1.0" 302 367 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:17 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 261 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:17 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 966 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:17 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 139 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:17 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 897 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:17 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 915 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.15.223.198 - - [22/Apr/2009:18:56:17 +1200] "GET /business-news.rss HTTP/1.1" 200 56172 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-748.ihug.co.nz - - [22/Apr/2009:18:56:17 +1200] "GET /adclick.php?c=3ERO HTTP/1.0" 302 366 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:17 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 957 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-748.ihug.co.nz - - [22/Apr/2009:18:56:17 +1200] "GET /adclick.php?c=3ERO HTTP/1.0" 302 366 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-748.ihug.co.nz - - [22/Apr/2009:18:56:17 +1200] "GET /adclick.php?c=X3HG HTTP/1.0" 302 367 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:17 +1200] "GET /images/ad/N4FQ.jpeg HTTP/1.1" 200 914 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:17 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 836 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:17 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 313 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-484.aol.com - - [22/Apr/2009:18:56:17 +1200] "GET /latest.php?category=business HTTP/1.0" 200 58800 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:17 +1200] "GET /images/ad/FDE4.jpeg HTTP/1.1" 200 1196 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:17 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 831 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:17 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1657 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:17 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 2834 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:17 +1200] "GET /images/ad/NXM2.jpeg HTTP/1.1" 200 1016 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:17 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 874 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:17 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 181 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-512.paradise.net.nz - - [22/Apr/2009:18:56:17 +1200] "GET /gallery.php?section=health HTTP/1.0" 200 47246 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.196.179.98 - - [22/Apr/2009:18:56:17 +1200] "GET /stories/politics/080201/49.htm HTTP/1.0" 200 3688 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" 192.30.102.238 - - [22/Apr/2009:18:56:18 +1200] "GET /faq.html HTTP/1.1" 200 175731 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.196.179.98 - - [22/Apr/2009:18:56:18 +1200] "GET /latest.php?category=politics HTTP/1.0" 200 1438 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" 192.196.179.98 - - [22/Apr/2009:18:56:18 +1200] "GET /stories.php HTTP/1.0" 200 2713 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" 192.196.179.98 - - [22/Apr/2009:18:56:18 +1200] "GET /gallery.php?section=entertainment HTTP/1.0" 200 4219 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-681.global-gateway.net.nz - - [22/Apr/2009:18:56:18 +1200] "GET /gallery.php?section=entertainment HTTP/1.0" 200 60365 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:18 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 988 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:18 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 986 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:18 +1200] "GET /adclick.php?c=YI32 HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:18 +1200] "GET /adclick.php?c=LME2 HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:56:18 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 313 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:18 +1200] "GET /images/photos/534.jpg HTTP/1.1" 200 1370 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:18 +1200] "GET /news.html HTTP/1.1" 200 3700 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.196.179.98 - - [22/Apr/2009:18:56:18 +1200] "GET /gallery.php?section=health HTTP/1.0" 200 979 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:18 +1200] "GET /stories/entertainment/070825/233.htm HTTP/1.1" 200 1340 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:19 +1200] "GET /adclick.php?c=10S2 HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:19 +1200] "GET /adclick.php?c=X3HG HTTP/1.1" 302 377 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.196.179.98 - - [22/Apr/2009:18:56:19 +1200] "GET /gallery.php?section=health HTTP/1.0" 200 979 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:19 +1200] "GET /adclick.php?c=GD52 HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:56:19 +1200] "GET /images/ad/FDE4.jpeg HTTP/1.1" 200 1196 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:19 +1200] "GET /stories/national/070309/19.htm HTTP/1.1" 200 4231 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.196.179.98 - - [22/Apr/2009:18:56:19 +1200] "GET /robots.txt HTTP/1.0" 404 15 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:19 +1200] "GET /stories/national/070309/19.htm HTTP/1.1" 200 990 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-481.telstra.com.au - - [22/Apr/2009:18:56:19 +1200] "HEAD /latest.php HTTP/1.1" 200 0 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.79.187.149 - - [22/Apr/2009:18:56:19 +1200] "GET /stories/world/070801/12.htm HTTP/1.0" 200 98654 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-481.telstra.com.au - - [22/Apr/2009:18:56:19 +1200] "GET /stories/politics/080201/49.htm HTTP/1.1" 200 1817 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.196.179.98 - - [22/Apr/2009:18:56:19 +1200] "GET /latest.php HTTP/1.0" 200 686 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dhcp-314.bitstream.orcon.net.nz - - [22/Apr/2009:18:56:19 +1200] "GET /news.html HTTP/1.0" 200 6691 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:19 +1200] "GET /crossdomain.xml HTTP/1.1" 200 698 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:19 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 1362 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-277.googlebot.com - - [22/Apr/2009:18:56:19 +1200] "GET /stories/politics/060301/22.htm HTTP/1.0" 200 63242 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:19 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 1004 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.30.102.238 - - [22/Apr/2009:18:56:19 +1200] "GET /crossdomain.xml HTTP/1.1" 200 53421 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:19 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 1084 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-513.telstra.com.au - - [22/Apr/2009:18:56:20 +1200] "GET /images/ad/RH4Y.jpeg HTTP/1.1" 200 1017 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.dsl.clear.net.nz - - [22/Apr/2009:18:56:20 +1200] "GET /stories/science/070922/33.htm HTTP/1.0" 200 48138 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" 192.15.223.198 - - [22/Apr/2009:18:56:20 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:56:20 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 986 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.142.80.43 - - [22/Apr/2009:18:56:20 +1200] "GET /latest.php?category=national HTTP/1.0" 200 34363 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-583.ask.com - - [22/Apr/2009:18:56:21 +1200] "GET /latest.php?category=politics HTTP/1.0" 200 6892 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:56:21 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 988 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.142.80.43 - - [22/Apr/2009:18:56:21 +1200] "GET /styles/msie6.css HTTP/1.0" 304 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.187.79.74 - - [22/Apr/2009:18:56:21 +1200] "GET /stories.php?date=2007 HTTP/1.1" 200 19267 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:56:21 +1200] "GET /images/photos/534.jpg HTTP/1.1" 200 1370 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:56:21 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 1362 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.142.80.43 - - [22/Apr/2009:18:56:21 +1200] "GET /styles/site.css HTTP/1.0" 304 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:56:21 +1200] "GET /images/ad/A94L.jpeg HTTP/1.1" 200 997 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.142.80.43 - - [22/Apr/2009:18:56:21 +1200] "GET /latest.php HTTP/1.0" 200 57479 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:56:22 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 1130 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.142.80.43 - - [22/Apr/2009:18:56:22 +1200] "GET /js/adclient.js HTTP/1.0" 200 5993 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:56:22 +1200] "GET /images/nav/tab_right_middle.gif HTTP/1.1" 200 1012 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:56:22 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 279 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:56:22 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 1020 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:56:22 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 245 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-477.aol.com - - [22/Apr/2009:18:56:22 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:56:22 +1200] "GET /images/favicon.ico HTTP/1.1" 200 2824 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:56:22 +1200] "GET /images/ad/A94L.jpeg HTTP/1.1" 200 5612 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.142.80.43 - - [22/Apr/2009:18:56:22 +1200] "GET /styles/msie7.css HTTP/1.0" 304 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.15.223.198 - - [22/Apr/2009:18:56:23 +1200] "GET /styles/msie6.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-481.telstra.com.au - - [22/Apr/2009:18:56:23 +1200] "HEAD /gallery.php?section=health HTTP/1.1" 200 0 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.142.80.43 - - [22/Apr/2009:18:56:23 +1200] "GET /styles/msie7.css HTTP/1.0" 304 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:56:23 +1200] "GET /styles/ie4.css HTTP/1.1" 200 3387 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.aol.com - - [22/Apr/2009:18:56:23 +1200] "GET /news.html HTTP/1.0" 200 70625 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:56:23 +1200] "GET /stories/world/080201/47.htm HTTP/1.0" 200 51713 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-314.bitstream.orcon.net.nz - - [22/Apr/2009:18:56:23 +1200] "GET /links.html HTTP/1.0" 200 7272 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.142.80.43 - - [22/Apr/2009:18:56:23 +1200] "GET /js/menu.js HTTP/1.0" 200 6377 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.160.115.89 - - [22/Apr/2009:18:56:23 +1200] "GET /latest.php?category=national HTTP/1.1" 200 53082 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.bellsouth.net - - [22/Apr/2009:18:56:23 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bellsouth.net - - [22/Apr/2009:18:56:23 +1200] "GET /faq.html HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.160.115.89 - - [22/Apr/2009:18:56:23 +1200] "GET /latest.php?category=national HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.30.102.238 - - [22/Apr/2009:18:56:24 +1200] "GET /news.html HTTP/1.1" 200 176579 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:56:24 +1200] "GET /latest.php?category=national HTTP/1.0" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.bellsouth.net - - [22/Apr/2009:18:56:24 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:56:24 +1200] "GET /styles/site.css HTTP/1.1" 200 3396 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.142.80.43 - - [22/Apr/2009:18:56:24 +1200] "GET /adclick.php?c=2ER3 HTTP/1.0" 302 367 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.142.80.43 - - [22/Apr/2009:18:56:24 +1200] "GET /images/nav/tab_left_center.gif HTTP/1.0" 200 96 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" cache.bellsouth.net - - [22/Apr/2009:18:56:24 +1200] "GET /stories.php?date=2007 HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.15.223.198 - - [22/Apr/2009:18:56:24 +1200] "GET /styles/firefox.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:56:24 +1200] "GET /robots.txt HTTP/1.1" 404 27 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.142.80.43 - - [22/Apr/2009:18:56:24 +1200] "GET /gallery.php?section=sport HTTP/1.0" 200 3020 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-499.dialup.xtra.co.nz - - [22/Apr/2009:18:56:24 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-481.telstra.com.au - - [22/Apr/2009:18:56:25 +1200] "GET /latest.php HTTP/1.1" 200 58468 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:56:25 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 1405 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:56:25 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 204 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-454.crawl.yahoo.net - - [22/Apr/2009:18:56:25 +1200] "GET /latest.php?category=sport HTTP/1.0" 200 47994 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.30.102.238 - - [22/Apr/2009:18:56:25 +1200] "GET /stories/politics/080201/41.htm HTTP/1.1" 200 57613 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.142.80.43 - - [22/Apr/2009:18:56:25 +1200] "GET /styles/msie7.css HTTP/1.0" 304 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:56:25 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 2048 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.160.115.89 - - [22/Apr/2009:18:56:25 +1200] "GET /styles/msie6.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.30.102.238 - - [22/Apr/2009:18:56:25 +1200] "GET /business-news.rss HTTP/1.1" 200 55417 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.160.115.89 - - [22/Apr/2009:18:56:25 +1200] "GET /styles/msie6.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-512.paradise.net.nz - - [22/Apr/2009:18:56:25 +1200] "GET /stories/science/070922/33.htm HTTP/1.0" 200 48555 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.160.115.89 - - [22/Apr/2009:18:56:26 +1200] "GET /styles/site.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-512.paradise.net.nz - - [22/Apr/2009:18:56:26 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:56:26 +1200] "GET /styles/msie6.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-463.bellsouth.net - - [22/Apr/2009:18:56:26 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 244 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.160.115.89 - - [22/Apr/2009:18:56:26 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.15.223.198 - - [22/Apr/2009:18:56:26 +1200] "GET /styles/site.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.ask.com - - [22/Apr/2009:18:56:26 +1200] "GET /adclick.php?c=AW2M HTTP/1.1" 302 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.160.115.89 - - [22/Apr/2009:18:56:26 +1200] "GET /styles/msie7.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.15.223.198 - - [22/Apr/2009:18:56:26 +1200] "GET /styles/msie6.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-418.optus.com.au - - [22/Apr/2009:18:56:26 +1200] "GET /stories/business/071203/53.htm HTTP/1.0" 200 32768 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.160.115.89 - - [22/Apr/2009:18:56:26 +1200] "GET /styles/msie7.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.160.115.89 - - [22/Apr/2009:18:56:27 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-512.paradise.net.nz - - [22/Apr/2009:18:56:27 +1200] "GET /faq.html HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:56:27 +1200] "GET /styles/site.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.160.115.89 - - [22/Apr/2009:18:56:27 +1200] "GET /adclick.php?c=PBNI HTTP/1.1" 302 380 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.160.115.89 - - [22/Apr/2009:18:56:27 +1200] "GET /stories/entertainment/061105/30.htm HTTP/1.1" 200 3033 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-512.paradise.net.nz - - [22/Apr/2009:18:56:27 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" 192.79.187.149 - - [22/Apr/2009:18:56:27 +1200] "GET /stories/entertainment/070825/233.htm HTTP/1.0" 200 174925 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" bot-434.optus.com.au - - [22/Apr/2009:18:56:27 +1200] "GET /latest.php?category=sport HTTP/1.0" 200 6509 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:56:27 +1200] "GET /styles/msie7.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.dsl.clear.net.nz - - [22/Apr/2009:18:56:28 +1200] "GET /stories.php?date=yesterday HTTP/1.1" 200 3032 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-512.paradise.net.nz - - [22/Apr/2009:18:56:28 +1200] "GET /stories.php?date=2007 HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" 192.30.102.238 - - [22/Apr/2009:18:56:28 +1200] "GET /stories/business/070301/63.htm HTTP/1.1" 200 57767 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:56:28 +1200] "GET /latest.php?category=national HTTP/1.0" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:56:28 +1200] "GET /feedback.php HTTP/1.0" 200 59116 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-569.global-gateway.net.nz - - [22/Apr/2009:18:56:28 +1200] "GET /stories/politics/080201/49.htm HTTP/1.0" 200 6497 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-481.telstra.com.au - - [22/Apr/2009:18:56:28 +1200] "GET /gallery.php?section=health HTTP/1.1" 200 58215 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:28 +1200] "GET /links.html HTTP/1.1" 200 51429 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:28 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.30.102.238 - - [22/Apr/2009:18:56:29 +1200] "GET /faq.html HTTP/1.1" 200 58024 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-429.aol.com - - [22/Apr/2009:18:56:29 +1200] "GET /stories/politics/060301/22.htm HTTP/1.1" 200 45884 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:56:29 +1200] "GET /styles/msie6.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:29 +1200] "GET /styles/msie6.css HTTP/1.1" 200 2283 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:56:29 +1200] "GET /latest.php?category=national HTTP/1.0" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:56:29 +1200] "GET /stories.php?date=2007 HTTP/1.0" 200 57931 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.160.115.89 - - [22/Apr/2009:18:56:29 +1200] "GET /styles/msie7.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:30 +1200] "GET /styles/msie6.css HTTP/1.1" 200 679 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:30 +1200] "GET /styles/site.css HTTP/1.1" 200 19 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:30 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.18.172.10 - - [22/Apr/2009:18:56:30 +1200] "GET /news.html HTTP/1.1" 200 120828 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.160.115.89 - - [22/Apr/2009:18:56:30 +1200] "GET /adclick.php?c=NT4P HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.87.247.241 - - [22/Apr/2009:18:56:30 +1200] "GET /business-news.rss HTTP/1.1" 200 58071 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:56:30 +1200] "GET /styles/site.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:56:31 +1200] "GET /styles/msie6.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.aol.com - - [22/Apr/2009:18:56:31 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" 192.160.115.89 - - [22/Apr/2009:18:56:31 +1200] "GET /adclick.php?c=X41R HTTP/1.1" 302 380 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.aol.com - - [22/Apr/2009:18:56:31 +1200] "GET /stories/sport/080314/24.htm HTTP/1.1" 200 50827 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:31 +1200] "GET /styles/msie7.css HTTP/1.1" 200 37 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:31 +1200] "GET /styles/msie7.css HTTP/1.1" 200 1693 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.160.115.89 - - [22/Apr/2009:18:56:31 +1200] "GET /stories/politics/080201/41.htm HTTP/1.1" 200 3699 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.142.80.43 - - [22/Apr/2009:18:56:31 +1200] "GET /images/photos/993.jpg HTTP/1.0" 200 966 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.142.80.43 - - [22/Apr/2009:18:56:31 +1200] "GET /images/photos/993.jpg HTTP/1.0" 200 261 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.142.80.43 - - [22/Apr/2009:18:56:31 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.0" 200 3716 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.30.102.238 - - [22/Apr/2009:18:56:31 +1200] "GET /stories/business/070801/37.htm HTTP/1.1" 200 59627 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.30.102.238 - - [22/Apr/2009:18:56:31 +1200] "GET /stories/politics/080201/49.htm HTTP/1.1" 200 59832 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.160.115.89 - - [22/Apr/2009:18:56:32 +1200] "GET /stories/business/070801/37.htm HTTP/1.1" 200 1381 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.142.80.43 - - [22/Apr/2009:18:56:32 +1200] "GET /images/ad/NXM2.jpeg HTTP/1.0" 200 1016 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:56:32 +1200] "GET /styles/site.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:56:32 +1200] "GET /styles/msie7.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:32 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.160.115.89 - - [22/Apr/2009:18:56:32 +1200] "GET /adclick.php?c=EB2Q HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.142.80.43 - - [22/Apr/2009:18:56:32 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.0" 200 874 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.142.80.43 - - [22/Apr/2009:18:56:32 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.0" 200 181 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.142.80.43 - - [22/Apr/2009:18:56:32 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.0" 200 139 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.142.80.43 - - [22/Apr/2009:18:56:32 +1200] "GET /images/photos/993.jpg HTTP/1.0" 200 897 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-672.paradise.net.nz - - [22/Apr/2009:18:56:32 +1200] "GET /latest.php?category=national HTTP/1.0" 200 54055 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-737.telstra.com.au - - [22/Apr/2009:18:56:32 +1200] "GET /stories/politics/080201/49.htm HTTP/1.1" 200 1817 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.160.115.89 - - [22/Apr/2009:18:56:32 +1200] "GET /adclick.php?c=TG3A HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.142.80.43 - - [22/Apr/2009:18:56:32 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.0" 200 915 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.142.80.43 - - [22/Apr/2009:18:56:32 +1200] "GET /images/photos/84.jpg HTTP/1.0" 200 957 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-437.googlebot.com - - [22/Apr/2009:18:56:32 +1200] "GET /styles/msie7.css HTTP/1.0" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.142.80.43 - - [22/Apr/2009:18:56:32 +1200] "GET /images/ad/N4FQ.jpeg HTTP/1.0" 200 914 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.160.115.89 - - [22/Apr/2009:18:56:32 +1200] "GET /adclick.php?c=X41R HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" cache.ask.com - - [22/Apr/2009:18:56:32 +1200] "GET /gallery.php?section=entertainment HTTP/1.0" 200 62733 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.142.80.43 - - [22/Apr/2009:18:56:32 +1200] "GET /images/photos/455.jpg HTTP/1.0" 200 836 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.142.80.43 - - [22/Apr/2009:18:56:32 +1200] "GET /images/photos/84.jpg HTTP/1.0" 200 313 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-332.ihug.co.nz - - [22/Apr/2009:18:56:32 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-332.ihug.co.nz - - [22/Apr/2009:18:56:33 +1200] "GET /faq.html HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.142.80.43 - - [22/Apr/2009:18:56:33 +1200] "GET /images/ad/FDE4.jpeg HTTP/1.0" 200 1196 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.142.80.43 - - [22/Apr/2009:18:56:33 +1200] "GET /images/photos/5332.jpg HTTP/1.0" 200 831 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.15.223.198 - - [22/Apr/2009:18:56:33 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.160.115.89 - - [22/Apr/2009:18:56:33 +1200] "GET /news.html HTTP/1.1" 200 4231 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:33 +1200] "GET /gallery.php?section=sport HTTP/1.1" 200 49028 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:33 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.160.115.89 - - [22/Apr/2009:18:56:33 +1200] "GET /latest.php?category=business HTTP/1.1" 200 630 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy-352.paradise.net.nz - - [22/Apr/2009:18:56:33 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-352.paradise.net.nz - - [22/Apr/2009:18:56:33 +1200] "GET /feedback.php HTTP/1.1" 200 62697 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-332.ihug.co.nz - - [22/Apr/2009:18:56:33 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.142.80.43 - - [22/Apr/2009:18:56:33 +1200] "GET /images/photos/84.jpg HTTP/1.0" 200 1657 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" bot-332.ihug.co.nz - - [22/Apr/2009:18:56:33 +1200] "GET /stories.php?date=2007 HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.142.80.43 - - [22/Apr/2009:18:56:33 +1200] "GET /images/photos/5334.jpg HTTP/1.0" 200 2834 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy.aol.com - - [22/Apr/2009:18:56:33 +1200] "GET /latest.php HTTP/1.1" 200 57551 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-637.aol.com - - [22/Apr/2009:18:56:33 +1200] "GET /stories/national/080201/1.htm HTTP/1.0" 200 6405 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.142.80.43 - - [22/Apr/2009:18:56:33 +1200] "GET /adclick.php?c=TG3A HTTP/1.0" 302 367 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.142.80.43 - - [22/Apr/2009:18:56:33 +1200] "GET /adclick.php?c=ABTJ HTTP/1.0" 302 367 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:33 +1200] "GET /styles/msie6.css HTTP/1.1" 200 2283 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.54.64.221 - - [22/Apr/2009:18:56:34 +1200] "GET /latest.php?category=national HTTP/1.1" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.87.247.241 - - [22/Apr/2009:18:56:34 +1200] "GET /gallery.php?section=entertainment HTTP/1.1" 200 59607 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.30.102.238 - - [22/Apr/2009:18:56:34 +1200] "GET /stories/politics/080201/49.htm HTTP/1.1" 200 58714 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.160.115.89 - - [22/Apr/2009:18:56:34 +1200] "GET /latest.php HTTP/1.1" 200 698 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:34 +1200] "GET /styles/msie6.css HTTP/1.1" 200 679 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.160.115.89 - - [22/Apr/2009:18:56:34 +1200] "GET /latest.php?category=politics HTTP/1.1" 200 1450 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.142.80.43 - - [22/Apr/2009:18:56:34 +1200] "GET /images/photos/5334.jpg HTTP/1.0" 200 988 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.dsl.clear.net.nz - - [22/Apr/2009:18:56:34 +1200] "GET /latest.php?category=business HTTP/1.0" 200 49524 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" 192.234.247.139 - - [22/Apr/2009:18:56:34 +1200] "GET /stories/business/071203/53.htm HTTP/1.1" 200 6429 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" 192.142.80.43 - - [22/Apr/2009:18:56:34 +1200] "GET /latest.php?category=national HTTP/1.0" 200 3688 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:34 +1200] "GET /styles/site.css HTTP/1.1" 200 19 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.142.80.43 - - [22/Apr/2009:18:56:34 +1200] "GET /stories.php?date=yesterday HTTP/1.0" 200 1360 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.54.64.221 - - [22/Apr/2009:18:56:34 +1200] "GET /stories/business/070801/12.htm HTTP/1.1" 200 47695 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:34 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.142.80.43 - - [22/Apr/2009:18:56:35 +1200] "GET /adclick.php?c=X41R HTTP/1.0" 302 366 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.142.80.43 - - [22/Apr/2009:18:56:35 +1200] "GET /adclick.php?c=GD52 HTTP/1.0" 302 365 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.142.80.43 - - [22/Apr/2009:18:56:35 +1200] "GET /adclick.php?c=X3HG HTTP/1.0" 302 367 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-531.dialup.xtra.co.nz - - [22/Apr/2009:18:56:35 +1200] "GET /feedback.php HTTP/1.1" 200 54022 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.aol.com - - [22/Apr/2009:18:56:35 +1200] "GET /styles/msie6.css HTTP/1.1" 200 2283 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" 192.142.80.43 - - [22/Apr/2009:18:56:35 +1200] "GET /stories.php?date=2006 HTTP/1.0" 200 978 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.142.80.43 - - [22/Apr/2009:18:56:36 +1200] "GET /adclick.php?c=GD52 HTTP/1.0" 302 365 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.142.80.43 - - [22/Apr/2009:18:56:36 +1200] "GET /currency.php HTTP/1.0" 200 686 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.aol.com - - [22/Apr/2009:18:56:36 +1200] "GET /styles/msie6.css HTTP/1.1" 200 679 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" www.aol.com - - [22/Apr/2009:18:56:36 +1200] "GET /styles/site.css HTTP/1.1" 200 19 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" 192.142.80.43 - - [22/Apr/2009:18:56:36 +1200] "GET /images/photos/455.jpg HTTP/1.0" 200 986 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.aol.com - - [22/Apr/2009:18:56:36 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" 192.142.80.43 - - [22/Apr/2009:18:56:36 +1200] "GET /latest.php?category=sport HTTP/1.0" 200 4218 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:36 +1200] "GET /styles/msie7.css HTTP/1.1" 200 37 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:37 +1200] "GET /styles/msie7.css HTTP/1.1" 200 1693 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:37 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:37 +1200] "GET /adclick.php?c=GD52 HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.paradise.net.nz - - [22/Apr/2009:18:56:37 +1200] "GET /gallery.php?section=entertainment HTTP/1.0" 200 50568 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:37 +1200] "GET /images/nav/tab_left_center.gif HTTP/1.1" 200 96 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.142.80.43 - - [22/Apr/2009:18:56:37 +1200] "GET /stories.php?date=2006 HTTP/1.0" 200 978 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-343.ask.com - - [22/Apr/2009:18:56:37 +1200] "GET /adclick.php?c=BDS2 HTTP/1.1" 302 349 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:37 +1200] "GET /stories/business/070801/55.htm HTTP/1.1" 200 3032 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:37 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 261 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.82.108.146 - - [22/Apr/2009:18:56:37 +1200] "GET /adclick.php?c=X3HG HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-688.paradise.net.nz - - [22/Apr/2009:18:56:37 +1200] "GET /stories.php?date=2005 HTTP/1.0" 200 58803 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.15.223.198 - - [22/Apr/2009:18:56:37 +1200] "GET /styles/msie7.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.142.80.43 - - [22/Apr/2009:18:56:38 +1200] "GET /images/favicon.ico HTTP/1.0" 200 2824 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.234.247.139 - - [22/Apr/2009:18:56:38 +1200] "GET /news.html HTTP/1.1" 200 6040 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" 192.15.223.198 - - [22/Apr/2009:18:56:38 +1200] "GET /styles/msie7.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.82.108.146 - - [22/Apr/2009:18:56:38 +1200] "GET /adclick.php?c=X41R HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:38 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 3716 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:38 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 966 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.82.108.146 - - [22/Apr/2009:18:56:38 +1200] "GET /adclick.php?c=PBNI HTTP/1.1" 302 376 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.142.80.43 - - [22/Apr/2009:18:56:38 +1200] "GET /images/ad/A94L.jpeg HTTP/1.0" 200 5612 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.142.80.43 - - [22/Apr/2009:18:56:38 +1200] "GET /images/nav/tab_right_middle.gif HTTP/1.0" 200 1179 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.79.187.149 - - [22/Apr/2009:18:56:38 +1200] "GET /stories.php HTTP/1.0" 200 177650 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-343.ask.com - - [22/Apr/2009:18:56:38 +1200] "GET /stories.php?date=2007 HTTP/1.1" 200 330 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:38 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 139 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:38 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 897 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.142.80.43 - - [22/Apr/2009:18:56:38 +1200] "GET /images/photos/824.jpg HTTP/1.0" 200 245 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-657.telstra.com.au - - [22/Apr/2009:18:56:38 +1200] "GET /latest.php HTTP/1.0" 200 6323 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.82.108.146 - - [22/Apr/2009:18:56:38 +1200] "GET /latest-news.rss HTTP/1.1" 200 4231 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.21.27.9 - - [22/Apr/2009:18:56:38 +1200] "GET /stories/politics/080201/41.htm HTTP/1.0" 200 73644 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.142.80.43 - - [22/Apr/2009:18:56:38 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.0" 200 279 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.142.80.43 - - [22/Apr/2009:18:56:38 +1200] "GET /images/photos/84.jpg HTTP/1.0" 200 1199 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.82.108.146 - - [22/Apr/2009:18:56:38 +1200] "GET /latest.php HTTP/1.1" 200 698 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.142.80.43 - - [22/Apr/2009:18:56:38 +1200] "GET /images/photos/5332.jpg HTTP/1.0" 200 1061 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.142.80.43 - - [22/Apr/2009:18:56:38 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.0" 200 1020 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dyn-512.paradise.net.nz - - [22/Apr/2009:18:56:38 +1200] "GET /links.html HTTP/1.0" 200 50846 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:38 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 915 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:38 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 957 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.142.80.43 - - [22/Apr/2009:18:56:39 +1200] "GET /images/ad/RH4Y.jpeg HTTP/1.0" 200 1031 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.142.80.43 - - [22/Apr/2009:18:56:39 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.0" 200 1376 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.142.80.43 - - [22/Apr/2009:18:56:39 +1200] "GET /images/photos/355.jpg HTTP/1.0" 200 1373 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-352.paradise.net.nz - - [22/Apr/2009:18:56:39 +1200] "GET /feedback.php HTTP/1.1" 200 32800 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.30.102.238 - - [22/Apr/2009:18:56:39 +1200] "GET /stories/entertainment/061105/30.htm HTTP/1.1" 200 62845 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.160.115.89 - - [22/Apr/2009:18:56:39 +1200] "GET /styles/site.css HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.142.80.43 - - [22/Apr/2009:18:56:39 +1200] "GET /images/photos/5332.jpg HTTP/1.0" 304 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-454.crawl.yahoo.net - - [22/Apr/2009:18:56:39 +1200] "GET /latest.php?category=business HTTP/1.0" 200 67963 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:39 +1200] "GET /images/ad/N4FQ.jpeg HTTP/1.1" 200 914 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:39 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 836 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.87.247.241 - - [22/Apr/2009:18:56:39 +1200] "GET /news.html HTTP/1.1" 200 58373 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.30.102.238 - - [22/Apr/2009:18:56:39 +1200] "GET /stories/politics/080201/49.htm HTTP/1.1" 200 53738 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.15.223.198 - - [22/Apr/2009:18:56:39 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:39 +1200] "GET /adclick.php?c=GD52 HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:39 +1200] "GET /adclick.php?c=3ERO HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:40 +1200] "GET /news.html HTTP/1.1" 200 1868 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:40 +1200] "GET /latest.php HTTP/1.1" 200 3699 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:40 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 380 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:40 +1200] "GET /images/nav/tab_left_center.gif HTTP/1.1" 200 96 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-263.ask.com - - [22/Apr/2009:18:56:40 +1200] "GET /business-news.rss HTTP/1.0" 200 6689 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.118.184.192 - - [22/Apr/2009:18:56:40 +1200] "GET /news.html HTTP/1.1" 200 6574 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:40 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 3716 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:40 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 261 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:40 +1200] "GET /latest.php?category=politics HTTP/1.1" 200 1450 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:40 +1200] "GET /news.html HTTP/1.1" 200 2725 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.dsl.clear.net.nz - - [22/Apr/2009:18:56:40 +1200] "GET /stories/business/070201/7.htm HTTP/1.0" 200 52689 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" www.aol.com - - [22/Apr/2009:18:56:40 +1200] "GET /styles/msie7.css HTTP/1.1" 200 37 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" www.aol.com - - [22/Apr/2009:18:56:40 +1200] "GET /styles/msie7.css HTTP/1.1" 200 1693 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" 192.54.64.221 - - [22/Apr/2009:18:56:40 +1200] "GET /styles/msie6.css HTTP/1.1" 200 2283 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:40 +1200] "GET /latest.php HTTP/1.1" 200 3033 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.30.102.238 - - [22/Apr/2009:18:56:40 +1200] "GET /stories/politics/080201/49.htm HTTP/1.1" 200 53738 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.aol.com - - [22/Apr/2009:18:56:40 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:40 +1200] "GET /adclick.php?c=TG3A HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:40 +1200] "GET /adclick.php?c=PBNI HTTP/1.1" 302 376 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:41 +1200] "GET /adclick.php?c=2ER3 HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:41 +1200] "GET /adclick.php?c=JAKL HTTP/1.1" 302 380 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:41 +1200] "GET /adclick.php?c=AG3F HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:41 +1200] "GET /latest.php?category=business HTTP/1.1" 200 4231 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:41 +1200] "GET /adclick.php?c=EB2Q HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:41 +1200] "GET /adclick.php?c=LME2 HTTP/1.1" 302 377 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.54.64.221 - - [22/Apr/2009:18:56:41 +1200] "GET /styles/firefox.css HTTP/1.1" 200 758 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:41 +1200] "GET /news.html HTTP/1.1" 200 989 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:41 +1200] "GET /adclick.php?c=2ER3 HTTP/1.1" 302 378 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:41 +1200] "GET /news.html HTTP/1.1" 200 698 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.21.27.9 - - [22/Apr/2009:18:56:41 +1200] "GET /adclick.php?c=H34K HTTP/1.0" 302 368 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.54.64.221 - - [22/Apr/2009:18:56:41 +1200] "GET /styles/msie6.css HTTP/1.1" 200 679 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.aol.com - - [22/Apr/2009:18:56:41 +1200] "GET /images/nav/tab_left_center.gif HTTP/1.1" 200 96 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:41 +1200] "GET /gallery.php?section=entertainment HTTP/1.1" 200 3699 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.aol.com - - [22/Apr/2009:18:56:41 +1200] "GET /adclick.php?c=ABTJ HTTP/1.1" 302 380 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" 192.54.64.221 - - [22/Apr/2009:18:56:42 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:42 +1200] "GET /latest.php?category=weather HTTP/1.1" 200 1341 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:42 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 313 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:42 +1200] "GET /images/ad/FDE4.jpeg HTTP/1.1" 200 1196 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.54.64.221 - - [22/Apr/2009:18:56:42 +1200] "GET /styles/site.css HTTP/1.1" 200 19 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.21.27.9 - - [22/Apr/2009:18:56:42 +1200] "GET /stories/science/070922/33.htm HTTP/1.0" 200 687 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-277.googlebot.com - - [22/Apr/2009:18:56:42 +1200] "GET /stories/sport/080314/24.htm HTTP/1.0" 200 53343 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:42 +1200] "GET /latest.php?category=business HTTP/1.1" 200 4231 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.aol.com - - [22/Apr/2009:18:56:42 +1200] "GET /latest.php HTTP/1.1" 200 3033 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:42 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 831 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:42 +1200] "GET /stories.php?date=2007 HTTP/1.1" 200 990 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:42 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1657 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-409.global-gateway.net.nz - - [22/Apr/2009:18:56:42 +1200] "GET /stories/business/070801/55.htm HTTP/1.0" 200 59035 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:42 +1200] "GET /stories/science/080325/82.htm HTTP/1.1" 200 697 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:42 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 966 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:42 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 2834 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-527.bellsouth.net - - [22/Apr/2009:18:56:42 +1200] "GET /latest.php?category=national HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:42 +1200] "GET /images/ad/NXM2.jpeg HTTP/1.1" 200 1016 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:43 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 139 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.54.64.221 - - [22/Apr/2009:18:56:43 +1200] "GET /styles/msie7.css HTTP/1.1" 200 37 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.54.64.221 - - [22/Apr/2009:18:56:43 +1200] "GET /styles/msie7.css HTTP/1.1" 200 1693 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:43 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 897 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.aol.com - - [22/Apr/2009:18:56:43 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 3716 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" 192.21.27.9 - - [22/Apr/2009:18:56:43 +1200] "GET /adclick.php?c=2ER3 HTTP/1.0" 302 368 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:43 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 874 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:43 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 181 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.54.64.221 - - [22/Apr/2009:18:56:43 +1200] "GET /js/menu.js HTTP/1.1" 200 6390 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.aol.com - - [22/Apr/2009:18:56:43 +1200] "GET /styles/msie7.css HTTP/1.1" 200 34363 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:43 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 915 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-527.bellsouth.net - - [22/Apr/2009:18:56:43 +1200] "GET /js/adclient.js HTTP/1.1" 200 6006 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-527.bellsouth.net - - [22/Apr/2009:18:56:43 +1200] "GET /news.html HTTP/1.1" 200 57400 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:43 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 957 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:43 +1200] "GET /images/ad/N4FQ.jpeg HTTP/1.1" 200 914 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-330.bitstream.orcon.net.nz - - [22/Apr/2009:18:56:43 +1200] "GET /stories.php HTTP/1.0" 200 6535 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" 192.21.27.9 - - [22/Apr/2009:18:56:43 +1200] "GET /news.html HTTP/1.0" 200 619 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:43 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 836 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:43 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 313 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:44 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 988 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:44 +1200] "GET /styles/msie7.css HTTP/1.1" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:44 +1200] "GET /images/ad/FDE4.jpeg HTTP/1.1" 200 1196 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" proxy.aol.com - - [22/Apr/2009:18:56:44 +1200] "GET /gallery.php?section=sport HTTP/1.1" 200 49028 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.21.27.9 - - [22/Apr/2009:18:56:44 +1200] "GET /adclick.php?c=X3HG HTTP/1.0" 302 366 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:44 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 831 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:44 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 986 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.54.64.221 - - [22/Apr/2009:18:56:44 +1200] "GET /adclick.php?c=2ER3 HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.aol.com - - [22/Apr/2009:18:56:44 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 261 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" 192.54.64.221 - - [22/Apr/2009:18:56:44 +1200] "GET /images/nav/tab_left_center.gif HTTP/1.1" 200 96 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:44 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1657 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:44 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 2834 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.21.27.9 - - [22/Apr/2009:18:56:44 +1200] "GET /stories.php HTTP/1.0" 200 4218 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:44 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 445 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.54.64.221 - - [22/Apr/2009:18:56:44 +1200] "GET /gallery.php?section=sport HTTP/1.1" 200 3032 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:44 +1200] "GET /images/ad/NXM2.jpeg HTTP/1.1" 200 1016 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:44 +1200] "GET /images/nav/tab_right_center.gif HTTP/1.1" 200 181 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:45 +1200] "GET /images/photos/84.jpg HTTP/1.1" 200 1199 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:45 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 1061 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.86.178.69 - - [22/Apr/2009:18:56:45 +1200] "GET /stories/politics/080201/41.htm HTTP/1.1" 200 32800 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:45 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 874 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-569.global-gateway.net.nz - - [22/Apr/2009:18:56:45 +1200] "GET /stories/politics/080201/49.htm HTTP/1.1" 200 50936 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.aol.com - - [22/Apr/2009:18:56:45 +1200] "GET /stories/weather/070801/33.htm HTTP/1.0" 200 6310 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:45 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 279 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:45 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 245 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dyn-716.ihug.co.nz - - [22/Apr/2009:18:56:45 +1200] "GET /gallery.php?section=entertainment HTTP/1.0" 200 50541 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:45 +1200] "GET /images/photos/5334.jpg HTTP/1.1" 200 988 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:45 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 986 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.54.64.221 - - [22/Apr/2009:18:56:45 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 3716 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.54.64.221 - - [22/Apr/2009:18:56:45 +1200] "GET /styles/msie7.css HTTP/1.1" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:45 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 1020 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:45 +1200] "GET /styles/ie4.css HTTP/1.1" 200 3387 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.30.102.238 - - [22/Apr/2009:18:56:45 +1200] "GET /latest.php HTTP/1.1" 200 69570 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" 192.21.27.9 - - [22/Apr/2009:18:56:46 +1200] "GET /latest.php?category=politics HTTP/1.0" 200 1438 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:46 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 445 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:46 +1200] "GET /images/photos/355.jpg HTTP/1.1" 200 1404 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.aol.com - - [22/Apr/2009:18:56:46 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 966 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:46 +1200] "GET /images/photos/34.jpg HTTP/1.1" 200 1136 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:46 +1200] "GET /images/favicon.ico HTTP/1.1" 200 2824 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:46 +1200] "GET /images/ad/A94L.jpeg HTTP/1.1" 200 5612 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:46 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 279 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.15.223.198 - - [22/Apr/2009:18:56:46 +1200] "GET /adclick.php?c=2ER3 HTTP/1.1" 302 379 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.21.27.9 - - [22/Apr/2009:18:56:46 +1200] "GET /adclick.php?c=TG3A HTTP/1.0" 302 366 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dyn-258.optus.com.au - - [22/Apr/2009:18:56:46 +1200] "GET /stories.php HTTP/1.0" 200 49512 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:46 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 245 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:46 +1200] "GET /images/nav/tab_left_middle.gif HTTP/1.1" 200 1020 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:46 +1200] "GET /styles/site.css HTTP/1.1" 200 3396 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:46 +1200] "GET /robots.txt HTTP/1.1" 404 27 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:46 +1200] "GET /images/favicon.ico HTTP/1.1" 200 2824 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.21.27.9 - - [22/Apr/2009:18:56:47 +1200] "GET /currency.php HTTP/1.0" 200 3687 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:47 +1200] "GET /images/ad/A94L.jpeg HTTP/1.1" 200 5612 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.54.64.221 - - [22/Apr/2009:18:56:47 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 261 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-277.googlebot.com - - [22/Apr/2009:18:56:47 +1200] "GET /stories/science/080325/82.htm HTTP/1.0" 200 53303 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:47 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 1405 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:47 +1200] "GET /images/photos/824.jpg HTTP/1.1" 200 204 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:47 +1200] "GET /styles/msie7.css HTTP/1.1" 200 34363 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" www.aol.com - - [22/Apr/2009:18:56:47 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 139 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" dhcp-569.global-gateway.net.nz - - [22/Apr/2009:18:56:48 +1200] "GET /styles/msie6.css HTTP/1.1" 200 2283 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" www.global-gateway.net.nz - - [22/Apr/2009:18:56:48 +1200] "GET /images/photos/455.jpg HTTP/1.1" 200 2048 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.79.187.149 - - [22/Apr/2009:18:56:48 +1200] "GET /stories.php?date=2005 HTTP/1.0" 200 177010 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.54.64.221 - - [22/Apr/2009:18:56:48 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 897 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" 192.82.108.146 - - [22/Apr/2009:18:56:48 +1200] "GET /news.html HTTP/1.1" 200 989 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.82.108.146 - - [22/Apr/2009:18:56:48 +1200] "GET /latest.php?category=politics HTTP/1.1" 200 1450 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" dhcp-637.aol.com - - [22/Apr/2009:18:56:48 +1200] "GET /stories/sport/070922/52.htm HTTP/1.0" 200 6755 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-603.jetstream.xtra.co.nz - - [22/Apr/2009:18:56:48 +1200] "GET /images/photos/5332.jpg HTTP/1.1" 200 244 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.54.64.221 - - [22/Apr/2009:18:56:49 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 966 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.aol.com - - [22/Apr/2009:18:56:49 +1200] "GET /images/photos/993.jpg HTTP/1.1" 200 897 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" www.aol.com - - [22/Apr/2009:18:56:49 +1200] "GET /stories/politics/080201/49.htm HTTP/1.0" 200 60264 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)" "-" 192.240.248.147 - - [22/Apr/2009:18:56:50 +1200] "GET /images/nav/tab_left_top.gif HTTP/1.1" 200 3716 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" proxy-470.crawl.yahoo.net - - [22/Apr/2009:18:56:50 +1200] "GET /stories.php?date=2007 HTTP/1.0" 200 6142 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" dhcp-569.global-gateway.net.nz - - [22/Apr/2009:18:56:50 +1200] "GET /styles/msie6.css HTTP/1.1" 200 679 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20090404 Firefox/2.0.0.14" "-" dhcp-583.ask.com - - [22/Apr/2009:18:56:50 +1200] "GET /latest.php?category=national HTTP/1.0" 200 60042 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; en) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13" "-" www.dsl.clear.net.nz - - [22/Apr/2009:18:56:50 +1200] "GET /latest.php HTTP/1.0" 200 59269 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" 192.54.64.221 - - [22/Apr/2009:18:56:50 +1200] "GET /images/ad/PD4J.jpeg HTTP/1.1" 200 139 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-" www.aol.com - - [22/Apr/2009:18:56:51 +1200] "GET /images/ad/BG6V.jpeg HTTP/1.1" 200 915 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.15.1 (KHTML, like Gecko) Version/3.0.4 Safari/523.15" "-" logstalgia-1.0.7/configure0000755000203100020310000076731212611522311015400 0ustar andrewcandrewc#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.69 for Logstalgia 1.0.7. # # Report bugs to . # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Use a proper internal environment variable to ensure we don't fall # into an infinite loop, continuously re-executing ourselves. if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then _as_can_reexec=no; export _as_can_reexec; # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 as_fn_exit 255 fi # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1 test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : export CONFIG_SHELL # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org and $0: acaudwell@gmail.com about your system, including any $0: error possibly output before this message. Then install $0: a modern shell, or manually run the script under such a $0: shell if you do have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # If we had to re-execute with $CONFIG_SHELL, we're ensured to have # already done that, so ensure we don't try to do so again and fall # in an infinite loop. This has already happened in practice. _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='Logstalgia' PACKAGE_TARNAME='logstalgia' PACKAGE_VERSION='1.0.7' PACKAGE_STRING='Logstalgia 1.0.7' PACKAGE_BUGREPORT='acaudwell@gmail.com' PACKAGE_URL='' ac_unique_file="src/main.cpp" # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS LIBOBJS sdlappfontdir FONTDIR_FALSE FONTDIR_TRUE BOOST_LDFLAGS BOOST_CPPFLAGS PNG_LIBS PNG_CFLAGS SDL_LIBS SDL_CFLAGS SDL2_LIBS SDL2_CFLAGS GLEW_LIBS GLEW_CFLAGS PCRE_LIBS PCRE_CFLAGS FT2_LIBS FT2_CFLAGS PKG_CONFIG GLU_LIBS GLU_CFLAGS GL_LIBS GL_CFLAGS EGREP GREP CPP PTHREAD_CFLAGS PTHREAD_LIBS PTHREAD_CC ax_pthread_config am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE ac_ct_CC CFLAGS CC SED CXXCPP XMKMF am__fastdepCXX_FALSE am__fastdepCXX_TRUE CXXDEPMODE am__nodep AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE am__quote am__include DEPDIR OBJEXT EXEEXT ac_ct_CXX CPPFLAGS LDFLAGS CXXFLAGS CXX host_os host_vendor host_cpu host build_os build_vendor build_cpu build AM_BACKSLASH AM_DEFAULT_VERBOSITY AM_DEFAULT_V AM_V am__untar am__tar AMTAR am__leading_dot SET_MAKE AWK mkdir_p MKDIR_P INSTALL_STRIP_PROGRAM STRIP install_sh MAKEINFO AUTOHEADER AUTOMAKE AUTOCONF ACLOCAL VERSION PACKAGE CYGPATH_W am__isrc INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir runstatedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking enable_silent_rules enable_dependency_tracking with_x with_boost with_boost_libdir enable_ttf_font_dir ' ac_precious_vars='build_alias host_alias target_alias CXX CXXFLAGS LDFLAGS LIBS CPPFLAGS CCC XMKMF CXXCPP CC CFLAGS CPP PKG_CONFIG FT2_CFLAGS FT2_LIBS PCRE_CFLAGS PCRE_LIBS GLEW_CFLAGS GLEW_LIBS SDL2_CFLAGS SDL2_LIBS SDL_CFLAGS SDL_LIBS PNG_CFLAGS PNG_LIBS' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' runstatedir='${localstatedir}/run' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -runstatedir | --runstatedir | --runstatedi | --runstated \ | --runstate | --runstat | --runsta | --runst | --runs \ | --run | --ru | --r) ac_prev=runstatedir ;; -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ | --run=* | --ru=* | --r=*) runstatedir=$ac_optarg ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir runstatedir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures Logstalgia 1.0.7 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/logstalgia] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names X features: --x-includes=DIR X include files are in DIR --x-libraries=DIR X library files are in DIR System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of Logstalgia 1.0.7:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-silent-rules less verbose build output (undo: "make V=1") --disable-silent-rules verbose build output (undo: "make V=0") --enable-dependency-tracking do not reject slow dependency extractors --disable-dependency-tracking speeds up one-time build --enable-ttf-font-dir=DIR directory containing GNU FreeFont TTF fonts Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-x use the X Window System --with-boost[=ARG] use Boost library from a standard location (ARG=yes), from the specified location (ARG=), or disable it (ARG=no) [ARG=yes] --with-boost-libdir=LIB_DIR Force given directory for boost libraries. Note that this will override library path detection, so use this parameter only if default library detection fails and you know exactly where your boost libraries are located. Some influential environment variables: CXX C++ compiler command CXXFLAGS C++ compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory XMKMF Path to xmkmf, Makefile generator for X Window System CXXCPP C++ preprocessor CC C compiler command CFLAGS C compiler flags CPP C preprocessor PKG_CONFIG path to pkg-config utility FT2_CFLAGS C compiler flags for FT2, overriding pkg-config FT2_LIBS linker flags for FT2, overriding pkg-config PCRE_CFLAGS C compiler flags for PCRE, overriding pkg-config PCRE_LIBS linker flags for PCRE, overriding pkg-config GLEW_CFLAGS C compiler flags for GLEW, overriding pkg-config GLEW_LIBS linker flags for GLEW, overriding pkg-config SDL2_CFLAGS C compiler flags for SDL2, overriding pkg-config SDL2_LIBS linker flags for SDL2, overriding pkg-config SDL_CFLAGS C compiler flags for SDL, overriding pkg-config SDL_LIBS linker flags for SDL, overriding pkg-config PNG_CFLAGS C compiler flags for PNG, overriding pkg-config PNG_LIBS linker flags for PNG, overriding pkg-config Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to . _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF Logstalgia configure 1.0.7 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_cxx_try_compile LINENO # ---------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_compile # ac_fn_cxx_try_cpp LINENO # ------------------------ # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_cpp # ac_fn_cxx_try_link LINENO # ------------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_link # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists, giving a warning if it cannot be compiled using # the include files in INCLUDES and setting the cache variable VAR # accordingly. ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if eval \${$3+:} false; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } else # Is the header compilable? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 $as_echo_n "checking $2 usability... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_header_compiler=yes else ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 $as_echo "$ac_header_compiler" >&6; } # Is the header present? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 $as_echo_n "checking $2 presence... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <$2> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : ac_header_preproc=yes else ac_header_preproc=no fi rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( yes:no: ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; no:yes:* ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 $as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ( $as_echo "## ---------------------------------- ## ## Report this to acaudwell@gmail.com ## ## ---------------------------------- ##" ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_mongrel # ac_fn_c_try_run LINENO # ---------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes # that executables *can* be run. ac_fn_c_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then : ac_retval=0 else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile # ac_fn_cxx_check_header_compile LINENO HEADER VAR INCLUDES # --------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_cxx_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_cxx_check_header_compile # ac_fn_cxx_check_func LINENO FUNC VAR # ------------------------------------ # Tests whether FUNC exists, setting the cache variable VAR accordingly ac_fn_cxx_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. For example, HP-UX 11i declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $2 (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $2 /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $2 (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$2 || defined __stub___$2 choke me #endif int main () { return $2 (); ; return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_cxx_check_func # ac_fn_cxx_check_header_mongrel LINENO HEADER VAR INCLUDES # --------------------------------------------------------- # Tests whether HEADER exists, giving a warning if it cannot be compiled using # the include files in INCLUDES and setting the cache variable VAR # accordingly. ac_fn_cxx_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if eval \${$3+:} false; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } else # Is the header compilable? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 $as_echo_n "checking $2 usability... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_header_compiler=yes else ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 $as_echo "$ac_header_compiler" >&6; } # Is the header present? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 $as_echo_n "checking $2 presence... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <$2> _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : ac_header_preproc=yes else ac_header_preproc=no fi rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in #(( yes:no: ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; no:yes:* ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 $as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ( $as_echo "## ---------------------------------- ## ## Report this to acaudwell@gmail.com ## ## ---------------------------------- ##" ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_cxx_check_header_mongrel cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by Logstalgia $as_me 1.0.7, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_aux_dir= for ac_dir in build-aux "$srcdir"/build-aux; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in build-aux \"$srcdir\"/build-aux" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. am__api_version='1.15' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in #(( ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&6; } # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; esac # Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( am_has_slept=no for am_try in 1 2; do echo "timestamp, slept: $am_has_slept" > conftest.file set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". as_fn_error $? "ls -t appears to fail. Make sure there is not a broken alias in your environment" "$LINENO" 5 fi if test "$2" = conftest.file || test $am_try -eq 2; then break fi # Just in case. sleep 1 am_has_slept=yes done test "$2" = conftest.file ) then # Ok. : else as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= if grep 'slept: no' conftest.file >/dev/null 2>&1; then ( sleep 1 ) & am_sleep_pid=$! fi rm -f conftest.file test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. # By default was `s,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` # Expand $ac_aux_dir to an absolute path. am_aux_dir=`cd "$ac_aux_dir" && pwd` if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then am_missing_run="$MISSING " else am_missing_run= { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} fi if test x"${install_sh+set}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi # Installed binaries are usually stripped using 'strip' when the user # run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the 'STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then if ${ac_cv_path_mkdir+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi test -d ./--version && rmdir ./--version if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. MKDIR_P="$ac_install_sh -d" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AWK+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null # Check whether --enable-silent-rules was given. if test "${enable_silent_rules+set}" = set; then : enableval=$enable_silent_rules; fi case $enable_silent_rules in # ((( yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=1;; esac am_make=${MAKE-make} { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 $as_echo_n "checking whether $am_make supports nested variables... " >&6; } if ${am_cv_make_support_nested_variables+:} false; then : $as_echo_n "(cached) " >&6 else if $as_echo 'TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 am__doit: @$(TRUE) .PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 $as_echo "$am_cv_make_support_nested_variables" >&6; } if test $am_cv_make_support_nested_variables = yes; then AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AM_BACKSLASH='\' if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='logstalgia' VERSION='1.0.7' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: # # mkdir_p='$(MKDIR_P)' # We need awk for the "check" target (and possibly the TAP driver). The # system "awk" is bad on some platforms. # Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AMTAR='$${TAR-tar}' # We'll loop over all known methods to create a tar archive until one works. _am_tools='gnutar pax cpio none' am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' # POSIX will say in a future version that running "rm -f" with no argument # is OK; and we want to be able to make that assumption in our Makefile # recipes. So use an aggressive probe to check that the usage we want is # actually supported "in the wild" to an acceptable degree. # See automake bug#10828. # To make any issue more visible, cause the running configure to be aborted # by default if the 'rm' program in use doesn't match our expectations; the # user can still override this though. if rm -f && rm -fr && rm -rf; then : OK; else cat >&2 <<'END' Oops! Your 'rm' program seems unable to run without file operands specified on the command line, even when the '-f' option is present. This is contrary to the behaviour of most rm programs out there, and not conforming with the upcoming POSIX standard: Please tell bug-automake@gnu.org about your system, including the value of your $PATH and any error possibly output before this message. This can help us improve future automake versions. END if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then echo 'Configuration will proceed anyway, since you have set the' >&2 echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 echo >&2 else cat >&2 <<'END' Aborting the configuration process, to ensure you take notice of the issue. You can download and install GNU coreutils to get an 'rm' implementation that behaves properly: . If you want to complete the configuration process using your problematic 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM to "yes", and re-run configure. END as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 fi fi # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } if ${ac_cv_build+:} false; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } if ${ac_cv_host+:} false; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac # Checks for programs. ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 $as_echo "$CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 $as_echo "$ac_ct_CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi fi # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5 $as_echo_n "checking whether the C++ compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C++ compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5 $as_echo_n "checking for C++ compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C++ compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } if ${ac_cv_cxx_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 $as_echo "$ac_cv_cxx_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GXX=yes else GXX= fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 $as_echo_n "checking whether $CXX accepts -g... " >&6; } if ${ac_cv_prog_cxx_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes else CXXFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : else ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 $as_echo "$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 $as_echo_n "checking for style of include used by $am_make... " >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from 'make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 $as_echo "$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then : enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi depcc="$CXX" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CXX_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CXX_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 $as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= am__fastdepCXX_FALSE='#' else am__fastdepCXX_TRUE='#' am__fastdepCXX_FALSE= fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu #Disable X11 on Macs unless required if test "$with_x" != yes; then : case "$host_os" in darwin*) with_x="no" ;; esac fi #GL ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 $as_echo_n "checking how to run the C++ preprocessor... " >&6; } if test -z "$CXXCPP"; then if ${ac_cv_prog_CXXCPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CXXCPP needs to be expanded for CXXCPP in "$CXX -E" "/lib/cpp" do ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CXXCPP=$CXXCPP fi CXXCPP=$ac_cv_prog_CXXCPP else ac_cv_prog_CXXCPP=$CXXCPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 $as_echo "$CXXCPP" >&6; } ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking for X" >&5 $as_echo_n "checking for X... " >&6; } # Check whether --with-x was given. if test "${with_x+set}" = set; then : withval=$with_x; fi # $have_x is `yes', `no', `disabled', or empty when we do not yet know. if test "x$with_x" = xno; then # The user explicitly disabled X. have_x=disabled else case $x_includes,$x_libraries in #( *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5;; #( *,NONE | NONE,*) if ${ac_cv_have_x+:} false; then : $as_echo_n "(cached) " >&6 else # One or both of the vars are not set, and there is no cached value. ac_x_includes=no ac_x_libraries=no rm -f -r conftest.dir if mkdir conftest.dir; then cd conftest.dir cat >Imakefile <<'_ACEOF' incroot: @echo incroot='${INCROOT}' usrlibdir: @echo usrlibdir='${USRLIBDIR}' libdir: @echo libdir='${LIBDIR}' _ACEOF if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. for ac_var in incroot usrlibdir libdir; do eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`" done # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR. for ac_extension in a so sl dylib la dll; do if test ! -f "$ac_im_usrlibdir/libX11.$ac_extension" && test -f "$ac_im_libdir/libX11.$ac_extension"; then ac_im_usrlibdir=$ac_im_libdir; break fi done # Screen out bogus values from the imake configuration. They are # bogus both because they are the default anyway, and because # using them would break gcc on systems where it needs fixed includes. case $ac_im_incroot in /usr/include) ac_x_includes= ;; *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;; esac case $ac_im_usrlibdir in /usr/lib | /usr/lib64 | /lib | /lib64) ;; *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;; esac fi cd .. rm -f -r conftest.dir fi # Standard set of common directories for X headers. # Check X11 before X11Rn because it is often a symlink to the current release. ac_x_header_dirs=' /usr/X11/include /usr/X11R7/include /usr/X11R6/include /usr/X11R5/include /usr/X11R4/include /usr/include/X11 /usr/include/X11R7 /usr/include/X11R6 /usr/include/X11R5 /usr/include/X11R4 /usr/local/X11/include /usr/local/X11R7/include /usr/local/X11R6/include /usr/local/X11R5/include /usr/local/X11R4/include /usr/local/include/X11 /usr/local/include/X11R7 /usr/local/include/X11R6 /usr/local/include/X11R5 /usr/local/include/X11R4 /usr/X386/include /usr/x386/include /usr/XFree86/include/X11 /usr/include /usr/local/include /usr/unsupported/include /usr/athena/include /usr/local/x11r5/include /usr/lpp/Xamples/include /usr/openwin/include /usr/openwin/share/include' if test "$ac_x_includes" = no; then # Guess where to find include files, by looking for Xlib.h. # First, try using that file with no special directory specified. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : # We can compile using X headers with no special include directory. ac_x_includes= else for ac_dir in $ac_x_header_dirs; do if test -r "$ac_dir/X11/Xlib.h"; then ac_x_includes=$ac_dir break fi done fi rm -f conftest.err conftest.i conftest.$ac_ext fi # $ac_x_includes = no if test "$ac_x_libraries" = no; then # Check for the libraries. # See if we find them without any special options. # Don't add to $LIBS permanently. ac_save_LIBS=$LIBS LIBS="-lX11 $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { XrmInitialize () ; return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO"; then : LIBS=$ac_save_LIBS # We can link X programs with no special library path. ac_x_libraries= else LIBS=$ac_save_LIBS for ac_dir in `$as_echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g` do # Don't even attempt the hair of trying to link an X program! for ac_extension in a so sl dylib la dll; do if test -r "$ac_dir/libX11.$ac_extension"; then ac_x_libraries=$ac_dir break 2 fi done done fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi # $ac_x_libraries = no case $ac_x_includes,$ac_x_libraries in #( no,* | *,no | *\'*) # Didn't find X, or a directory has "'" in its name. ac_cv_have_x="have_x=no";; #( *) # Record where we found X for the cache. ac_cv_have_x="have_x=yes\ ac_x_includes='$ac_x_includes'\ ac_x_libraries='$ac_x_libraries'" esac fi ;; #( *) have_x=yes;; esac eval "$ac_cv_have_x" fi # $with_x != no if test "$have_x" != yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_x" >&5 $as_echo "$have_x" >&6; } no_x=yes else # If each of the values was on the command line, it overrides each guess. test "x$x_includes" = xNONE && x_includes=$ac_x_includes test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries # Update the cache value to reflect the command line values. ac_cv_have_x="have_x=yes\ ac_x_includes='$x_includes'\ ac_x_libraries='$x_libraries'" { $as_echo "$as_me:${as_lineno-$LINENO}: result: libraries $x_libraries, headers $x_includes" >&5 $as_echo "libraries $x_libraries, headers $x_includes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 $as_echo_n "checking for a sed that does not truncate output... " >&6; } if ${ac_cv_path_SED+:} false; then : $as_echo_n "(cached) " >&6 else ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ for ac_i in 1 2 3 4 5 6 7; do ac_script="$ac_script$as_nl$ac_script" done echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed { ac_script=; unset ac_script;} if test -z "$SED"; then ac_path_SED_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_SED" || continue # Check for GNU ac_path_SED and select it if it is found. # Check for GNU $ac_path_SED case `"$ac_path_SED" --version 2>&1` in *GNU*) ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo '' >> "conftest.nl" "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_SED_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_SED="$ac_path_SED" ac_path_SED_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_SED_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_SED"; then as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 fi else ac_cv_path_SED=$SED fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 $as_echo "$ac_cv_path_SED" >&6; } SED="$ac_cv_path_SED" rm -f conftest.sed ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 $as_echo_n "checking whether $CC understands -c and -o together... " >&6; } if ${am_cv_prog_cc_c_o+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF # Make sure it works both with $CC and with simple cc. # Following AC_PROG_CC_C_O, we do the test twice because some # compilers refuse to overwrite an existing .o file with -o, # though they will create one. am_cv_prog_cc_c_o=yes for am_i in 1 2; do if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } \ && test -f conftest2.$ac_objext; then : OK else am_cv_prog_cc_c_o=no break fi done rm -f core conftest* unset am_i fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 $as_echo "$am_cv_prog_cc_c_o" >&6; } if test "$am_cv_prog_cc_c_o" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CC_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ax_pthread_ok=no # We used to check for pthread.h first, but this fails if pthread.h # requires special compiler flags (e.g. on True64 or Sequent). # It gets checked for in the link test anyway. # First of all, check if the user has set any of the PTHREAD_LIBS, # etcetera environment variables, and if threads linking works using # them: if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $PTHREAD_CFLAGS" save_LIBS="$LIBS" LIBS="$PTHREAD_LIBS $LIBS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5 $as_echo_n "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char pthread_join (); int main () { return pthread_join (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ax_pthread_ok=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_ok" >&5 $as_echo "$ax_pthread_ok" >&6; } if test x"$ax_pthread_ok" = xno; then PTHREAD_LIBS="" PTHREAD_CFLAGS="" fi LIBS="$save_LIBS" CFLAGS="$save_CFLAGS" fi # We must check for the threads library under a number of different # names; the ordering is very important because some systems # (e.g. DEC) have both -lpthread and -lpthreads, where one of the # libraries is broken (non-POSIX). # Create a list of thread flags to try. Items starting with a "-" are # C compiler flags, and other items are library names, except for "none" # which indicates that we try without any flags at all, and "pthread-config" # which is a program returning the flags for the Pth emulation library. ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" # The ordering *is* (sometimes) important. Some notes on the # individual items follow: # pthreads: AIX (must check this before -lpthread) # none: in case threads are in libc; should be tried before -Kthread and # other compiler flags to prevent continual compiler warnings # -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) # lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) # -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) # -pthreads: Solaris/gcc # -mthreads: Mingw32/gcc, Lynx/gcc # -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it # doesn't hurt to check since this sometimes defines pthreads too; # also defines -D_REENTRANT) # ... -mt is also the pthreads flag for HP/aCC # pthread: Linux, etcetera # --thread-safe: KAI C++ # pthread-config: use pthread-config program (for GNU Pth library) case "${host_cpu}-${host_os}" in *solaris*) # On Solaris (at least, for some versions), libc contains stubbed # (non-functional) versions of the pthreads routines, so link-based # tests will erroneously succeed. (We need to link with -pthreads/-mt/ # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather # a function called by this macro, so we could check for that, but # who knows whether they'll stub that too in a future libc.) So, # we'll just look for -pthreads and -lpthread first: ax_pthread_flags="-pthreads pthread -mt -pthread $ax_pthread_flags" ;; esac if test x"$ax_pthread_ok" = xno; then for flag in $ax_pthread_flags; do case $flag in none) { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthreads work without any flags" >&5 $as_echo_n "checking whether pthreads work without any flags... " >&6; } ;; -*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthreads work with $flag" >&5 $as_echo_n "checking whether pthreads work with $flag... " >&6; } PTHREAD_CFLAGS="$flag" ;; pthread-config) # Extract the first word of "pthread-config", so it can be a program name with args. set dummy pthread-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ax_pthread_config+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ax_pthread_config"; then ac_cv_prog_ax_pthread_config="$ax_pthread_config" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ax_pthread_config="yes" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_prog_ax_pthread_config" && ac_cv_prog_ax_pthread_config="no" fi fi ax_pthread_config=$ac_cv_prog_ax_pthread_config if test -n "$ax_pthread_config"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_config" >&5 $as_echo "$ax_pthread_config" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test x"$ax_pthread_config" = xno; then continue; fi PTHREAD_CFLAGS="`pthread-config --cflags`" PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the pthreads library -l$flag" >&5 $as_echo_n "checking for the pthreads library -l$flag... " >&6; } PTHREAD_LIBS="-l$flag" ;; esac save_LIBS="$LIBS" save_CFLAGS="$CFLAGS" LIBS="$PTHREAD_LIBS $LIBS" CFLAGS="$CFLAGS $PTHREAD_CFLAGS" # Check for various functions. We must include pthread.h, # since some functions may be macros. (On the Sequent, we # need a special flag -Kthread to make this header compile.) # We check for pthread_join because it is in -lpthread on IRIX # while pthread_create is in libc. We check for pthread_attr_init # due to DEC craziness with -lpthreads. We check for # pthread_cleanup_push because it is one of the few pthread # functions on Solaris that doesn't have a non-functional libc stub. # We try pthread_create on general principles. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include static void routine(void* a) {a=0;} static void* start_routine(void* a) {return a;} int main () { pthread_t th; pthread_attr_t attr; pthread_join(th, 0); pthread_attr_init(&attr); pthread_cleanup_push(routine, 0); pthread_create(&th,0,start_routine,0); pthread_cleanup_pop(0); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ax_pthread_ok=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$save_LIBS" CFLAGS="$save_CFLAGS" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_ok" >&5 $as_echo "$ax_pthread_ok" >&6; } if test "x$ax_pthread_ok" = xyes; then break; fi PTHREAD_LIBS="" PTHREAD_CFLAGS="" done fi # Various other checks: if test "x$ax_pthread_ok" = xyes; then save_LIBS="$LIBS" LIBS="$PTHREAD_LIBS $LIBS" save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $PTHREAD_CFLAGS" # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for joinable pthread attribute" >&5 $as_echo_n "checking for joinable pthread attribute... " >&6; } attr_name=unknown for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int attr=$attr; return attr; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : attr_name=$attr; break fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext done { $as_echo "$as_me:${as_lineno-$LINENO}: result: $attr_name" >&5 $as_echo "$attr_name" >&6; } if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then cat >>confdefs.h <<_ACEOF #define PTHREAD_CREATE_JOINABLE $attr_name _ACEOF fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking if more special flags are required for pthreads" >&5 $as_echo_n "checking if more special flags are required for pthreads... " >&6; } flag=no case "${host_cpu}-${host_os}" in *-aix* | *-freebsd* | *-darwin*) flag="-D_THREAD_SAFE";; *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${flag}" >&5 $as_echo "${flag}" >&6; } if test "x$flag" != xno; then PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" fi LIBS="$save_LIBS" CFLAGS="$save_CFLAGS" # More AIX lossage: must compile with xlc_r or cc_r if test x"$GCC" != xyes; then for ac_prog in xlc_r cc_r do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_PTHREAD_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$PTHREAD_CC"; then ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_PTHREAD_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi PTHREAD_CC=$ac_cv_prog_PTHREAD_CC if test -n "$PTHREAD_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PTHREAD_CC" >&5 $as_echo "$PTHREAD_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$PTHREAD_CC" && break done test -n "$PTHREAD_CC" || PTHREAD_CC="${CC}" else PTHREAD_CC=$CC fi else PTHREAD_CC="$CC" fi # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: if test x"$ax_pthread_ok" = xyes; then $as_echo "#define HAVE_PTHREAD 1" >>confdefs.h : else ax_pthread_ok=no fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the Microsoft C compiler" >&5 $as_echo_n "checking whether we are using the Microsoft C compiler... " >&6; } if ${ax_cv_c_compiler_ms+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef _MSC_VER choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ax_compiler_ms=yes else ax_compiler_ms=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ax_cv_c_compiler_ms=$ax_compiler_ms fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_c_compiler_ms" >&5 $as_echo "$ax_cv_c_compiler_ms" >&6; } if test X$ax_compiler_ms = Xno; then : GL_CFLAGS="${PTHREAD_CFLAGS}"; GL_LIBS="${PTHREAD_LIBS}" fi # # Use x_includes and x_libraries if they have been set (presumably by # AC_PATH_X). # if test X$no_x != Xyes -a -n "$x_includes"; then : GL_CFLAGS="-I$x_includes $GL_CFLAGS" fi for ac_header in windows.h do : ac_fn_c_check_header_mongrel "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default" if test "x$ac_cv_header_windows_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_WINDOWS_H 1 _ACEOF fi done ax_save_CPPFLAGS=$CPPFLAGS CPPFLAGS="$GL_CFLAGS $CPPFLAGS" for ac_header in GL/gl.h OpenGL/gl.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" " # if defined(HAVE_WINDOWS_H) && defined(_WIN32) # include # endif " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done CPPFLAGS=$ax_save_CPPFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenGL library" >&5 $as_echo_n "checking for OpenGL library... " >&6; } if ${ax_cv_check_gl_libgl+:} false; then : $as_echo_n "(cached) " >&6 else ax_cv_check_gl_libgl=no case $host_cpu in x86_64) ax_check_gl_libdir=lib64 ;; *) ax_check_gl_libdir=lib ;; esac ax_save_CPPFLAGS=$CPPFLAGS CPPFLAGS="$CPPFLAGS $GL_CFLAGS" ax_save_LDFLAGS=$LDFLAGS if test X$no_x != Xyes -a -n "$x_libraries"; then : LDFLAGS="$LDFLAGS -L$x_libraries" fi ax_save_LIBS=$LIBS ax_check_libs="-lopengl32 -lGL" for ax_lib in $ax_check_libs; do if test X$ax_compiler_ms = Xyes; then : ax_try_lib=`echo $ax_lib | $SED -e 's/^-l//' -e 's/$/.lib/'` else ax_try_lib=$ax_lib fi LDFLAGS="$ax_save_LDFLAGS $GL_LIBS" LIBS="$ax_try_lib $ax_save_LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # if defined(HAVE_WINDOWS_H) && defined(_WIN32) # include # endif # ifdef HAVE_GL_GL_H # include # elif defined(HAVE_OPENGL_GL_H) # include # else # error no gl.h # endif int main () { glBegin(0) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ax_cv_check_gl_libgl=$ax_try_lib; break else ax_check_gl_nvidia_flags="-L/usr/$ax_check_gl_libdir/nvidia" LDFLAGS="$ax_save_LDFLAGS $GL_LIBS $ax_check_gl_nvidia_flags" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # if defined(HAVE_WINDOWS_H) && defined(_WIN32) # include # endif # ifdef HAVE_GL_GL_H # include # elif defined(HAVE_OPENGL_GL_H) # include # else # error no gl.h # endif int main () { glBegin(0) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ax_cv_check_gl_libgl="$ax_check_gl_nvidia_flags $ax_try_lib"; break else ax_check_gl_dylib_flag='-dylib_file /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib' LDFLAGS="$ax_save_LDFLAGS $GL_LIBS $ax_check_gl_dylib_flag" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # if defined(HAVE_WINDOWS_H) && defined(_WIN32) # include # endif # ifdef HAVE_GL_GL_H # include # elif defined(HAVE_OPENGL_GL_H) # include # else # error no gl.h # endif int main () { glBegin(0) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ax_cv_check_gl_libgl="$ax_check_gl_dylib_flag $ax_try_lib"; break fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext done # # If no_x is "yes", we don't want to wind up using a libGL that is # linked with X11. Test to see if the found libGL includes GLX # functions. If it does and no_x is "yes", we want to reset # ax_cv_check_gl_libgl back to "no". # # Note that LDFLAGS and LIBS should still have whatever values they # had when we broke out of the test loop above; use that. # if test "X$ax_cv_check_gl_libgl" != Xno; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # if defined(HAVE_WINDOWS_H) && defined(_WIN32) # include # endif # ifdef HAVE_GL_GL_H # include # elif defined(HAVE_OPENGL_GL_H) # include # else # error no gl.h # endif int main () { glXQueryVersion(0, 0, 0) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : if test X$no_x = Xyes; then : ax_cv_check_gl_libgl=no fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi LIBS=$ax_save_LIBS if test "X$ax_cv_check_gl_libgl" = Xno -a X$no_x = Xyes; then : LDFLAGS="$ax_save_LDFLAGS -framework OpenGL" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # if defined(HAVE_WINDOWS_H) && defined(_WIN32) # include # endif # ifdef HAVE_GL_GL_H # include # elif defined(HAVE_OPENGL_GL_H) # include # else # error no gl.h # endif int main () { glBegin(0) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ax_cv_check_gl_libgl='-framework OpenGL' fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi LDFLAGS=$ax_save_LDFLAGS CPPFLAGS=$ax_save_CPPFLAGS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_gl_libgl" >&5 $as_echo "$ax_cv_check_gl_libgl" >&6; } if test "X$ax_cv_check_gl_libgl" = Xno; then : no_gl=yes; GL_CFLAGS=""; GL_LIBS="" else GL_LIBS="$ax_cv_check_gl_libgl $GL_LIBS" fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu GLU_CFLAGS=$GL_CFLAGS ax_save_CPPFLAGS=$CPPFLAGS CPPFLAGS="$GL_CFLAGS $CPPFLAGS" for ac_header in GL/glu.h OpenGL/glu.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_cxx_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" " # if defined(HAVE_WINDOWS_H) && defined(_WIN32) # include # endif " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done CPPFLAGS=$ax_save_CPPFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenGL Utility library" >&5 $as_echo_n "checking for OpenGL Utility library... " >&6; } if ${ax_cv_check_glu_libglu+:} false; then : $as_echo_n "(cached) " >&6 else ax_cv_check_glu_libglu=no ax_save_CPPFLAGS=$CPPFLAGS CPPFLAGS="$GL_CFLAGS $CPPFLAGS" ax_save_LDFLAGS=$LDFLAGS ax_save_LIBS=$LIBS # # First, check for the possibility that everything we need is already in # GL_LIBS. # LDFLAGS="$ax_save_LDFLAGS $GL_LIBS" # # libGLU typically links with libstdc++ on POSIX platforms. # However, setting the language to C++ means that test program # source is named "conftest.cc"; and Microsoft cl doesn't know what # to do with such a file. # ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test X$ax_compiler_ms = Xyes; then : ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # if defined(HAVE_WINDOWS_H) && defined(_WIN32) # include # endif # ifdef HAVE_GL_GLU_H # include # elif defined(HAVE_OPENGL_GLU_H) # include # else # error no glu.h # endif int main () { gluBeginCurve(0) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ax_cv_check_glu_libglu=yes else LIBS="" ax_check_libs="-lglu32 -lGLU" for ax_lib in ${ax_check_libs}; do if test X$ax_compiler_ms = Xyes; then : ax_try_lib=`echo $ax_lib | $SED -e 's/^-l//' -e 's/$/.lib/'` else ax_try_lib=$ax_lib fi LIBS="$ax_try_lib $ax_save_LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # if defined(HAVE_WINDOWS_H) && defined(_WIN32) # include # endif # ifdef HAVE_GL_GLU_H # include # elif defined(HAVE_OPENGL_GLU_H) # include # else # error no glu.h # endif int main () { gluBeginCurve(0) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ax_cv_check_glu_libglu=$ax_try_lib; break fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext done fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test X$ax_compiler_ms = Xyes; then : ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu LIBS=$ax_save_LIBS LDFLAGS=$ax_save_LDFLAGS CPPFLAGS=$ax_save_CPPFLAGS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_glu_libglu" >&5 $as_echo "$ax_cv_check_glu_libglu" >&6; } if test "X$ax_cv_check_glu_libglu" = Xno; then : no_glu=yes; GLU_CFLAGS=""; GLU_LIBS="" else if test "X$ax_cv_check_glu_libglu" = Xyes; then : GLU_LIBS="" else GLU_LIBS="$ax_cv_check_glu_libglu" fi fi # # Some versions of Mac OS X include a broken interpretation of the GLU # tesselation callback function signature when using the C++ compiler. # if test "X$ax_cv_check_glu_libglu" != Xno; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for varargs GLU tesselator callback function type" >&5 $as_echo_n "checking for varargs GLU tesselator callback function type... " >&6; } if ${ax_cv_varargs_glu_tesscb+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ax_cv_varargs_glu_tesscb=no ax_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="$GL_CFLAGS $CXXFLAGS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # ifdef HAVE_GL_GLU_H # include # else # include # endif int main () { GLvoid (*func)(...); gluTessCallback(0, 0, func) ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ax_cv_varargs_glu_tesscb=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CXXFLAGS=$ax_save_CXXFLAGS ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_varargs_glu_tesscb" >&5 $as_echo "$ax_cv_varargs_glu_tesscb" >&6; } if test X$ax_cv_varargs_glu_tesscb = Xyes; then : $as_echo "#define HAVE_VARARGS_GLU_TESSCB 1" >>confdefs.h fi fi CXXFLAGS="$CXXFLAGS $GL_CFLAGS $GLU_CFLAGS" CPPFLAGS="$CPPFLAGS $GL_CFLAGS $GLU_CFLAGS" LIBS="$LIBS $GL_LIBS $GLU_LIBS" if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_PKG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 $as_echo "$PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_path_PKG_CONFIG"; then ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 $as_echo "$ac_pt_PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_pt_PKG_CONFIG" = x; then PKG_CONFIG="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac PKG_CONFIG=$ac_pt_PKG_CONFIG fi else PKG_CONFIG="$ac_cv_path_PKG_CONFIG" fi fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.9.0 { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 $as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } PKG_CONFIG="" fi fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for FT2" >&5 $as_echo_n "checking for FT2... " >&6; } if test -n "$PKG_CONFIG"; then if test -n "$FT2_CFLAGS"; then pkg_cv_FT2_CFLAGS="$FT2_CFLAGS" else if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"freetype2 >= 9.0.3\""; } >&5 ($PKG_CONFIG --exists --print-errors "freetype2 >= 9.0.3") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_FT2_CFLAGS=`$PKG_CONFIG --cflags "freetype2 >= 9.0.3" 2>/dev/null` else pkg_failed=yes fi fi else pkg_failed=untried fi if test -n "$PKG_CONFIG"; then if test -n "$FT2_LIBS"; then pkg_cv_FT2_LIBS="$FT2_LIBS" else if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"freetype2 >= 9.0.3\""; } >&5 ($PKG_CONFIG --exists --print-errors "freetype2 >= 9.0.3") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_FT2_LIBS=`$PKG_CONFIG --libs "freetype2 >= 9.0.3" 2>/dev/null` else pkg_failed=yes fi fi else pkg_failed=untried fi if test $pkg_failed = yes; then if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then FT2_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "freetype2 >= 9.0.3"` else FT2_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "freetype2 >= 9.0.3"` fi # Put the nasty error message in config.log where it belongs echo "$FT2_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (freetype2 >= 9.0.3) were not met: $FT2_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables FT2_CFLAGS and FT2_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. " "$LINENO" 5 elif test $pkg_failed = untried; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables FT2_CFLAGS and FT2_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else FT2_CFLAGS=$pkg_cv_FT2_CFLAGS FT2_LIBS=$pkg_cv_FT2_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } : fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PCRE" >&5 $as_echo_n "checking for PCRE... " >&6; } if test -n "$PKG_CONFIG"; then if test -n "$PCRE_CFLAGS"; then pkg_cv_PCRE_CFLAGS="$PCRE_CFLAGS" else if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpcre\""; } >&5 ($PKG_CONFIG --exists --print-errors "libpcre") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_PCRE_CFLAGS=`$PKG_CONFIG --cflags "libpcre" 2>/dev/null` else pkg_failed=yes fi fi else pkg_failed=untried fi if test -n "$PKG_CONFIG"; then if test -n "$PCRE_LIBS"; then pkg_cv_PCRE_LIBS="$PCRE_LIBS" else if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpcre\""; } >&5 ($PKG_CONFIG --exists --print-errors "libpcre") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_PCRE_LIBS=`$PKG_CONFIG --libs "libpcre" 2>/dev/null` else pkg_failed=yes fi fi else pkg_failed=untried fi if test $pkg_failed = yes; then if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then PCRE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libpcre"` else PCRE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libpcre"` fi # Put the nasty error message in config.log where it belongs echo "$PCRE_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (libpcre) were not met: $PCRE_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables PCRE_CFLAGS and PCRE_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. " "$LINENO" 5 elif test $pkg_failed = untried; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables PCRE_CFLAGS and PCRE_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else PCRE_CFLAGS=$pkg_cv_PCRE_CFLAGS PCRE_LIBS=$pkg_cv_PCRE_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } : fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLEW" >&5 $as_echo_n "checking for GLEW... " >&6; } if test -n "$PKG_CONFIG"; then if test -n "$GLEW_CFLAGS"; then pkg_cv_GLEW_CFLAGS="$GLEW_CFLAGS" else if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glew\""; } >&5 ($PKG_CONFIG --exists --print-errors "glew") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GLEW_CFLAGS=`$PKG_CONFIG --cflags "glew" 2>/dev/null` else pkg_failed=yes fi fi else pkg_failed=untried fi if test -n "$PKG_CONFIG"; then if test -n "$GLEW_LIBS"; then pkg_cv_GLEW_LIBS="$GLEW_LIBS" else if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glew\""; } >&5 ($PKG_CONFIG --exists --print-errors "glew") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GLEW_LIBS=`$PKG_CONFIG --libs "glew" 2>/dev/null` else pkg_failed=yes fi fi else pkg_failed=untried fi if test $pkg_failed = yes; then if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GLEW_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "glew"` else GLEW_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "glew"` fi # Put the nasty error message in config.log where it belongs echo "$GLEW_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (glew) were not met: $GLEW_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables GLEW_CFLAGS and GLEW_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. " "$LINENO" 5 elif test $pkg_failed = untried; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables GLEW_CFLAGS and GLEW_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else GLEW_CFLAGS=$pkg_cv_GLEW_CFLAGS GLEW_LIBS=$pkg_cv_GLEW_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } : fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SDL2" >&5 $as_echo_n "checking for SDL2... " >&6; } if test -n "$PKG_CONFIG"; then if test -n "$SDL2_CFLAGS"; then pkg_cv_SDL2_CFLAGS="$SDL2_CFLAGS" else if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sdl2 SDL2_image\""; } >&5 ($PKG_CONFIG --exists --print-errors "sdl2 SDL2_image") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_SDL2_CFLAGS=`$PKG_CONFIG --cflags "sdl2 SDL2_image" 2>/dev/null` else pkg_failed=yes fi fi else pkg_failed=untried fi if test -n "$PKG_CONFIG"; then if test -n "$SDL2_LIBS"; then pkg_cv_SDL2_LIBS="$SDL2_LIBS" else if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sdl2 SDL2_image\""; } >&5 ($PKG_CONFIG --exists --print-errors "sdl2 SDL2_image") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_SDL2_LIBS=`$PKG_CONFIG --libs "sdl2 SDL2_image" 2>/dev/null` else pkg_failed=yes fi fi else pkg_failed=untried fi if test $pkg_failed = yes; then if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then SDL2_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "sdl2 SDL2_image"` else SDL2_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "sdl2 SDL2_image"` fi # Put the nasty error message in config.log where it belongs echo "$SDL2_PKG_ERRORS" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } have_sdl2=no elif test $pkg_failed = untried; then have_sdl2=no else SDL2_CFLAGS=$pkg_cv_SDL2_CFLAGS SDL2_LIBS=$pkg_cv_SDL2_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } have_sdl2=yes fi # use SDL 2 if available, otherwise use SDL 1.2 if test "x$have_sdl2" = xno; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: SDL 2.0 libraries not found. Trying SDL 1.2. Please note SDL 1.2 support is deprecated" >&5 $as_echo "$as_me: WARNING: SDL 2.0 libraries not found. Trying SDL 1.2. Please note SDL 1.2 support is deprecated" >&2;} pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SDL" >&5 $as_echo_n "checking for SDL... " >&6; } if test -n "$PKG_CONFIG"; then if test -n "$SDL_CFLAGS"; then pkg_cv_SDL_CFLAGS="$SDL_CFLAGS" else if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sdl >= 1.2.10 SDL_image\""; } >&5 ($PKG_CONFIG --exists --print-errors "sdl >= 1.2.10 SDL_image") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_SDL_CFLAGS=`$PKG_CONFIG --cflags "sdl >= 1.2.10 SDL_image" 2>/dev/null` else pkg_failed=yes fi fi else pkg_failed=untried fi if test -n "$PKG_CONFIG"; then if test -n "$SDL_LIBS"; then pkg_cv_SDL_LIBS="$SDL_LIBS" else if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sdl >= 1.2.10 SDL_image\""; } >&5 ($PKG_CONFIG --exists --print-errors "sdl >= 1.2.10 SDL_image") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_SDL_LIBS=`$PKG_CONFIG --libs "sdl >= 1.2.10 SDL_image" 2>/dev/null` else pkg_failed=yes fi fi else pkg_failed=untried fi if test $pkg_failed = yes; then if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then SDL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "sdl >= 1.2.10 SDL_image"` else SDL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "sdl >= 1.2.10 SDL_image"` fi # Put the nasty error message in config.log where it belongs echo "$SDL_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (sdl >= 1.2.10 SDL_image) were not met: $SDL_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables SDL_CFLAGS and SDL_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. " "$LINENO" 5 elif test $pkg_failed = untried; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables SDL_CFLAGS and SDL_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else SDL_CFLAGS=$pkg_cv_SDL_CFLAGS SDL_LIBS=$pkg_cv_SDL_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } : fi fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PNG" >&5 $as_echo_n "checking for PNG... " >&6; } if test -n "$PKG_CONFIG"; then if test -n "$PNG_CFLAGS"; then pkg_cv_PNG_CFLAGS="$PNG_CFLAGS" else if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpng >= 1.2\""; } >&5 ($PKG_CONFIG --exists --print-errors "libpng >= 1.2") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_PNG_CFLAGS=`$PKG_CONFIG --cflags "libpng >= 1.2" 2>/dev/null` else pkg_failed=yes fi fi else pkg_failed=untried fi if test -n "$PKG_CONFIG"; then if test -n "$PNG_LIBS"; then pkg_cv_PNG_LIBS="$PNG_LIBS" else if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpng >= 1.2\""; } >&5 ($PKG_CONFIG --exists --print-errors "libpng >= 1.2") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_PNG_LIBS=`$PKG_CONFIG --libs "libpng >= 1.2" 2>/dev/null` else pkg_failed=yes fi fi else pkg_failed=untried fi if test $pkg_failed = yes; then if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then PNG_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libpng >= 1.2"` else PNG_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libpng >= 1.2"` fi # Put the nasty error message in config.log where it belongs echo "$PNG_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (libpng >= 1.2) were not met: $PNG_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables PNG_CFLAGS and PNG_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. " "$LINENO" 5 elif test $pkg_failed = untried; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables PNG_CFLAGS and PNG_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else PNG_CFLAGS=$pkg_cv_PNG_CFLAGS PNG_LIBS=$pkg_cv_PNG_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } : fi CPPFLAGS="${CPPFLAGS} ${FT2_CFLAGS} ${PCRE_CFLAGS} ${GLEW_CFLAGS} ${SDL2_CFLAGS} ${SDL_CFLAGS} ${PNG_CFLAGS}" LIBS="${LIBS} ${FT2_LIBS} ${PCRE_LIBS} ${GLEW_LIBS} ${SDL2_LIBS} ${SDL_LIBS} ${PNG_LIBS}" for ac_func in IMG_LoadPNG_RW do : ac_fn_cxx_check_func "$LINENO" "IMG_LoadPNG_RW" "ac_cv_func_IMG_LoadPNG_RW" if test "x$ac_cv_func_IMG_LoadPNG_RW" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_IMG_LOADPNG_RW 1 _ACEOF else as_fn_error $? "SDL_image with PNG support required. Please see INSTALL" "$LINENO" 5 fi done for ac_func in IMG_LoadJPG_RW do : ac_fn_cxx_check_func "$LINENO" "IMG_LoadJPG_RW" "ac_cv_func_IMG_LoadJPG_RW" if test "x$ac_cv_func_IMG_LoadJPG_RW" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_IMG_LOADJPG_RW 1 _ACEOF else as_fn_error $? "SDL_image with JPEG support required. Please see INSTALL" "$LINENO" 5 fi done #BOOST # Check whether --with-boost was given. if test "${with_boost+set}" = set; then : withval=$with_boost; if test "$withval" = "no"; then want_boost="no" elif test "$withval" = "yes"; then want_boost="yes" ac_boost_path="" else want_boost="yes" ac_boost_path="$withval" fi else want_boost="yes" fi # Check whether --with-boost-libdir was given. if test "${with_boost_libdir+set}" = set; then : withval=$with_boost_libdir; if test -d "$withval" then ac_boost_lib_path="$withval" else as_fn_error $? "--with-boost-libdir expected directory name" "$LINENO" 5 fi else ac_boost_lib_path="" fi if test "x$want_boost" = "xyes"; then boost_lib_version_req=1.46 boost_lib_version_req_shorten=`expr $boost_lib_version_req : '\([0-9]*\.[0-9]*\)'` boost_lib_version_req_major=`expr $boost_lib_version_req : '\([0-9]*\)'` boost_lib_version_req_minor=`expr $boost_lib_version_req : '[0-9]*\.\([0-9]*\)'` boost_lib_version_req_sub_minor=`expr $boost_lib_version_req : '[0-9]*\.[0-9]*\.\([0-9]*\)'` if test "x$boost_lib_version_req_sub_minor" = "x" ; then boost_lib_version_req_sub_minor="0" fi WANT_BOOST_VERSION=`expr $boost_lib_version_req_major \* 100000 \+ $boost_lib_version_req_minor \* 100 \+ $boost_lib_version_req_sub_minor` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for boostlib >= $boost_lib_version_req" >&5 $as_echo_n "checking for boostlib >= $boost_lib_version_req... " >&6; } succeeded=no libsubdirs="lib" ax_arch=`uname -m` case $ax_arch in x86_64|ppc64|s390x|sparc64|aarch64) libsubdirs="lib64 lib lib64" ;; esac libsubdirs="lib/${host_cpu}-${host_os} $libsubdirs" case ${host_cpu} in i?86) libsubdirs="lib/i386-${host_os} $libsubdirs" ;; esac if test "$ac_boost_path" != ""; then BOOST_CPPFLAGS="-I$ac_boost_path/include" for ac_boost_path_tmp in $libsubdirs; do if test -d "$ac_boost_path"/"$ac_boost_path_tmp" ; then BOOST_LDFLAGS="-L$ac_boost_path/$ac_boost_path_tmp" break fi done elif test "$cross_compiling" != yes; then for ac_boost_path_tmp in /usr /usr/local /opt /opt/local ; do if test -d "$ac_boost_path_tmp/include/boost" && test -r "$ac_boost_path_tmp/include/boost"; then for libsubdir in $libsubdirs ; do if ls "$ac_boost_path_tmp/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi done BOOST_LDFLAGS="-L$ac_boost_path_tmp/$libsubdir" BOOST_CPPFLAGS="-I$ac_boost_path_tmp/include" break; fi done fi if test "$ac_boost_lib_path" != ""; then BOOST_LDFLAGS="-L$ac_boost_lib_path" fi CPPFLAGS_SAVED="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" export CPPFLAGS LDFLAGS_SAVED="$LDFLAGS" LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" export LDFLAGS ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #if BOOST_VERSION >= $WANT_BOOST_VERSION // Everything is okay #else # error Boost version is too old #endif ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } succeeded=yes found_system=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test "x$succeeded" != "xyes"; then _version=0 if test "$ac_boost_path" != ""; then if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do _version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'` V_CHECK=`expr $_version_tmp \> $_version` if test "$V_CHECK" = "1" ; then _version=$_version_tmp fi VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'` BOOST_CPPFLAGS="-I$ac_boost_path/include/boost-$VERSION_UNDERSCORE" done fi else if test "$cross_compiling" != yes; then for ac_boost_path in /usr /usr/local /opt /opt/local ; do if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do _version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'` V_CHECK=`expr $_version_tmp \> $_version` if test "$V_CHECK" = "1" ; then _version=$_version_tmp best_path=$ac_boost_path fi done fi done VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'` BOOST_CPPFLAGS="-I$best_path/include/boost-$VERSION_UNDERSCORE" if test "$ac_boost_lib_path" = ""; then for libsubdir in $libsubdirs ; do if ls "$best_path/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi done BOOST_LDFLAGS="-L$best_path/$libsubdir" fi fi if test "x$BOOST_ROOT" != "x"; then for libsubdir in $libsubdirs ; do if ls "$BOOST_ROOT/stage/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi done if test -d "$BOOST_ROOT" && test -r "$BOOST_ROOT" && test -d "$BOOST_ROOT/stage/$libsubdir" && test -r "$BOOST_ROOT/stage/$libsubdir"; then version_dir=`expr //$BOOST_ROOT : '.*/\(.*\)'` stage_version=`echo $version_dir | sed 's/boost_//' | sed 's/_/./g'` stage_version_shorten=`expr $stage_version : '\([0-9]*\.[0-9]*\)'` V_CHECK=`expr $stage_version_shorten \>\= $_version` if test "$V_CHECK" = "1" -a "$ac_boost_lib_path" = "" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: We will use a staged boost library from $BOOST_ROOT" >&5 $as_echo "$as_me: We will use a staged boost library from $BOOST_ROOT" >&6;} BOOST_CPPFLAGS="-I$BOOST_ROOT" BOOST_LDFLAGS="-L$BOOST_ROOT/stage/$libsubdir" fi fi fi fi CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" export CPPFLAGS LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" export LDFLAGS ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #if BOOST_VERSION >= $WANT_BOOST_VERSION // Everything is okay #else # error Boost version is too old #endif ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } succeeded=yes found_system=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi if test "$succeeded" != "yes" ; then if test "$_version" = "0" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: We could not detect the boost libraries (version $boost_lib_version_req_shorten or higher). If you have a staged boost library (still not installed) please specify \$BOOST_ROOT in your environment and do not give a PATH to --with-boost option. If you are sure you have boost installed, then check your version number looking in . See http://randspringer.de/boost for more documentation." >&5 $as_echo "$as_me: We could not detect the boost libraries (version $boost_lib_version_req_shorten or higher). If you have a staged boost library (still not installed) please specify \$BOOST_ROOT in your environment and do not give a PATH to --with-boost option. If you are sure you have boost installed, then check your version number looking in . See http://randspringer.de/boost for more documentation." >&6;} else { $as_echo "$as_me:${as_lineno-$LINENO}: Your boost libraries seems to old (version $_version)." >&5 $as_echo "$as_me: Your boost libraries seems to old (version $_version)." >&6;} fi # execute ACTION-IF-NOT-FOUND (if present): as_fn_error $? "Boost Base >= 1.46 is required. Please see INSTALL" "$LINENO" 5 else $as_echo "#define HAVE_BOOST /**/" >>confdefs.h # execute ACTION-IF-FOUND (if present): : fi CPPFLAGS="$CPPFLAGS_SAVED" LDFLAGS="$LDFLAGS_SAVED" fi CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" #GLM ac_fn_cxx_check_header_mongrel "$LINENO" "glm/glm.hpp" "ac_cv_header_glm_glm_hpp" "$ac_includes_default" if test "x$ac_cv_header_glm_glm_hpp" = xyes; then : else as_fn_error $? "GLM headers are required. Please see INSTALL" "$LINENO" 5 fi #see if ttf-font-dir option is enabled # Check whether --enable-ttf-font-dir was given. if test "${enable_ttf_font_dir+set}" = set; then : enableval=$enable_ttf_font_dir; sdlappfontdir="$enableval" else sdlappfontdir="" fi if test "x$sdlappfontdir" != "x"; then FONTDIR_TRUE= FONTDIR_FALSE='#' else FONTDIR_TRUE='#' FONTDIR_FALSE= fi ac_config_files="$ac_config_files Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' # Transform confdefs.h into DEFS. # Protect against shell expansion while executing Makefile rules. # Protect against Makefile macro expansion. # # If the first sed substitution is executed (which looks for macros that # take arguments), then branch to the quote section. Otherwise, # look for a macro that doesn't take arguments. ac_script=' :mline /\\$/{ N s,\\\n,, b mline } t clear :clear s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g t quote s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g t quote b any :quote s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g s/\[/\\&/g s/\]/\\&/g s/\$/$$/g H :any ${ g s/^\n// s/\n/ /g p } ' DEFS=`sed -n "$ac_script" confdefs.h` ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs { $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 $as_echo_n "checking that generated files are newer than configure... " >&6; } if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 $as_echo "done" >&6; } if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' else am__EXEEXT_TRUE='#' am__EXEEXT_FALSE= fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then as_fn_error $? "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${FONTDIR_TRUE}" && test -z "${FONTDIR_FALSE}"; then as_fn_error $? "conditional \"FONTDIR\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by Logstalgia $as_me 1.0.7, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE Configuration files: $config_files Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ Logstalgia config.status 1.0.7 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' AWK='$AWK' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --he | --h | --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= ac_tmp= trap 'exit_status=$? : "${ac_tmp:=$tmp}" { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" eval set X " :F $CONFIG_FILES :C $CONFIG_COMMANDS" shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$ac_tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" case $ac_file in -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || { # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named 'Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running 'make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "$am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir=$dirpart/$fdir; as_fn_mkdir_p # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi logstalgia-1.0.7/m4/0000755000203100020310000000000012611522305013774 5ustar andrewcandrewclogstalgia-1.0.7/m4/ax_pthread.m40000644000203100020310000002576112611522305016370 0ustar andrewcandrewc# =========================================================================== # http://www.nongnu.org/autoconf-archive/ax_pthread.html # =========================================================================== # # SYNOPSIS # # AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) # # DESCRIPTION # # This macro figures out how to build C programs using POSIX threads. It # sets the PTHREAD_LIBS output variable to the threads library and linker # flags, and the PTHREAD_CFLAGS output variable to any special C compiler # flags that are needed. (The user can also force certain compiler # flags/libs to be tested by setting these environment variables.) # # Also sets PTHREAD_CC to any special C compiler that is needed for # multi-threaded programs (defaults to the value of CC otherwise). (This # is necessary on AIX to use the special cc_r compiler alias.) # # NOTE: You are assumed to not only compile your program with these flags, # but also link it with them as well. e.g. you should link with # $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS # # If you are only building threads programs, you may wish to use these # variables in your default LIBS, CFLAGS, and CC: # # LIBS="$PTHREAD_LIBS $LIBS" # CFLAGS="$CFLAGS $PTHREAD_CFLAGS" # CC="$PTHREAD_CC" # # In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant # has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to that name # (e.g. PTHREAD_CREATE_UNDETACHED on AIX). # # ACTION-IF-FOUND is a list of shell commands to run if a threads library # is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it # is not found. If ACTION-IF-FOUND is not specified, the default action # will define HAVE_PTHREAD. # # Please let the authors know if this macro fails on any platform, or if # you have any other suggestions or comments. This macro was based on work # by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help # from M. Frigo), as well as ac_pthread and hb_pthread macros posted by # Alejandro Forero Cuervo to the autoconf macro repository. We are also # grateful for the helpful feedback of numerous users. # # LICENSE # # Copyright (c) 2008 Steven G. Johnson # # 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 . # # As a special exception, the respective Autoconf Macro's copyright owner # gives unlimited permission to copy, distribute and modify the configure # scripts that are the output of Autoconf when processing the Macro. You # need not follow the terms of the GNU General Public License when using # or distributing such scripts, even though portions of the text of the # Macro appear in them. The GNU General Public License (GPL) does govern # all other use of the material that constitutes the Autoconf Macro. # # This special exception to the GPL applies to versions of the Autoconf # Macro released by the Autoconf Archive. When you make and distribute a # modified version of the Autoconf Macro, you may extend this special # exception to the GPL to apply to your modified version as well. AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD]) AC_DEFUN([AX_PTHREAD], [ AC_REQUIRE([AC_CANONICAL_HOST]) AC_LANG_SAVE AC_LANG_C ax_pthread_ok=no # We used to check for pthread.h first, but this fails if pthread.h # requires special compiler flags (e.g. on True64 or Sequent). # It gets checked for in the link test anyway. # First of all, check if the user has set any of the PTHREAD_LIBS, # etcetera environment variables, and if threads linking works using # them: if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $PTHREAD_CFLAGS" save_LIBS="$LIBS" LIBS="$PTHREAD_LIBS $LIBS" AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) AC_TRY_LINK_FUNC(pthread_join, ax_pthread_ok=yes) AC_MSG_RESULT($ax_pthread_ok) if test x"$ax_pthread_ok" = xno; then PTHREAD_LIBS="" PTHREAD_CFLAGS="" fi LIBS="$save_LIBS" CFLAGS="$save_CFLAGS" fi # We must check for the threads library under a number of different # names; the ordering is very important because some systems # (e.g. DEC) have both -lpthread and -lpthreads, where one of the # libraries is broken (non-POSIX). # Create a list of thread flags to try. Items starting with a "-" are # C compiler flags, and other items are library names, except for "none" # which indicates that we try without any flags at all, and "pthread-config" # which is a program returning the flags for the Pth emulation library. ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" # The ordering *is* (sometimes) important. Some notes on the # individual items follow: # pthreads: AIX (must check this before -lpthread) # none: in case threads are in libc; should be tried before -Kthread and # other compiler flags to prevent continual compiler warnings # -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) # lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) # -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) # -pthreads: Solaris/gcc # -mthreads: Mingw32/gcc, Lynx/gcc # -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it # doesn't hurt to check since this sometimes defines pthreads too; # also defines -D_REENTRANT) # ... -mt is also the pthreads flag for HP/aCC # pthread: Linux, etcetera # --thread-safe: KAI C++ # pthread-config: use pthread-config program (for GNU Pth library) case "${host_cpu}-${host_os}" in *solaris*) # On Solaris (at least, for some versions), libc contains stubbed # (non-functional) versions of the pthreads routines, so link-based # tests will erroneously succeed. (We need to link with -pthreads/-mt/ # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather # a function called by this macro, so we could check for that, but # who knows whether they'll stub that too in a future libc.) So, # we'll just look for -pthreads and -lpthread first: ax_pthread_flags="-pthreads pthread -mt -pthread $ax_pthread_flags" ;; esac if test x"$ax_pthread_ok" = xno; then for flag in $ax_pthread_flags; do case $flag in none) AC_MSG_CHECKING([whether pthreads work without any flags]) ;; -*) AC_MSG_CHECKING([whether pthreads work with $flag]) PTHREAD_CFLAGS="$flag" ;; pthread-config) AC_CHECK_PROG(ax_pthread_config, pthread-config, yes, no) if test x"$ax_pthread_config" = xno; then continue; fi PTHREAD_CFLAGS="`pthread-config --cflags`" PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" ;; *) AC_MSG_CHECKING([for the pthreads library -l$flag]) PTHREAD_LIBS="-l$flag" ;; esac save_LIBS="$LIBS" save_CFLAGS="$CFLAGS" LIBS="$PTHREAD_LIBS $LIBS" CFLAGS="$CFLAGS $PTHREAD_CFLAGS" # Check for various functions. We must include pthread.h, # since some functions may be macros. (On the Sequent, we # need a special flag -Kthread to make this header compile.) # We check for pthread_join because it is in -lpthread on IRIX # while pthread_create is in libc. We check for pthread_attr_init # due to DEC craziness with -lpthreads. We check for # pthread_cleanup_push because it is one of the few pthread # functions on Solaris that doesn't have a non-functional libc stub. # We try pthread_create on general principles. AC_TRY_LINK([#include static void routine(void* a) {a=0;} static void* start_routine(void* a) {return a;}], [pthread_t th; pthread_attr_t attr; pthread_join(th, 0); pthread_attr_init(&attr); pthread_cleanup_push(routine, 0); pthread_create(&th,0,start_routine,0); pthread_cleanup_pop(0); ], [ax_pthread_ok=yes]) LIBS="$save_LIBS" CFLAGS="$save_CFLAGS" AC_MSG_RESULT($ax_pthread_ok) if test "x$ax_pthread_ok" = xyes; then break; fi PTHREAD_LIBS="" PTHREAD_CFLAGS="" done fi # Various other checks: if test "x$ax_pthread_ok" = xyes; then save_LIBS="$LIBS" LIBS="$PTHREAD_LIBS $LIBS" save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $PTHREAD_CFLAGS" # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. AC_MSG_CHECKING([for joinable pthread attribute]) attr_name=unknown for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do AC_TRY_LINK([#include ], [int attr=$attr; return attr;], [attr_name=$attr; break]) done AC_MSG_RESULT($attr_name) if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then AC_DEFINE_UNQUOTED(PTHREAD_CREATE_JOINABLE, $attr_name, [Define to necessary symbol if this constant uses a non-standard name on your system.]) fi AC_MSG_CHECKING([if more special flags are required for pthreads]) flag=no case "${host_cpu}-${host_os}" in *-aix* | *-freebsd* | *-darwin*) flag="-D_THREAD_SAFE";; *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; esac AC_MSG_RESULT(${flag}) if test "x$flag" != xno; then PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" fi LIBS="$save_LIBS" CFLAGS="$save_CFLAGS" # More AIX lossage: must compile with xlc_r or cc_r if test x"$GCC" != xyes; then AC_CHECK_PROGS(PTHREAD_CC, xlc_r cc_r, ${CC}) else PTHREAD_CC=$CC fi else PTHREAD_CC="$CC" fi AC_SUBST(PTHREAD_LIBS) AC_SUBST(PTHREAD_CFLAGS) AC_SUBST(PTHREAD_CC) # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: if test x"$ax_pthread_ok" = xyes; then ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1]) : else ax_pthread_ok=no $2 fi AC_LANG_RESTORE ])dnl AX_PTHREAD logstalgia-1.0.7/m4/ax_check_gl.m40000644000203100020310000001266012611522305016472 0ustar andrewcandrewc# -*- mode: autoconf -*- # # AX_CHECK_GL # # Check for an OpenGL implementation. If GL is found, the required compiler # and linker flags are included in the output variables "GL_CFLAGS" and # "GL_LIBS", respectively. If no usable GL implementation is found, "no_gl" # is set to "yes". # # If the header "GL/gl.h" is found, "HAVE_GL_GL_H" is defined. If the header # "OpenGL/gl.h" is found, HAVE_OPENGL_GL_H is defined. These preprocessor # definitions may not be mutually exclusive. # # version: 2.6 # author: Braden McDaniel # # 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 2, 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, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301, USA. # # As a special exception, the you may copy, distribute and modify the # configure scripts that are the output of Autoconf when processing # the Macro. You need not follow the terms of the GNU General Public # License when using or distributing such scripts. # AC_DEFUN([AX_CHECK_GL], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_PATH_X])dnl AC_REQUIRE([AC_PROG_SED])dnl AC_REQUIRE([AX_PTHREAD])dnl AC_LANG_PUSH([C]) AX_LANG_COMPILER_MS AS_IF([test X$ax_compiler_ms = Xno], [GL_CFLAGS="${PTHREAD_CFLAGS}"; GL_LIBS="${PTHREAD_LIBS}"]) # # Use x_includes and x_libraries if they have been set (presumably by # AC_PATH_X). # AS_IF([test X$no_x != Xyes -a -n "$x_includes"], [GL_CFLAGS="-I$x_includes $GL_CFLAGS"]) AC_CHECK_HEADERS([windows.h]) ax_save_CPPFLAGS=$CPPFLAGS CPPFLAGS="$GL_CFLAGS $CPPFLAGS" AC_CHECK_HEADERS([GL/gl.h OpenGL/gl.h], , , [ # if defined(HAVE_WINDOWS_H) && defined(_WIN32) # include # endif ]) CPPFLAGS=$ax_save_CPPFLAGS m4_define([AX_CHECK_GL_PROGRAM], [AC_LANG_PROGRAM([[ # if defined(HAVE_WINDOWS_H) && defined(_WIN32) # include # endif # ifdef HAVE_GL_GL_H # include # elif defined(HAVE_OPENGL_GL_H) # include # else # error no gl.h # endif]], [[glBegin(0)]])]) m4_define([AX_CHECK_GL_GLX_PROGRAM], [AC_LANG_PROGRAM([[ # if defined(HAVE_WINDOWS_H) && defined(_WIN32) # include # endif # ifdef HAVE_GL_GL_H # include # elif defined(HAVE_OPENGL_GL_H) # include # else # error no gl.h # endif]], [[glXQueryVersion(0, 0, 0)]])]) AC_CACHE_CHECK([for OpenGL library], [ax_cv_check_gl_libgl], [ax_cv_check_gl_libgl=no case $host_cpu in x86_64) ax_check_gl_libdir=lib64 ;; *) ax_check_gl_libdir=lib ;; esac ax_save_CPPFLAGS=$CPPFLAGS CPPFLAGS="$CPPFLAGS $GL_CFLAGS" ax_save_LDFLAGS=$LDFLAGS AS_IF([test X$no_x != Xyes -a -n "$x_libraries"], [LDFLAGS="$LDFLAGS -L$x_libraries"]) ax_save_LIBS=$LIBS ax_check_libs="-lopengl32 -lGL" for ax_lib in $ax_check_libs; do AS_IF([test X$ax_compiler_ms = Xyes], [ax_try_lib=`echo $ax_lib | $SED -e 's/^-l//' -e 's/$/.lib/'`], [ax_try_lib=$ax_lib]) LDFLAGS="$ax_save_LDFLAGS $GL_LIBS" LIBS="$ax_try_lib $ax_save_LIBS" AC_LINK_IFELSE([AX_CHECK_GL_PROGRAM], [ax_cv_check_gl_libgl=$ax_try_lib; break], [ax_check_gl_nvidia_flags="-L/usr/$ax_check_gl_libdir/nvidia" LDFLAGS="$ax_save_LDFLAGS $GL_LIBS $ax_check_gl_nvidia_flags" AC_LINK_IFELSE([AX_CHECK_GL_PROGRAM], [ax_cv_check_gl_libgl="$ax_check_gl_nvidia_flags $ax_try_lib"; break], [ax_check_gl_dylib_flag='-dylib_file /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib' LDFLAGS="$ax_save_LDFLAGS $GL_LIBS $ax_check_gl_dylib_flag" AC_LINK_IFELSE([AX_CHECK_GL_PROGRAM], [ax_cv_check_gl_libgl="$ax_check_gl_dylib_flag $ax_try_lib"; break])])]) done # # If no_x is "yes", we don't want to wind up using a libGL that is # linked with X11. Test to see if the found libGL includes GLX # functions. If it does and no_x is "yes", we want to reset # ax_cv_check_gl_libgl back to "no". # # Note that LDFLAGS and LIBS should still have whatever values they # had when we broke out of the test loop above; use that. # AS_IF([test "X$ax_cv_check_gl_libgl" != Xno], [AC_LINK_IFELSE([AX_CHECK_GL_GLX_PROGRAM], [AS_IF([test X$no_x = Xyes], [ax_cv_check_gl_libgl=no])])]) LIBS=$ax_save_LIBS AS_IF([test "X$ax_cv_check_gl_libgl" = Xno -a X$no_x = Xyes], [LDFLAGS="$ax_save_LDFLAGS -framework OpenGL" AC_LINK_IFELSE([AX_CHECK_GL_PROGRAM], [ax_cv_check_gl_libgl='-framework OpenGL'])]) LDFLAGS=$ax_save_LDFLAGS CPPFLAGS=$ax_save_CPPFLAGS]) AS_IF([test "X$ax_cv_check_gl_libgl" = Xno], [no_gl=yes; GL_CFLAGS=""; GL_LIBS=""], [GL_LIBS="$ax_cv_check_gl_libgl $GL_LIBS"]) AC_LANG_POP([C]) AC_SUBST([GL_CFLAGS]) AC_SUBST([GL_LIBS]) ])dnl logstalgia-1.0.7/m4/ax_lang_compiler_ms.m40000644000203100020310000000307712611522305020247 0ustar andrewcandrewc# -*- mode: autoconf -*- # # Check whether the compiler for the current language is Microsoft. # # This macro is modeled after _AC_LANG_COMPILER_GNU in the GNU Autoconf # implementation. # # version: 1.0 # author: Braden McDaniel # # 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 2, 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, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301, USA. # # As a special exception, the you may copy, distribute and modify the # configure scripts that are the output of Autoconf when processing # the Macro. You need not follow the terms of the GNU General Public # License when using or distributing such scripts. # AC_DEFUN([AX_LANG_COMPILER_MS], [AC_CACHE_CHECK([whether we are using the Microsoft _AC_LANG compiler], [ax_cv_[]_AC_LANG_ABBREV[]_compiler_ms], [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[#ifndef _MSC_VER choke me #endif ]])], [ax_compiler_ms=yes], [ax_compiler_ms=no]) ax_cv_[]_AC_LANG_ABBREV[]_compiler_ms=$ax_compiler_ms ])]) logstalgia-1.0.7/m4/ax_boost_base.m40000644000203100020310000002475412611522305017062 0ustar andrewcandrewc# =========================================================================== # http://www.gnu.org/software/autoconf-archive/ax_boost_base.html # =========================================================================== # # SYNOPSIS # # AX_BOOST_BASE([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) # # DESCRIPTION # # Test for the Boost C++ libraries of a particular version (or newer) # # If no path to the installed boost library is given the macro searchs # under /usr, /usr/local, /opt and /opt/local and evaluates the # $BOOST_ROOT environment variable. Further documentation is available at # . # # This macro calls: # # AC_SUBST(BOOST_CPPFLAGS) / AC_SUBST(BOOST_LDFLAGS) # # And sets: # # HAVE_BOOST # # LICENSE # # Copyright (c) 2008 Thomas Porschberg # Copyright (c) 2009 Peter Adolphs # # Copying and distribution of this file, with or without modification, are # permitted in any medium without royalty provided the copyright notice # and this notice are preserved. This file is offered as-is, without any # warranty. #serial 23 AC_DEFUN([AX_BOOST_BASE], [ AC_ARG_WITH([boost], [AS_HELP_STRING([--with-boost@<:@=ARG@:>@], [use Boost library from a standard location (ARG=yes), from the specified location (ARG=), or disable it (ARG=no) @<:@ARG=yes@:>@ ])], [ if test "$withval" = "no"; then want_boost="no" elif test "$withval" = "yes"; then want_boost="yes" ac_boost_path="" else want_boost="yes" ac_boost_path="$withval" fi ], [want_boost="yes"]) AC_ARG_WITH([boost-libdir], AS_HELP_STRING([--with-boost-libdir=LIB_DIR], [Force given directory for boost libraries. Note that this will override library path detection, so use this parameter only if default library detection fails and you know exactly where your boost libraries are located.]), [ if test -d "$withval" then ac_boost_lib_path="$withval" else AC_MSG_ERROR(--with-boost-libdir expected directory name) fi ], [ac_boost_lib_path=""] ) if test "x$want_boost" = "xyes"; then boost_lib_version_req=ifelse([$1], ,1.20.0,$1) boost_lib_version_req_shorten=`expr $boost_lib_version_req : '\([[0-9]]*\.[[0-9]]*\)'` boost_lib_version_req_major=`expr $boost_lib_version_req : '\([[0-9]]*\)'` boost_lib_version_req_minor=`expr $boost_lib_version_req : '[[0-9]]*\.\([[0-9]]*\)'` boost_lib_version_req_sub_minor=`expr $boost_lib_version_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'` if test "x$boost_lib_version_req_sub_minor" = "x" ; then boost_lib_version_req_sub_minor="0" fi WANT_BOOST_VERSION=`expr $boost_lib_version_req_major \* 100000 \+ $boost_lib_version_req_minor \* 100 \+ $boost_lib_version_req_sub_minor` AC_MSG_CHECKING(for boostlib >= $boost_lib_version_req) succeeded=no dnl On 64-bit systems check for system libraries in both lib64 and lib. dnl The former is specified by FHS, but e.g. Debian does not adhere to dnl this (as it rises problems for generic multi-arch support). dnl The last entry in the list is chosen by default when no libraries dnl are found, e.g. when only header-only libraries are installed! libsubdirs="lib" ax_arch=`uname -m` case $ax_arch in x86_64|ppc64|s390x|sparc64|aarch64) libsubdirs="lib64 lib lib64" ;; esac dnl allow for real multi-arch paths e.g. /usr/lib/x86_64-linux-gnu. Give dnl them priority over the other paths since, if libs are found there, they dnl are almost assuredly the ones desired. AC_REQUIRE([AC_CANONICAL_HOST]) libsubdirs="lib/${host_cpu}-${host_os} $libsubdirs" case ${host_cpu} in i?86) libsubdirs="lib/i386-${host_os} $libsubdirs" ;; esac dnl first we check the system location for boost libraries dnl this location ist chosen if boost libraries are installed with the --layout=system option dnl or if you install boost with RPM if test "$ac_boost_path" != ""; then BOOST_CPPFLAGS="-I$ac_boost_path/include" for ac_boost_path_tmp in $libsubdirs; do if test -d "$ac_boost_path"/"$ac_boost_path_tmp" ; then BOOST_LDFLAGS="-L$ac_boost_path/$ac_boost_path_tmp" break fi done elif test "$cross_compiling" != yes; then for ac_boost_path_tmp in /usr /usr/local /opt /opt/local ; do if test -d "$ac_boost_path_tmp/include/boost" && test -r "$ac_boost_path_tmp/include/boost"; then for libsubdir in $libsubdirs ; do if ls "$ac_boost_path_tmp/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi done BOOST_LDFLAGS="-L$ac_boost_path_tmp/$libsubdir" BOOST_CPPFLAGS="-I$ac_boost_path_tmp/include" break; fi done fi dnl overwrite ld flags if we have required special directory with dnl --with-boost-libdir parameter if test "$ac_boost_lib_path" != ""; then BOOST_LDFLAGS="-L$ac_boost_lib_path" fi CPPFLAGS_SAVED="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" export CPPFLAGS LDFLAGS_SAVED="$LDFLAGS" LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" export LDFLAGS AC_REQUIRE([AC_PROG_CXX]) AC_LANG_PUSH(C++) AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ @%:@include ]], [[ #if BOOST_VERSION >= $WANT_BOOST_VERSION // Everything is okay #else # error Boost version is too old #endif ]])],[ AC_MSG_RESULT(yes) succeeded=yes found_system=yes ],[ ]) AC_LANG_POP([C++]) dnl if we found no boost with system layout we search for boost libraries dnl built and installed without the --layout=system option or for a staged(not installed) version if test "x$succeeded" != "xyes"; then _version=0 if test "$ac_boost_path" != ""; then if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do _version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'` V_CHECK=`expr $_version_tmp \> $_version` if test "$V_CHECK" = "1" ; then _version=$_version_tmp fi VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'` BOOST_CPPFLAGS="-I$ac_boost_path/include/boost-$VERSION_UNDERSCORE" done fi else if test "$cross_compiling" != yes; then for ac_boost_path in /usr /usr/local /opt /opt/local ; do if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do _version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'` V_CHECK=`expr $_version_tmp \> $_version` if test "$V_CHECK" = "1" ; then _version=$_version_tmp best_path=$ac_boost_path fi done fi done VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'` BOOST_CPPFLAGS="-I$best_path/include/boost-$VERSION_UNDERSCORE" if test "$ac_boost_lib_path" = ""; then for libsubdir in $libsubdirs ; do if ls "$best_path/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi done BOOST_LDFLAGS="-L$best_path/$libsubdir" fi fi if test "x$BOOST_ROOT" != "x"; then for libsubdir in $libsubdirs ; do if ls "$BOOST_ROOT/stage/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi done if test -d "$BOOST_ROOT" && test -r "$BOOST_ROOT" && test -d "$BOOST_ROOT/stage/$libsubdir" && test -r "$BOOST_ROOT/stage/$libsubdir"; then version_dir=`expr //$BOOST_ROOT : '.*/\(.*\)'` stage_version=`echo $version_dir | sed 's/boost_//' | sed 's/_/./g'` stage_version_shorten=`expr $stage_version : '\([[0-9]]*\.[[0-9]]*\)'` V_CHECK=`expr $stage_version_shorten \>\= $_version` if test "$V_CHECK" = "1" -a "$ac_boost_lib_path" = "" ; then AC_MSG_NOTICE(We will use a staged boost library from $BOOST_ROOT) BOOST_CPPFLAGS="-I$BOOST_ROOT" BOOST_LDFLAGS="-L$BOOST_ROOT/stage/$libsubdir" fi fi fi fi CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" export CPPFLAGS LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" export LDFLAGS AC_LANG_PUSH(C++) AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ @%:@include ]], [[ #if BOOST_VERSION >= $WANT_BOOST_VERSION // Everything is okay #else # error Boost version is too old #endif ]])],[ AC_MSG_RESULT(yes) succeeded=yes found_system=yes ],[ ]) AC_LANG_POP([C++]) fi if test "$succeeded" != "yes" ; then if test "$_version" = "0" ; then AC_MSG_NOTICE([[We could not detect the boost libraries (version $boost_lib_version_req_shorten or higher). If you have a staged boost library (still not installed) please specify \$BOOST_ROOT in your environment and do not give a PATH to --with-boost option. If you are sure you have boost installed, then check your version number looking in . See http://randspringer.de/boost for more documentation.]]) else AC_MSG_NOTICE([Your boost libraries seems to old (version $_version).]) fi # execute ACTION-IF-NOT-FOUND (if present): ifelse([$3], , :, [$3]) else AC_SUBST(BOOST_CPPFLAGS) AC_SUBST(BOOST_LDFLAGS) AC_DEFINE(HAVE_BOOST,,[define if the Boost library is available]) # execute ACTION-IF-FOUND (if present): ifelse([$2], , :, [$2]) fi CPPFLAGS="$CPPFLAGS_SAVED" LDFLAGS="$LDFLAGS_SAVED" fi ]) logstalgia-1.0.7/m4/pkg.m40000644000203100020310000001214512611522305015022 0ustar andrewcandrewc# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- # # Copyright © 2004 Scott James Remnant . # # 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 2 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, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # PKG_PROG_PKG_CONFIG([MIN-VERSION]) # ---------------------------------- AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) fi if test -n "$PKG_CONFIG"; then _pkg_min_version=m4_default([$1], [0.9.0]) AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) PKG_CONFIG="" fi fi[]dnl ])# PKG_PROG_PKG_CONFIG # PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) # # Check to see whether a particular set of modules exists. Similar # to PKG_CHECK_MODULES(), but does not set variables or print errors. # # # Similar to PKG_CHECK_MODULES, make sure that the first instance of # this or PKG_CHECK_MODULES is called, or make sure to call # PKG_CHECK_EXISTS manually # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test -n "$PKG_CONFIG" && \ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then m4_ifval([$2], [$2], [:]) m4_ifvaln([$3], [else $3])dnl fi]) # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) # --------------------------------------------- m4_define([_PKG_CONFIG], [if test -n "$PKG_CONFIG"; then if test -n "$$1"; then pkg_cv_[]$1="$$1" else PKG_CHECK_EXISTS([$3], [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], [pkg_failed=yes]) fi else pkg_failed=untried fi[]dnl ])# _PKG_CONFIG # _PKG_SHORT_ERRORS_SUPPORTED # ----------------------------- AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], [AC_REQUIRE([PKG_PROG_PKG_CONFIG]) if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi[]dnl ])# _PKG_SHORT_ERRORS_SUPPORTED # PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], # [ACTION-IF-NOT-FOUND]) # # # Note that if there is a possibility the first call to # PKG_CHECK_MODULES might not happen, you should be sure to include an # explicit call to PKG_PROG_PKG_CONFIG in your configure.ac # # # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_MODULES], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl pkg_failed=no AC_MSG_CHECKING([for $1]) _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) _PKG_CONFIG([$1][_LIBS], [libs], [$2]) m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"` else $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` fi # Put the nasty error message in config.log where it belongs echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD ifelse([$4], , [AC_MSG_ERROR(dnl [Package requirements ($2) were not met: $$1_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. _PKG_TEXT ])], [AC_MSG_RESULT([no]) $4]) elif test $pkg_failed = untried; then ifelse([$4], , [AC_MSG_FAILURE(dnl [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. _PKG_TEXT To get pkg-config, see .])], [$4]) else $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) ifelse([$3], , :, [$3]) fi[]dnl ])# PKG_CHECK_MODULES logstalgia-1.0.7/m4/ax_check_glu.m40000644000203100020310000001216512611522305016657 0ustar andrewcandrewc# -*- mode: autoconf -*- # # AX_CHECK_GLU # # Check for GLU. If GLU is found, the required preprocessor and linker flags # are included in the output variables "GLU_CFLAGS" and "GLU_LIBS", # respectively. If no GLU implementation is found, "no_glu" is set to "yes". # # If the header "GL/glu.h" is found, "HAVE_GL_GLU_H" is defined. If the # header "OpenGL/glu.h" is found, HAVE_OPENGL_GLU_H is defined. These # preprocessor definitions may not be mutually exclusive. # # Some implementations (in particular, some versions of Mac OS X) are known # to treat the GLU tesselator callback function type as "GLvoid (*)(...)" # rather than the standard "GLvoid (*)()". If the former condition is # detected, this macro defines "HAVE_VARARGS_GLU_TESSCB". # # version: 2.4 # author: Braden McDaniel # # 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 2, 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, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301, USA. # # As a special exception, the you may copy, distribute and modify the # configure scripts that are the output of Autoconf when processing # the Macro. You need not follow the terms of the GNU General Public # License when using or distributing such scripts. # AC_DEFUN([AX_CHECK_GLU], [AC_REQUIRE([AX_CHECK_GL])dnl AC_REQUIRE([AC_PROG_CXX])dnl GLU_CFLAGS=$GL_CFLAGS ax_save_CPPFLAGS=$CPPFLAGS CPPFLAGS="$GL_CFLAGS $CPPFLAGS" AC_CHECK_HEADERS([GL/glu.h OpenGL/glu.h], , , [ # if defined(HAVE_WINDOWS_H) && defined(_WIN32) # include # endif ]) CPPFLAGS=$ax_save_CPPFLAGS m4_define([AX_CHECK_GLU_PROGRAM], [AC_LANG_PROGRAM([[ # if defined(HAVE_WINDOWS_H) && defined(_WIN32) # include # endif # ifdef HAVE_GL_GLU_H # include # elif defined(HAVE_OPENGL_GLU_H) # include # else # error no glu.h # endif]], [[gluBeginCurve(0)]])]) AC_CACHE_CHECK([for OpenGL Utility library], [ax_cv_check_glu_libglu], [ax_cv_check_glu_libglu=no ax_save_CPPFLAGS=$CPPFLAGS CPPFLAGS="$GL_CFLAGS $CPPFLAGS" ax_save_LDFLAGS=$LDFLAGS ax_save_LIBS=$LIBS # # First, check for the possibility that everything we need is already in # GL_LIBS. # LDFLAGS="$ax_save_LDFLAGS $GL_LIBS" # # libGLU typically links with libstdc++ on POSIX platforms. # However, setting the language to C++ means that test program # source is named "conftest.cc"; and Microsoft cl doesn't know what # to do with such a file. # AC_LANG_PUSH([C++]) AS_IF([test X$ax_compiler_ms = Xyes], [AC_LANG_PUSH([C])]) AC_LINK_IFELSE([AX_CHECK_GLU_PROGRAM], [ax_cv_check_glu_libglu=yes], [LIBS="" ax_check_libs="-lglu32 -lGLU" for ax_lib in ${ax_check_libs}; do AS_IF([test X$ax_compiler_ms = Xyes], [ax_try_lib=`echo $ax_lib | $SED -e 's/^-l//' -e 's/$/.lib/'`], [ax_try_lib=$ax_lib]) LIBS="$ax_try_lib $ax_save_LIBS" AC_LINK_IFELSE([AX_CHECK_GLU_PROGRAM], [ax_cv_check_glu_libglu=$ax_try_lib; break]) done]) AS_IF([test X$ax_compiler_ms = Xyes], [AC_LANG_POP([C])]) AC_LANG_POP([C++]) LIBS=$ax_save_LIBS LDFLAGS=$ax_save_LDFLAGS CPPFLAGS=$ax_save_CPPFLAGS]) AS_IF([test "X$ax_cv_check_glu_libglu" = Xno], [no_glu=yes; GLU_CFLAGS=""; GLU_LIBS=""], [AS_IF([test "X$ax_cv_check_glu_libglu" = Xyes], [GLU_LIBS=""], [GLU_LIBS="$ax_cv_check_glu_libglu"])]) AC_SUBST([GLU_CFLAGS]) AC_SUBST([GLU_LIBS]) # # Some versions of Mac OS X include a broken interpretation of the GLU # tesselation callback function signature when using the C++ compiler. # AS_IF([test "X$ax_cv_check_glu_libglu" != Xno], [AC_CACHE_CHECK([for varargs GLU tesselator callback function type], [ax_cv_varargs_glu_tesscb], [AC_LANG_PUSH([C++]) ax_cv_varargs_glu_tesscb=no ax_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="$GL_CFLAGS $CXXFLAGS" AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ # ifdef HAVE_GL_GLU_H # include # else # include # endif]], [[GLvoid (*func)(...); gluTessCallback(0, 0, func)]])], [ax_cv_varargs_glu_tesscb=yes]) CXXFLAGS=$ax_save_CXXFLAGS AC_LANG_POP([C++])]) AS_IF([test X$ax_cv_varargs_glu_tesscb = Xyes], [AC_DEFINE([HAVE_VARARGS_GLU_TESSCB], [1], [Use nonstandard varargs form for the GLU tesselator callback])])]) ]) logstalgia-1.0.7/m4/ax_check_glut.m40000644000203100020310000000640612611522305017044 0ustar andrewcandrewc# -*- mode: autoconf -*- # # AX_CHECK_GLUT # # Check for GLUT. If GLUT is found, the required compiler and linker flags # are included in the output variables "GLUT_CFLAGS" and "GLUT_LIBS", # respectively. If GLUT is not found, "no_glut" is set to "yes". # # If the header "GL/glut.h" is found, "HAVE_GL_GLUT_H" is defined. If the # header "GLUT/glut.h" is found, HAVE_GLUT_GLUT_H is defined. These # preprocessor definitions may not be mutually exclusive. # # version: 2.2 # author: Braden McDaniel # # 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 2, 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, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301, USA. # # As a special exception, the you may copy, distribute and modify the # configure scripts that are the output of Autoconf when processing # the Macro. You need not follow the terms of the GNU General Public # License when using or distributing such scripts. # AC_DEFUN([AX_CHECK_GLUT], [AC_REQUIRE([AX_CHECK_GLU])dnl AC_REQUIRE([AC_PATH_XTRA])dnl ax_save_CPPFLAGS=$CPPFLAGS CPPFLAGS="$GLU_CFLAGS $CPPFLAGS" AC_CHECK_HEADERS([GL/glut.h GLUT/glut.h]) CPPFLAGS=$ax_save_CPPFLAGS GLUT_CFLAGS=$GLU_CFLAGS m4_define([AX_CHECK_GLUT_PROGRAM], [AC_LANG_PROGRAM([[ # if HAVE_WINDOWS_H && defined(_WIN32) # include # endif # ifdef HAVE_GL_GLUT_H # include # elif defined(HAVE_GLUT_GLUT_H) # include # else # error no glut.h # endif]], [[glutMainLoop()]])]) AC_CACHE_CHECK([for GLUT library], [ax_cv_check_glut_libglut], [ax_cv_check_glut_libglut=no # # If X is present, assume GLUT depends on it. # AC_LANG_PUSH(C) ax_save_CPPFLAGS=$CPPFLAGS CPPFLAGS="$GLUT_CFLAGS $CPPFLAGS" ax_save_LDFLAGS=$LDFLAGS ax_save_LIBS=$LIBS LIBS="" AS_IF([test X$no_x != Xyes], [ax_check_glut_x_libs="$X_PRE_LIBS -lXmu -lXi $X_EXTRA_LIBS"]) ax_check_libs="-lglut32 -lglut" for ax_lib in $ax_check_libs; do AS_IF([test X$ax_compiler_ms = Xyes], [ax_try_lib=`echo $ax_lib | $SED -e 's/^-l//' -e 's/$/.lib/'`], [ax_try_lib=$ax_lib]) LIBS="$ax_try_lib $GLUT_LIBS $ax_check_glut_x_libs $ax_save_LIBS" AC_LINK_IFELSE([AX_CHECK_GLUT_PROGRAM], [ax_cv_check_glut_libglut=$ax_try_lib; break]) done LIBS=$ax_save_LIBS AS_IF([test "X$ax_cv_check_glut_libglut" = Xno -a X$no_x = Xyes], [LDFLAGS="$ax_save_LDFLAGS -framework GLUT" AC_LINK_IFELSE([AX_CHECK_GLUT_PROGRAM], [ax_cv_check_glut_libglut='-framework GLUT'])]) LDFLAGS=$ax_save_LDFLAGS CPPFLAGS=$ax_save_CPPFLAGS AC_LANG_POP(C)]) AS_IF([test "X$ax_cv_check_glut_libglut" = Xno], [no_glut=yes; GLUT_CFLAGS=""; GLUT_LIBS=""], [GLUT_LIBS="$ax_cv_check_glut_libglut"]) AC_SUBST([GLUT_CFLAGS]) AC_SUBST([GLUT_LIBS]) ])dnl logstalgia-1.0.7/Makefile.am0000644000203100020310000000273112611522305015513 0ustar andrewcandrewcACLOCAL_AMFLAGS = -I m4 bin_PROGRAMS = logstalgia logstalgia_CXXFLAGS = -std=gnu++0x -Wall -Wno-sign-compare -Wno-reorder -Wno-unused-but-set-variable -Wno-unused-variable logstalgia_SOURCES = \ src/ncsa.cpp \ src/ball.cpp \ src/core/conffile.cpp \ src/core/display.cpp \ src/core/frustum.cpp \ src/core/fxfont.cpp \ src/core/logger.cpp \ src/core/ppm.cpp \ src/core/png_writer.cpp \ src/core/plane.cpp \ src/core/quadtree.cpp \ src/core/regex.cpp \ src/core/resource.cpp \ src/core/sdlapp.cpp \ src/core/seeklog.cpp \ src/core/settings.cpp \ src/core/shader.cpp \ src/core/shader_common.cpp \ src/core/stringhash.cpp \ src/core/texture.cpp \ src/core/timezone.cpp \ src/core/vbo.cpp \ src/core/vectors.cpp \ src/custom.cpp \ src/logentry.cpp \ src/logstalgia.cpp \ src/main.cpp \ src/paddle.cpp \ src/requestball.cpp \ src/settings.cpp \ src/slider.cpp \ src/summarizer.cpp \ src/textarea.cpp AM_CPPFLAGS = -DSDLAPP_RESOURCE_DIR=\"$(pkgdatadir)\" dist_pkgdata_DATA = data/ball.tga data/example.log data/glow.tga install-data-hook: mkdir -p -m 755 ${DESTDIR}/$(mandir)/man1 $(SED) 's|SDLAPP_RESOURCE_DIR|$(pkgdatadir)|g' data/logstalgia.1 | gzip -f9 > $(DESTDIR)$(mandir)/man1/logstalgia.1.gz uninstall-hook: -rm -f $(DESTDIR)$(mandir)/man1/logstalgia.1.gz if FONTDIR AM_CPPFLAGS += -DSDLAPP_FONT_DIR=\"$(sdlappfontdir)\" else fontsdir = $(pkgdatadir)/fonts dist_fonts_DATA = data/fonts/README data/fonts/FreeMonoBold.ttf data/fonts/FreeSerif.ttf endif logstalgia-1.0.7/THANKS0000644000203100020310000000031112611522305014362 0ustar andrewcandrewcMany thanks to Francois Marier for anwering my many packaging and licensing questions and for sponsoring my program into Debian. Cheers to everyone at Catalyst IT for their support and encouragement. logstalgia-1.0.7/aclocal.m40000644000203100020310000012253712611522305015326 0ustar andrewcandrewc# generated automatically by aclocal 1.15 -*- Autoconf -*- # Copyright (C) 1996-2014 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, [m4_warning([this file was generated for autoconf 2.69. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) # Copyright (C) 2002-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.15' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.15], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.15])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to # '$srcdir', '$srcdir/..', or '$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is '.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl # Expand $ac_aux_dir to an absolute path. am_aux_dir=`cd "$ac_aux_dir" && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ([2.52])dnl m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl m4_define([_AM_COND_VALUE_$1], [$2])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], [$1], [CXX], [depcc="$CXX" am_compiler_list=], [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], [$1], [UPC], [depcc="$UPC" am_compiler_list=], [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi am__universal=false m4_case([$1], [CC], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac], [CXX], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac]) for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES. AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE([dependency-tracking], [dnl AS_HELP_STRING( [--enable-dependency-tracking], [do not reject slow dependency extractors]) AS_HELP_STRING( [--disable-dependency-tracking], [speeds up one-time build])]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl AC_SUBST([am__nodep])dnl _AM_SUBST_NOTMAKE([am__nodep])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named 'Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running 'make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "$am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each '.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. m4_define([AC_PROG_CC], m4_defn([AC_PROG_CC]) [_AM_PROG_CC_C_O ]) # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.65])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [AC_DIAGNOSE([obsolete], [$0: two- and three-arguments forms are deprecated.]) m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if( m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), [ok:ok],, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) AM_MISSING_PROG([AUTOCONF], [autoconf]) AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) AM_MISSING_PROG([AUTOHEADER], [autoheader]) AM_MISSING_PROG([MAKEINFO], [makeinfo]) AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: # # AC_SUBST([mkdir_p], ['$(MKDIR_P)']) # We need awk for the "check" target (and possibly the TAP driver). The # system "awk" is bad on some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES([CC])], [m4_define([AC_PROG_CC], m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES([CXX])], [m4_define([AC_PROG_CXX], m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES([OBJC])], [m4_define([AC_PROG_OBJC], m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], [_AM_DEPENDENCIES([OBJCXX])], [m4_define([AC_PROG_OBJCXX], m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl ]) AC_REQUIRE([AM_SILENT_RULES])dnl dnl The testsuite driver may need to know about EXEEXT, so add the dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl # POSIX will say in a future version that running "rm -f" with no argument # is OK; and we want to be able to make that assumption in our Makefile # recipes. So use an aggressive probe to check that the usage we want is # actually supported "in the wild" to an acceptable degree. # See automake bug#10828. # To make any issue more visible, cause the running configure to be aborted # by default if the 'rm' program in use doesn't match our expectations; the # user can still override this though. if rm -f && rm -fr && rm -rf; then : OK; else cat >&2 <<'END' Oops! Your 'rm' program seems unable to run without file operands specified on the command line, even when the '-f' option is present. This is contrary to the behaviour of most rm programs out there, and not conforming with the upcoming POSIX standard: Please tell bug-automake@gnu.org about your system, including the value of your $PATH and any error possibly output before this message. This can help us improve future automake versions. END if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then echo 'Configuration will proceed anyway, since you have set the' >&2 echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 echo >&2 else cat >&2 <<'END' Aborting the configuration process, to ensure you take notice of the issue. You can download and install GNU coreutils to get an 'rm' implementation that behaves properly: . If you want to complete the configuration process using your problematic 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM to "yes", and re-run configure. END AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) fi fi dnl The trailing newline in this macro's definition is deliberate, for dnl backward compatibility and to allow trailing 'dnl'-style comments dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. ]) dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_arg=$1 _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl if test x"${install_sh+set}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi AC_SUBST([install_sh])]) # Copyright (C) 2003-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from 'make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it is modern enough. # If it is, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then am_missing_run="$MISSING " else am_missing_run= AC_MSG_WARN(['missing' script is too old or missing]) fi ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # -------------------- # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), [1])]) # _AM_SET_OPTIONS(OPTIONS) # ------------------------ # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Copyright (C) 1999-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_PROG_CC_C_O # --------------- # Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC # to automatically call this. AC_DEFUN([_AM_PROG_CC_C_O], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([compile])dnl AC_LANG_PUSH([C])dnl AC_CACHE_CHECK( [whether $CC understands -c and -o together], [am_cv_prog_cc_c_o], [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) # Make sure it works both with $CC and with simple cc. # Following AC_PROG_CC_C_O, we do the test twice because some # compilers refuse to overwrite an existing .o file with -o, # though they will create one. am_cv_prog_cc_c_o=yes for am_i in 1 2; do if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ && test -f conftest2.$ac_objext; then : OK else am_cv_prog_cc_c_o=no break fi done rm -f core conftest* unset am_i]) if test "$am_cv_prog_cc_c_o" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi AC_LANG_POP([C])]) # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) # Copyright (C) 2001-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_RUN_LOG(COMMAND) # ------------------- # Run COMMAND, save the exit status in ac_status, and log it. # (This has been adapted from Autoconf's _AC_RUN_LOG macro.) AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD (exit $ac_status); }]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[[\\\"\#\$\&\'\`$am_lf]]*) AC_MSG_ERROR([unsafe absolute working directory name]);; esac case $srcdir in *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; esac # Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( am_has_slept=no for am_try in 1 2; do echo "timestamp, slept: $am_has_slept" > conftest.file set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi if test "$[2]" = conftest.file || test $am_try -eq 2; then break fi # Just in case. sleep 1 am_has_slept=yes done test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT([yes]) # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= if grep 'slept: no' conftest.file >/dev/null 2>&1; then ( sleep 1 ) & am_sleep_pid=$! fi AC_CONFIG_COMMANDS_PRE( [AC_MSG_CHECKING([that generated files are newer than configure]) if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi AC_MSG_RESULT([done])]) rm -f conftest.file ]) # Copyright (C) 2009-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_SILENT_RULES([DEFAULT]) # -------------------------- # Enable less verbose build rules; with the default set to DEFAULT # ("yes" being less verbose, "no" or empty being verbose). AC_DEFUN([AM_SILENT_RULES], [AC_ARG_ENABLE([silent-rules], [dnl AS_HELP_STRING( [--enable-silent-rules], [less verbose build output (undo: "make V=1")]) AS_HELP_STRING( [--disable-silent-rules], [verbose build output (undo: "make V=0")])dnl ]) case $enable_silent_rules in @%:@ ((( yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; esac dnl dnl A few 'make' implementations (e.g., NonStop OS and NextStep) dnl do not support nested variable expansions. dnl See automake bug#9928 and bug#10237. am_make=${MAKE-make} AC_CACHE_CHECK([whether $am_make supports nested variables], [am_cv_make_support_nested_variables], [if AS_ECHO([['TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 am__doit: @$(TRUE) .PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no fi]) if test $am_cv_make_support_nested_variables = yes; then dnl Using '$V' instead of '$(V)' breaks IRIX make. AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AC_SUBST([AM_V])dnl AM_SUBST_NOTMAKE([AM_V])dnl AC_SUBST([AM_DEFAULT_V])dnl AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl AC_SUBST([AM_DEFAULT_VERBOSITY])dnl AM_BACKSLASH='\' AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) # Copyright (C) 2001-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor 'install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in "make install-strip", and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using 'strip' when the user # run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the 'STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # AM_SUBST_NOTMAKE(VARIABLE) # -------------------------- # Public sister of _AM_SUBST_NOTMAKE. AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of 'v7', 'ustar', or 'pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar # AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AC_SUBST([AMTAR], ['$${TAR-tar}']) # We'll loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' m4_if([$1], [v7], [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], [m4_case([$1], [ustar], [# The POSIX 1988 'ustar' format is defined with fixed-size fields. # There is notably a 21 bits limit for the UID and the GID. In fact, # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 # and bug#13588). am_max_uid=2097151 # 2^21 - 1 am_max_gid=$am_max_uid # The $UID and $GID variables are not portable, so we need to resort # to the POSIX-mandated id(1) utility. Errors in the 'id' calls # below are definitely unexpected, so allow the users to see them # (that is, avoid stderr redirection). am_uid=`id -u || echo unknown` am_gid=`id -g || echo unknown` AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) if test $am_uid -le $am_max_uid; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) _am_tools=none fi AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) if test $am_gid -le $am_max_gid; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) _am_tools=none fi], [pax], [], [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Go ahead even if we have the value already cached. We do so because we # need to set the values for the 'am__tar' and 'am__untar' variables. _am_tools=${am_cv_prog_tar_$1-$_am_tools} for _am_tool in $_am_tools; do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works. rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR m4_include([m4/ax_boost_base.m4]) m4_include([m4/ax_check_gl.m4]) m4_include([m4/ax_check_glu.m4]) m4_include([m4/ax_lang_compiler_ms.m4]) m4_include([m4/ax_pthread.m4]) m4_include([m4/pkg.m4]) logstalgia-1.0.7/INSTALL0000644000203100020310000000322112611522310014477 0ustar andrewcandrewcThis file is to help you configure, build and install Logstalgia on your system. Contents ======== 1. Dependencies 2. Building 3. Configure Options 1. Dependencies =============== Logstalgia requires the following libraries to compile (package names may vary): SDL 2.0 (libsdl2-dev) SDL Image 2.0 (libsdl2-image-dev) PCRE (libpcre3-dev) Freetype 2 (libfreetype6-dev) GLEW (libglew-dev) GLM >= 0.9.3 (libglm-dev) Boost >= 1.46 (libboost-dev) PNG >= 1.2 (libpng12-dev) If SDL 2.0 is unavailable you can still use SDL 1.2, but this is deprecated: SDL 1.2 (libsdl1.2-dev) SDL Image 1.2 (libsdl-image1.2-dev) 2. Building =========== Logstalgia requires a GNU compatible C++ compiler that supports c++0x features such as 'auto' and the new 'for' loop syntax. GCC 4.6+ or Clang recommended. If you got the source directly from the Logstalgia.git repository, you will first need to run autogen.sh which will generate the configure script and initialize and update the submodules. ./autogen.sh Building on Linux/Mac OS: ./configure make make install Building on Windows: On Windows I recommend compiling the project file logstalgia.win32.cbp for the Code Blocks IDE (www.codeblocks.org). A pre-built version for Windows is normally available from the homepage. Logstalgia expects SDL to have been built with the NO_STDIO_REDIRECT flag. 3. Configure Options ==================== By default Logstalgia will install some GNU FreeFont TTF Fonts on your system. If you already have these fonts installed, you can configure Logstalgia to use these instead: ./configure --enable-ttf-font-dir=/path/to/freefont/