./PaxHeaders/liborigin-3.0.40000644000000000000000000000013215223730657012644 xustar0030 mtime=1783607727.301503672 30 atime=1783607728.093504218 30 ctime=1783607727.301503672 liborigin-3.0.4/0000755000175000001440000000000015223730657014230 5ustar00dozentusers00000000000000liborigin-3.0.4/PaxHeaders/.gitignore0000644000000000000000000000013015205070455014543 xustar0030 mtime=1779724589.800867807 30 atime=1783513656.327759104 28 ctime=1783607690.1695244 liborigin-3.0.4/.gitignore0000644000175000001440000000000715205070455016206 0ustar00dozentusers00000000000000build/ liborigin-3.0.4/PaxHeaders/COPYING0000644000000000000000000000013015205070455013606 xustar0030 mtime=1779724589.800867807 30 atime=1783607034.597658281 28 ctime=1783607690.1695244 liborigin-3.0.4/COPYING0000644000175000001440000010451315205070455015260 0ustar00dozentusers00000000000000 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 . liborigin-3.0.4/PaxHeaders/OriginAnyParser.h0000644000000000000000000000013015205070455016000 xustar0030 mtime=1779724589.804867805 30 atime=1783606986.625557002 28 ctime=1783607690.1695244 liborigin-3.0.4/OriginAnyParser.h0000644000175000001440000000635115205070455017453 0ustar00dozentusers00000000000000/* OriginAnyParser.h SPDX-FileCopyrightText: 2017 Miquel Garriga SPDX-License-Identifier: GPL-3.0-or-later Parser for all versions. Based mainly on Origin750Parser.h */ #ifndef ORIGIN_ANY_PARSER_H #define ORIGIN_ANY_PARSER_H #include "OriginParser.h" #include "endianfstream.hh" #include #include // for floor() using namespace Origin; using namespace endianfstream; class ORIGIN_EXPORT OriginAnyParser : public OriginParser { public: explicit OriginAnyParser(const std::string &fileName); bool parse() override; protected: unsigned int readObjectSize(); std::string readObjectAsString(unsigned int); void readFileVersion(); void readGlobalHeader(); bool readDataSetElement(); bool readWindowElement(); bool readLayerElement(); unsigned int readAnnotationList(); bool readAnnotationElement(); bool readCurveElement(); bool readAxisBreakElement(); bool readAxisParameterElement(unsigned int); bool readParameterElement(); bool readNoteElement(); void readProjectTree(); unsigned int readFolderTree(tree::iterator, unsigned int); void readProjectLeaf(tree::iterator); void readAttachmentList(); bool getColumnInfoAndData(const std::string &, unsigned int, const std::string &, unsigned int); void getMatrixValues(const std::string &, unsigned int, short, char, char, std::vector::difference_type); void getWindowProperties(Origin::Window &, const std::string &, unsigned int); void getLayerProperties(const std::string &, unsigned int); Origin::Color getColor(const std::string &); void getAnnotationProperties(const std::string &, unsigned int, const std::string &, unsigned int, const std::string &, unsigned int, const std::string &, unsigned int); void getCurveProperties(const std::string &, unsigned int, const std::string &, unsigned int); void getAxisBreakProperties(const std::string &, unsigned int); void getAxisParameterProperties(const std::string &, unsigned int, int); void getNoteProperties(const std::string &, unsigned int, const std::string &, unsigned int, const std::string &, unsigned int); void getColorMap(ColorMap &, const std::string &, unsigned int); void getZcolorsMap(ColorMap &, const std::string &, unsigned int); void getProjectLeafProperties(tree::iterator, const std::string &, unsigned int); void getProjectFolderProperties(tree::iterator, const std::string &, unsigned int); void outputProjectTree(std::ostream &); inline time_t doubleToPosixTime(double jdt) { /* 2440587.5 is julian date for the unixtime epoch */ return (time_t)floor((jdt - 2440587) * 86400. + 0.5); } iendianfstream file; FILE *logfile; std::streamsize d_file_size; std::streamoff curpos; unsigned int objectIndex, parseError; std::vector::difference_type ispread; std::vector::difference_type imatrix; std::vector::difference_type iexcel; int igraph, ilayer; }; #endif // ORIGIN_ANY_PARSER_H liborigin-3.0.4/PaxHeaders/OriginFile.cpp0000644000000000000000000000013015205070455015306 xustar0030 mtime=1779724589.804867805 30 atime=1783606986.617556985 28 ctime=1783607690.1695244 liborigin-3.0.4/OriginFile.cpp0000644000175000001440000002135315205070455016760 0ustar00dozentusers00000000000000 /* File : OriginFile.cpp Description : Origin file import class -------------------------------------------------------------------- SPDX-FileCopyrightText: 2005-2008, 2017-2023 Stefan Gerlach SPDX-FileCopyrightText: 2007-2008 Alex Kargovsky SPDX-FileCopyrightText: 2007-2008 Ion Vasilief SPDX-License-Identifier: GPL-2.0-or-later */ #include "config.h" #include "OriginFile.h" #include #include using namespace std; OriginFile::OriginFile(const string &fileName) : fileVersion(0), buildVersion(0), ioError(0) { ifstream file(fileName.c_str(), ios_base::binary); if (!file.is_open()) { ioError = errno; return; } #ifdef GENERATE_CODE_FOR_LOG FILE *logfile = nullptr; logfile = fopen("./opjfile.log", "w"); if (logfile == nullptr) { ioError = errno; return; } #endif // GENERATE_CODE_FOR_LOG LOG_PRINT(logfile, "File: %s\n", fileName.c_str()) string vers; getline(file, vers); file.close(); long majorVersion = strtol(vers.substr(5, 1).c_str(), nullptr, 10); // char locale_decpoint = vers[6]; buildVersion = strtol(vers.substr(7).c_str(), nullptr, 10); // long buildNumber = strtol(vers.substr(12).c_str(),0,10); // translate version // see https://www.originlab.com/index.aspx?go=SUPPORT&pid=3325 unsigned int newFileVersion = 0; if (majorVersion == 3) { if (buildVersion < 830) fileVersion = 350; else fileVersion = 410; } else if (buildVersion >= 110 && buildVersion <= 141) // 4.1 fileVersion = 410; else if (buildVersion <= 210) // 5.0 fileVersion = 500; else if (buildVersion < 2624) // 6.0 fileVersion = 600; else if (buildVersion < 2628) // 6.0 SR1 fileVersion = 601; else if (buildVersion < 2635) // 6.0 SR4 fileVersion = 604; else if (buildVersion < 2656) // 6.1 fileVersion = 610; else if (buildVersion < 2659) // 7.0 SR0 (2656-2658) fileVersion = 700; else if (buildVersion < 2664) // 7.0 SR1 (2659-2663) fileVersion = 701; else if (buildVersion < 2672) // 7.0 SR2 (2664-2671) fileVersion = 702; else if (buildVersion < 2673) // 7.0 SR3 (2672-2672) fileVersion = 703; else if (buildVersion < 2766) // 7.0 SR4 (2673-2765) fileVersion = 704; else if (buildVersion < 2878) // 7.5 (2766-2877) fileVersion = 750; else if (buildVersion < 2881) // 8.0 SR0 (2878-2880) fileVersion = 800; else if (buildVersion < 2892) // 8.0 SR1,SR2,SR3 (2878-2891) fileVersion = 801; else if (buildVersion < 2944) // 8.0 SR4, 8.1 SR1-SR4 (2891-2943) fileVersion = 810; else if (buildVersion < 2947) // 8.5 SR0, SR1 (2944-2946) fileVersion = 850; else if (buildVersion < 2962) // 8.5.1 SR0, SR1, SR2 fileVersion = 851; else if (buildVersion < 2980) // 8.6 SR0, SR1, SR2, SR3 fileVersion = 860; else if (buildVersion < 3025) // 9.0 SR0, SR1, SR2 fileVersion = 900; else if (buildVersion < 3078) // 9.1 SR0, SR1, SR2, SR3 fileVersion = 910; else if (buildVersion < 3117) { // 2015 (9.2) SR0, SR1, SR2 fileVersion = 920; newFileVersion = 20150; } else if (buildVersion < 3169) { // 2016 (9.3.0) SR0 fileVersion = 930; newFileVersion = 20160; } else if (buildVersion < 3172) { // 2016.1 (9.3.1), 2016.2 (9.3.2) SR1, SR2 fileVersion = 931; newFileVersion = 20161; } else if (buildVersion < 3225) { // 2017.0 (9.4.0.220) SR0 3224 fileVersion = 940; newFileVersion = 20170; } else if (buildVersion < 3228) { // 2017.1 (9.4.1.354), 2017.2 (9.4.2.380) SR1, SR2 3227 fileVersion = 941; newFileVersion = 20171; } else if (buildVersion < 3269) { // 2018.0 (9.5.0.193), 2018.1 (9.5.1.195) SR0, SR1 3268 fileVersion = 950; newFileVersion = 20180; } else if (buildVersion < 3296) { // 2018b.0 (9.5.5.409) SR0, SR1 3295 fileVersion = 955; newFileVersion = 20185; } else if (buildVersion < 3331) { // 2019.0 (9.6.0.172) SR0 3330 fileVersion = 960; newFileVersion = 20190; } else if (buildVersion < 3360) { // 2019b.0 (9.6.5.169) SR0 3359 fileVersion = 965; newFileVersion = 20195; } else if (buildVersion < 3381) { // 2020.0 (9.7.0.185), 2020.1 (9.7.0.188) SR0, SR1 3380 fileVersion = 970; newFileVersion = 20200; } else if (buildVersion < 3426) { // 2020b.0 (9.7.5.184) SR0 3425 fileVersion = 975; newFileVersion = 20205; } else if (buildVersion < 3446) { // 2021.0 (9.8.0.200) SR0 3445 fileVersion = 980; newFileVersion = 20210; } else if (buildVersion < 3479) { // 2021b.0 (9.8.5.201), 2021b.1 (9.8.5.204), 2021b.2 // (9.8.5.212) SR0, SR1, SR2 3478 fileVersion = 985; newFileVersion = 20215; } else if (buildVersion < 3522) { // 2022 (9.90.220) SR0 fileVersion = 990; newFileVersion = 20220; } else if (buildVersion < 3523) { // 2022 (9.90.225) SR1 fileVersion = 990; newFileVersion = 20221; } else if (buildVersion < 3552) { // 2022b (9.95.167) SR0, OriginViewer 9.9.5 (9.95.63) 3534 fileVersion = 995; newFileVersion = 20225; // 2023 does not support OPJ anymore, but newer OriginViewer may do. } else { // > 2022b fileVersion = 1000; newFileVersion = 20230; LOG_PRINT(logfile, "Found project version 2023 (10.0.0) or newer\n") } if (newFileVersion == 0) { LOG_PRINT(logfile, "Found project version %.2f\n", fileVersion / 100.0) } else if (fileVersion < 941) { LOG_PRINT(logfile, "Found project version %.1f (%.2f)\n", newFileVersion / 10.0, fileVersion / 100.0) } // Close logfile, will be reopened in parser routine. // There are ways to keep logfile open and pass it to parser routine, // but I choose to do the same as with 'file', close it and reopen in 'parse' // routines. parser.reset(createOriginAnyParser(fileName)); ioError = 0; #ifdef GENERATE_CODE_FOR_LOG fclose(logfile); #endif } bool OriginFile::parse() { if (ioError != 0) return false; parser->buildVersion = buildVersion; parser->fileVersion = fileVersion; return parser->parse(); } double OriginFile::version() const { return (parser->fileVersion) / 100.0; } const tree *OriginFile::project() const { return &parser->projectTree; } vector::size_type OriginFile::datasetCount() const { return parser->datasets.size(); } Origin::SpreadColumn &OriginFile::dataset(vector::size_type ds) const { return parser->datasets[ds]; } vector::size_type OriginFile::spreadCount() const { return parser->spreadSheets.size(); } Origin::SpreadSheet &OriginFile::spread(vector::size_type s) const { return parser->spreadSheets[s]; } vector::size_type OriginFile::matrixCount() const { return parser->matrixes.size(); } Origin::Matrix &OriginFile::matrix(vector::size_type m) const { return parser->matrixes[m]; } vector::size_type OriginFile::functionCount() const { return parser->functions.size(); } vector::difference_type OriginFile::functionIndex(const string &name) const { return parser->findFunctionByName(name); } Origin::Function &OriginFile::function(vector::size_type f) const { return parser->functions[f]; } vector::size_type OriginFile::graphCount() const { return parser->graphs.size(); } Origin::Graph &OriginFile::graph(vector::size_type g) const { return parser->graphs[g]; } vector::size_type OriginFile::noteCount() const { return parser->notes.size(); } Origin::Note &OriginFile::note(vector::size_type n) const { return parser->notes[n]; } vector::size_type OriginFile::excelCount() const { return parser->excels.size(); } Origin::Excel &OriginFile::excel(vector::size_type e) const { return parser->excels[e]; } string OriginFile::resultsLogString() const { return parser->resultsLog; } string liboriginVersionString() { return LIBORIGIN_VERSION_STRING; } unsigned int liboriginVersion() { return LIBORIGIN_VERSION; } unsigned int liboriginVersionMajor() { return LIBORIGIN_VERSION_MAJOR; } unsigned int liboriginVersionMinor() { return LIBORIGIN_VERSION_MINOR; } unsigned int liboriginVersionPatch() { return LIBORIGIN_VERSION_PATCH; } liborigin-3.0.4/PaxHeaders/OriginFile.h0000644000000000000000000000012715205070455014761 xustar0030 mtime=1779724589.804867805 29 atime=1783606986.62955701 28 ctime=1783607690.1695244 liborigin-3.0.4/OriginFile.h0000644000175000001440000000532115205070455016422 0ustar00dozentusers00000000000000/* File : OriginFile.h Description : Origin file import class -------------------------------------------------------------------- SPDX-FileCopyrightText: 2005-2007 Stefan Gerlach SPDX-FileCopyrightText: 2007-2008 Alex Kargovsky SPDX-FileCopyrightText: 2007-2008 Ion Vasilief SPDX-License-Identifier: GPL-2.0-or-later */ #ifndef ORIGIN_FILE_H #define ORIGIN_FILE_H #include "OriginObj.h" #include "OriginParser.h" #include class ORIGIN_EXPORT OriginFile { public: explicit OriginFile(const std::string &fileName); bool parse(); //!< parse Origin file double version() const; //!< get version of Origin file std::vector::size_type datasetCount() const; //!< get number of datasets Origin::SpreadColumn & dataset(std::vector::size_type ds) const; //!< get dataset ds std::vector::size_type spreadCount() const; //!< get number of spreadsheets Origin::SpreadSheet & spread(std::vector::size_type s) const; //!< get spreadsheet s std::vector::size_type matrixCount() const; //!< get number of matrices Origin::Matrix &matrix(std::vector::size_type m) const; //!< get matrix m std::vector::size_type functionCount() const; //!< get number of functions std::vector::difference_type functionIndex(const std::string &name) const; //!< get index (or -1) of function named name Origin::Function & function(std::vector::size_type f) const; //!< get function f std::vector::size_type graphCount() const; //!< get number of graphs Origin::Graph &graph(std::vector::size_type g) const; //!< get graph g std::vector::size_type noteCount() const; //!< get number of notes Origin::Note ¬e(std::vector::size_type n) const; //!< get note n std::vector::size_type excelCount() const; //!< get number of excels Origin::Excel &excel(std::vector::size_type e) const; //!< get excel e const tree *project() const; //!< get project tree std::string resultsLogString() const; //!< get Results Log private: unsigned int fileVersion, buildVersion, ioError; std::unique_ptr parser; }; std::string ORIGIN_EXPORT liboriginVersionString(); unsigned int ORIGIN_EXPORT liboriginVersion(); unsigned int ORIGIN_EXPORT liboriginVersionMajor(); unsigned int ORIGIN_EXPORT liboriginVersionMinor(); unsigned int ORIGIN_EXPORT liboriginVersionBugfix(); #endif // ORIGIN_FILE_H liborigin-3.0.4/PaxHeaders/OriginParser.cpp0000644000000000000000000000013015205070455015663 xustar0030 mtime=1779724589.804867805 30 atime=1783606986.621556993 28 ctime=1783607690.1695244 liborigin-3.0.4/OriginParser.cpp0000644000175000001440000002043615205070455017336 0ustar00dozentusers00000000000000/* File : OriginParser.cpp Description : Origin file parser base class -------------------------------------------------------------------- SPDX-FileCopyrightText: 2008 Alex Kargovsky SPDX-FileCopyrightText: 2017 Stefan Gerlach SPDX-License-Identifier: GPL-2.0-or-later */ #include "OriginParser.h" #include #include using namespace std; using namespace Origin; bool OriginParser::iequals(const string &s1, const string &s2, const std::locale &loc) const { bool equal = s1.size() == s2.size(); for (unsigned int n = 0; n < s1.size() && equal; ++n) { if (std::toupper(s1[n], loc) != std::toupper(s2[n], loc)) equal = false; } return equal; } vector::difference_type OriginParser::findSpreadByName(const string &name) const { for (vector::const_iterator it = spreadSheets.begin(); it != spreadSheets.end(); ++it) { if (iequals(it->name, name, locale())) return it - spreadSheets.begin(); } return -1; } vector::difference_type OriginParser::findExcelByName(const string &name) const { for (vector::const_iterator it = excels.begin(); it != excels.end(); ++it) { if (iequals(it->name, name, locale())) return it - excels.begin(); } return -1; } vector::difference_type OriginParser::findSpreadColumnByName(vector::size_type spread, const string &name) const { for (vector::const_iterator it = spreadSheets[spread].columns.begin(); it != spreadSheets[spread].columns.end(); ++it) { if (it->name == name) return it - spreadSheets[spread].columns.begin(); } return -1; } vector::difference_type OriginParser::findExcelColumnByName(vector::size_type excel, vector::size_type sheet, const string &name) const { for (vector::const_iterator it = excels[excel].sheets[sheet].columns.begin(); it != excels[excel].sheets[sheet].columns.end(); ++it) { if (it->name == name) return it - excels[excel].sheets[sheet].columns.begin(); } return -1; } vector::difference_type OriginParser::findMatrixByName(const string &name) const { for (vector::const_iterator it = matrixes.begin(); it != matrixes.end(); ++it) { if (iequals(it->name, name, locale())) return it - matrixes.begin(); } return -1; } vector::difference_type OriginParser::findFunctionByName(const string &name) const { for (vector::const_iterator it = functions.begin(); it != functions.end(); ++it) { if (iequals(it->name, name, locale())) return it - functions.begin(); } return -1; } pair OriginParser::findDataByIndex(unsigned int index) const { for (vector::const_iterator it = spreadSheets.begin(); it != spreadSheets.end(); ++it) { for (vector::const_iterator it1 = it->columns.begin(); it1 != it->columns.end(); ++it1) { if (it1->index == index) return make_pair("T_" + it->name, it1->name); } } for (vector::const_iterator it = matrixes.begin(); it != matrixes.end(); ++it) { for (vector::const_iterator it1 = it->sheets.begin(); it1 != it->sheets.end(); ++it1) { if (it1->index == index) return make_pair("M_" + it->name, it1->name); } } for (vector::const_iterator it = excels.begin(); it != excels.end(); ++it) { for (vector::const_iterator it1 = it->sheets.begin(); it1 != it->sheets.end(); ++it1) { for (vector::const_iterator it2 = it1->columns.begin(); it2 != it1->columns.end(); ++it2) { if (it2->index == index) { int sheetno = (int)(it1 - it->sheets.begin()) + 1; string sheetsuffix = string("@") + std::to_string(sheetno); if (sheetno > 1) return make_pair("E_" + it->name + sheetsuffix, it2->name); else return make_pair("E_" + it->name, it2->name); } } } } for (vector::const_iterator it = functions.begin(); it != functions.end(); ++it) { if (it->index == index) return make_pair("F_" + it->name, it->name); } return pair(); } pair OriginParser::findObjectByIndex(unsigned int index) const { for (vector::const_iterator it = spreadSheets.begin(); it != spreadSheets.end(); ++it) { if (it->objectID == (int)index) return make_pair(ProjectNode::SpreadSheet, it->name); } for (vector::const_iterator it = matrixes.begin(); it != matrixes.end(); ++it) { if (it->objectID == (int)index) return make_pair(ProjectNode::Matrix, it->name); } for (vector::const_iterator it = excels.begin(); it != excels.end(); ++it) { if (it->objectID == (int)index) return make_pair(ProjectNode::Excel, it->name); } for (vector::const_iterator it = graphs.begin(); it != graphs.end(); ++it) { if (it->objectID == (int)index) { if (it->is3D) return make_pair(ProjectNode::Graph3D, it->name); else return make_pair(ProjectNode::Graph, it->name); } } return pair(); } pair OriginParser::findWindowObjectByIndex(unsigned int index) const { for (vector::const_iterator it = spreadSheets.begin(); it != spreadSheets.end(); ++it) { if (it->objectID == (int)index) return make_pair(ProjectNode::SpreadSheet, (Origin::Window)(*it)); } for (vector::const_iterator it = matrixes.begin(); it != matrixes.end(); ++it) { if (it->objectID == (int)index) return make_pair(ProjectNode::Matrix, (Origin::Window)(*it)); } for (vector::const_iterator it = excels.begin(); it != excels.end(); ++it) { if (it->objectID == (int)index) return make_pair(ProjectNode::Excel, (Origin::Window)(*it)); } for (vector::const_iterator it = graphs.begin(); it != graphs.end(); ++it) { if (it->objectID == (int)index) { if (it->is3D) return make_pair(ProjectNode::Graph3D, (Origin::Window)(*it)); else return make_pair(ProjectNode::Graph, (Origin::Window)(*it)); } } return pair(); } void OriginParser::convertSpreadToExcel(vector::size_type spread) { // add new Excel sheet excels.push_back(Excel(spreadSheets[spread].name, spreadSheets[spread].label, spreadSheets[spread].maxRows, spreadSheets[spread].hidden, spreadSheets[spread].loose)); for (vector::iterator it = spreadSheets[spread].columns.begin(); it != spreadSheets[spread].columns.end(); ++it) { unsigned int index = 0; int pos = (int)(it->name.find_last_of("@")); if (pos != -1) { index = strtol(it->name.substr(pos + 1).c_str(), nullptr, 10) - 1; it->name = it->name.substr(0, pos); } if (excels.back().sheets.size() <= index) excels.back().sheets.resize(index + 1); excels.back().sheets[index].columns.push_back(*it); } spreadSheets.erase(spreadSheets.begin() + spread); } int OriginParser::findColumnByName(int spread, const string &name) { size_t columns = spreadSheets[spread].columns.size(); for (unsigned int i = 0; i < columns; i++) { string colName = spreadSheets[spread].columns[i].name; if (colName.size() >= 11) colName.resize(11); if (name == colName) return i; } return -1; } liborigin-3.0.4/PaxHeaders/OriginParser.h0000644000000000000000000000013015205070455015330 xustar0030 mtime=1779724589.804867805 30 atime=1783606986.669557094 28 ctime=1783607690.1695244 liborigin-3.0.4/OriginParser.h0000644000175000001440000000572615205070455017010 0ustar00dozentusers00000000000000/* File : OriginParser.h Description : Origin file parser base class -------------------------------------------------------------------- SPDX-FileCopyrightText: 2008 Alex Kargovsky SPDX-FileCopyrightText: 2017-2024 Stefan Gerlach SPDX-License-Identifier: GPL-2.0-or-later */ #ifndef ORIGIN_PARSER_H #define ORIGIN_PARSER_H #include "OriginObj.h" #include "tree.hh" #ifdef GENERATE_CODE_FOR_LOG # define LOG_PRINT(logfile, ...) \ { \ fprintf(logfile, __VA_ARGS__); \ } #else // !GENERATE_CODE_FOR_LOG # define LOG_PRINT(logfile, ...) {}; #endif class ORIGIN_EXPORT OriginParser { public: virtual ~OriginParser() = default; virtual bool parse() = 0; std::vector::difference_type findSpreadByName(const std::string &name) const; std::vector::difference_type findMatrixByName(const std::string &name) const; std::vector::difference_type findFunctionByName(const std::string &name) const; std::vector::difference_type findExcelByName(const std::string &name) const; protected: std::vector::difference_type findSpreadColumnByName(std::vector::size_type spread, const std::string &name) const; std::vector::difference_type findExcelColumnByName(std::vector::size_type excel, std::vector::size_type sheet, const std::string &name) const; std::pair findDataByIndex(unsigned int index) const; std::pair findObjectByIndex(unsigned int index) const; std::pair findWindowObjectByIndex(unsigned int index) const; void convertSpreadToExcel(std::vector::size_type spread); int findColumnByName(int spread, const std::string &name); private: bool iequals(const std::string &, const std::string &, const std::locale & = std::locale()) const; public: std::vector datasets; std::vector spreadSheets; std::vector matrixes; std::vector excels; std::vector functions; std::vector graphs; std::vector notes; tree projectTree; std::string resultsLog; unsigned int windowsCount{ 0 }; unsigned int fileVersion{ 0 }, buildVersion{ 0 }; }; OriginParser *createOriginAnyParser(const std::string &fileName); #endif // ORIGIN_PARSER_H liborigin-3.0.4/PaxHeaders/_clang-format0000644000000000000000000000013015205070455015207 xustar0030 mtime=1779724589.804867805 30 atime=1783606971.993526111 28 ctime=1783607690.1695244 liborigin-3.0.4/_clang-format0000644000175000001440000000605615205070455016664 0ustar00dozentusers00000000000000# Copyright (C) 2016 Olivier Goffart # # You may use this file under the terms of the 3-clause BSD license. # See the file LICENSE from this package for details. # This is the clang-format configuration style to be used by Qt, # based on the rules from https://wiki.qt.io/Qt_Coding_Style and # https://wiki.qt.io/Coding_Conventions --- # Webkit style was loosely based on the Qt style BasedOnStyle: WebKit Standard: Cpp11 # Column width is limited to 100 in accordance with Qt Coding Style. # https://wiki.qt.io/Qt_Coding_Style # Note that this may be changed at some point in the future. ColumnLimit: 100 # How much weight do extra characters after the line length limit have. # PenaltyExcessCharacter: 4 # Disable reflow of qdoc comments: indentation rules are different. # Translation comments are also excluded. CommentPragmas: "^!|^:" # We want a space between the type and the star for pointer types. PointerBindsToType: false # We use template< without space. SpaceAfterTemplateKeyword: false # We want to break before the operators, but not before a '='. BreakBeforeBinaryOperators: NonAssignment # Braces are usually attached, but not after functions or class declarations. BreakBeforeBraces: Custom BraceWrapping: AfterClass: true AfterControlStatement: false AfterEnum: false AfterFunction: true AfterNamespace: false AfterObjCDeclaration: false AfterStruct: true AfterUnion: false BeforeCatch: false BeforeElse: false IndentBraces: false # When constructor initializers do not fit on one line, put them each on a new line. ConstructorInitializerAllOnOneLineOrOnePerLine: true # Indent initializers by 4 spaces ConstructorInitializerIndentWidth: 4 # Indent width for line continuations. ContinuationIndentWidth: 8 # No indentation for namespaces. NamespaceIndentation: None # Allow indentation for preprocessing directives (if/ifdef/endif). https://reviews.llvm.org/rL312125 IndentPPDirectives: AfterHash # Horizontally align arguments after an open bracket. # The coding style does not specify the following, but this is what gives # results closest to the existing code. AlignAfterOpenBracket: true AlwaysBreakTemplateDeclarations: true # Ideally we should also allow less short function in a single line, but # clang-format does not handle that. AllowShortFunctionsOnASingleLine: Inline # The coding style specifies some include order categories, but also tells to # separate categories with an empty line. It does not specify the order within # the categories. Since the SortInclude feature of clang-format does not # re-order includes separated by empty lines, the feature is not used. SortIncludes: false # macros for which the opening brace stays attached. ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH, forever, Q_FOREVER, QBENCHMARK, QBENCHMARK_ONCE ] # Break constructor initializers before the colon and after the commas. BreakConstructorInitializers: BeforeColon # Avoids the addition of a space between an identifier and the # initializer list in list-initialization. SpaceBeforeCpp11BracedList: false liborigin-3.0.4/PaxHeaders/clang-format.sh0000644000000000000000000000013015205070455015461 xustar0030 mtime=1779724589.804867805 30 atime=1783606977.673538102 28 ctime=1783607690.1695244 liborigin-3.0.4/clang-format.sh0000755000175000001440000000013515205070455017131 0ustar00dozentusers00000000000000# using https://code.qt.io/cgit/qt/qt5.git/tree/_clang-format clang-format -i *.cpp *.h *.hh liborigin-3.0.4/PaxHeaders/config.h.in0000644000000000000000000000013015205070455014576 xustar0030 mtime=1779724589.804867805 30 atime=1783607029.569647666 28 ctime=1783607690.1695244 liborigin-3.0.4/config.h.in0000644000175000001440000000435615205070455016254 0ustar00dozentusers00000000000000/*************************************************************************** File : config.h.in -------------------------------------------------------------------- Copyright : (C) 2010 Knut Franke Email (use @ for *) : knut.franke*gmx.de Description : compile-time configuration defines ***************************************************************************/ /*************************************************************************** * * * 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., 51 Franklin Street, Fifth Floor, * * Boston, MA 02110-1301 USA * * * ***************************************************************************/ #ifndef CONFIG_H #define CONFIG_H #define LIBORIGIN_VERSION_MAJOR ${PROJECT_VERSION_MAJOR} #define LIBORIGIN_VERSION_MINOR ${PROJECT_VERSION_MINOR} #define LIBORIGIN_VERSION_PATCH ${PROJECT_VERSION_PATCH} #define LIBORIGIN_VERSION ((LIBORIGIN_VERSION_MAJOR << 24) | \ (LIBORIGIN_VERSION_MINOR << 16) | \ (LIBORIGIN_VERSION_PATCH << 8) ) #define LIBORIGIN_VERSION_STRING "${PROJECT_VERSION}" #endif // ifndef CONFIG_H liborigin-3.0.4/PaxHeaders/doc0000644000000000000000000000013015205072312013235 xustar0030 mtime=1779725514.916272278 30 atime=1783607732.001506912 28 ctime=1783607690.1695244 liborigin-3.0.4/doc/0000755000175000001440000000000015205072312014760 5ustar00dozentusers00000000000000liborigin-3.0.4/doc/PaxHeaders/FORMAT0000644000000000000000000000013015205070455014233 xustar0030 mtime=1779724589.800867807 30 atime=1783607052.801696714 28 ctime=1783607690.1695244 liborigin-3.0.4/doc/FORMAT0000644000175000001440000000347415205070455015711 0ustar00dozentusers00000000000000Origin 7.5 column value display ############################### Numeric, Text&Numeric: Decimal:1000 = 0 Scientific:1E3 = 1 Engineering:1k = 2 Decimal:1,000 = 3 Time: hh:mm = 0 hh = 1 hh:mm:ss = 2 hh:mm:ss.zz = 3 hh ap = 4 hh:mm ap = 5 mm:ss = 6 mm:ss.zz = 7 hhmm = 8 hhmmss = 9 hh:mm:ss.zzz = 10 Date: dd/MM/yyyy = -128 dd/MM/yyyy HH:mm = -119 dd/MM/yyyy HH:mm:ss = -118 dd.MM.yyyy = 0 y. = 1 (year abbreviation - for instance, 'ã.' in russian) MMM d = 2 M/d = 3 d = 4 ddd = 5 F = 6 (first letter of day of week) yyyy = 7 yy = 8 dd.MM.yyyy hh:mm = 9 dd.MM.yyyy hh:mm:ss = 10 yyMMdd = 11 yyMMdd hh:mm = 12 yyMMdd hh:mm:ss = 13 yyMMdd hhmm = 14 yyMMdd hhmmss = 15 MMM = 16 J = 17 (first letter of month) Q1 = 18 (quartal) M-d-yyyy (Custom1) = 19 hh:mm:ss.zzzz (Custom2) = 20 Month: MMM = 0 MMMM = 1 J = 2 (first letter of month) Day of Week: ddd = 0 dddd = 1 F = 2 (first letter of day of week) Fill Area Patterns none = 0 /// = 1 / / = 2 / = 3 \\\ = 4 \ \ = 5 \ = 6 xxx = 7 x x = 8 x = 9 --- = 10 - - = 11 - = 12 ||| = 13 | | = 14 | = 15 +++ = 16 + + = 17 + = 18 liborigin-3.0.4/doc/PaxHeaders/Doxyfile.in0000644000000000000000000000013015205070455015433 xustar0030 mtime=1779724589.804867805 30 atime=1783607029.573647674 28 ctime=1783607690.1695244 liborigin-3.0.4/doc/Doxyfile.in0000644000175000001440000002703215205070455017105 0ustar00dozentusers00000000000000# Doxyfile 1.8.13 #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- DOXYFILE_ENCODING = UTF-8 PROJECT_NAME = liborigin PROJECT_NUMBER = @LIBORIGIN_VERSION_MAJOR@.@LIBORIGIN_VERSION_MINOR@.@LIBORIGIN_VERSION_BUGFIX@ PROJECT_BRIEF = PROJECT_LOGO = OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO ALLOW_UNICODE_NAMES = NO OUTPUT_LANGUAGE = English BRIEF_MEMBER_DESC = YES REPEAT_BRIEF = YES ABBREVIATE_BRIEF = ALWAYS_DETAILED_SEC = NO INLINE_INHERITED_MEMB = NO FULL_PATH_NAMES = YES STRIP_FROM_PATH = STRIP_FROM_INC_PATH = SHORT_NAMES = NO JAVADOC_AUTOBRIEF = NO QT_AUTOBRIEF = NO MULTILINE_CPP_IS_BRIEF = NO INHERIT_DOCS = YES SEPARATE_MEMBER_PAGES = NO TAB_SIZE = 4 ALIASES = TCL_SUBST = OPTIMIZE_OUTPUT_FOR_C = NO OPTIMIZE_OUTPUT_JAVA = NO OPTIMIZE_FOR_FORTRAN = NO OPTIMIZE_OUTPUT_VHDL = NO EXTENSION_MAPPING = MARKDOWN_SUPPORT = YES TOC_INCLUDE_HEADINGS = 0 AUTOLINK_SUPPORT = YES BUILTIN_STL_SUPPORT = NO CPP_CLI_SUPPORT = NO SIP_SUPPORT = NO IDL_PROPERTY_SUPPORT = YES DISTRIBUTE_GROUP_DOC = NO GROUP_NESTED_COMPOUNDS = NO SUBGROUPING = YES INLINE_GROUPED_CLASSES = NO INLINE_SIMPLE_STRUCTS = NO TYPEDEF_HIDES_STRUCT = NO LOOKUP_CACHE_SIZE = 0 #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- EXTRACT_ALL = YES EXTRACT_PRIVATE = YES EXTRACT_PACKAGE = NO EXTRACT_STATIC = YES EXTRACT_LOCAL_CLASSES = YES EXTRACT_LOCAL_METHODS = NO EXTRACT_ANON_NSPACES = NO HIDE_UNDOC_MEMBERS = NO HIDE_UNDOC_CLASSES = NO HIDE_FRIEND_COMPOUNDS = NO HIDE_IN_BODY_DOCS = NO INTERNAL_DOCS = NO CASE_SENSE_NAMES = YES HIDE_SCOPE_NAMES = NO HIDE_COMPOUND_REFERENCE= NO SHOW_INCLUDE_FILES = YES SHOW_GROUPED_MEMB_INC = NO FORCE_LOCAL_INCLUDES = NO INLINE_INFO = YES SORT_MEMBER_DOCS = YES SORT_BRIEF_DOCS = YES SORT_MEMBERS_CTORS_1ST = NO SORT_GROUP_NAMES = NO SORT_BY_SCOPE_NAME = NO STRICT_PROTO_MATCHING = NO GENERATE_TODOLIST = YES GENERATE_TESTLIST = YES GENERATE_BUGLIST = YES GENERATE_DEPRECATEDLIST= YES ENABLED_SECTIONS = MAX_INITIALIZER_LINES = 30 SHOW_USED_FILES = YES SHOW_FILES = YES SHOW_NAMESPACES = YES FILE_VERSION_FILTER = LAYOUT_FILE = CITE_BIB_FILES = #--------------------------------------------------------------------------- # Configuration options related to warning and progress messages #--------------------------------------------------------------------------- QUIET = NO WARNINGS = YES WARN_IF_UNDOCUMENTED = YES WARN_IF_DOC_ERROR = YES WARN_NO_PARAMDOC = NO WARN_AS_ERROR = NO WARN_FORMAT = "$file:$line: $text" WARN_LOGFILE = #--------------------------------------------------------------------------- # Configuration options related to the input files #--------------------------------------------------------------------------- INPUT = @CMAKE_CURRENT_SOURCE_DIR@ INPUT_ENCODING = UTF-8 FILE_PATTERNS = *.c \ *.cc \ *.cxx \ *.cpp \ *.c++ \ *.dox \ *.h \ *.hh \ *.hxx \ *.hpp \ *.h++ \ *.txt \ *.CC \ *.C++ \ *.HH \ *.H++ \ *.C \ *.H RECURSIVE = yes EXCLUDE = CMakeFiles EXCLUDE_SYMLINKS = NO EXCLUDE_PATTERNS = *moc_* */tree.hh */endianfstream.hh EXCLUDE_SYMBOLS = EXAMPLE_PATH = .. EXAMPLE_PATTERNS = EXAMPLE_RECURSIVE = NO IMAGE_PATH = @CMAKE_CURRENT_SOURCE_DIR@ INPUT_FILTER = FILTER_PATTERNS = FILTER_SOURCE_FILES = NO FILTER_SOURCE_PATTERNS = USE_MDFILE_AS_MAINPAGE = #--------------------------------------------------------------------------- # Configuration options related to source browsing #--------------------------------------------------------------------------- SOURCE_BROWSER = NO INLINE_SOURCES = NO STRIP_CODE_COMMENTS = YES REFERENCED_BY_RELATION = YES REFERENCES_RELATION = YES REFERENCES_LINK_SOURCE = YES SOURCE_TOOLTIPS = YES USE_HTAGS = NO VERBATIM_HEADERS = YES #--------------------------------------------------------------------------- # Configuration options related to the alphabetical class index #--------------------------------------------------------------------------- ALPHABETICAL_INDEX = YES COLS_IN_ALPHA_INDEX = 5 IGNORE_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the HTML output #--------------------------------------------------------------------------- GENERATE_HTML = YES HTML_OUTPUT = html HTML_FILE_EXTENSION = .html HTML_HEADER = HTML_FOOTER = HTML_STYLESHEET = HTML_EXTRA_STYLESHEET = HTML_EXTRA_FILES = HTML_COLORSTYLE_HUE = 220 HTML_COLORSTYLE_SAT = 100 HTML_COLORSTYLE_GAMMA = 80 HTML_TIMESTAMP = NO HTML_DYNAMIC_SECTIONS = NO HTML_INDEX_NUM_ENTRIES = 100 GENERATE_DOCSET = NO DOCSET_FEEDNAME = "Doxygen generated docs" DOCSET_BUNDLE_ID = org.doxygen.Project DOCSET_PUBLISHER_ID = org.doxygen.Publisher DOCSET_PUBLISHER_NAME = Publisher GENERATE_HTMLHELP = NO CHM_FILE = HHC_LOCATION = GENERATE_CHI = NO CHM_INDEX_ENCODING = BINARY_TOC = NO TOC_EXPAND = NO GENERATE_QHP = NO QCH_FILE = QHP_NAMESPACE = org.doxygen.Project QHP_VIRTUAL_FOLDER = doc QHP_CUST_FILTER_NAME = QHP_CUST_FILTER_ATTRS = QHP_SECT_FILTER_ATTRS = QHG_LOCATION = GENERATE_ECLIPSEHELP = NO ECLIPSE_DOC_ID = org.doxygen.Project DISABLE_INDEX = NO GENERATE_TREEVIEW = NO ENUM_VALUES_PER_LINE = 4 TREEVIEW_WIDTH = 250 EXT_LINKS_IN_WINDOW = NO FORMULA_FONTSIZE = 10 FORMULA_TRANSPARENT = YES USE_MATHJAX = NO MATHJAX_FORMAT = HTML-CSS MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest MATHJAX_EXTENSIONS = MATHJAX_CODEFILE = SEARCHENGINE = NO SERVER_BASED_SEARCH = NO EXTERNAL_SEARCH = NO SEARCHENGINE_URL = SEARCHDATA_FILE = searchdata.xml EXTERNAL_SEARCH_ID = EXTRA_SEARCH_MAPPINGS = #--------------------------------------------------------------------------- # Configuration options related to the LaTeX output #--------------------------------------------------------------------------- GENERATE_LATEX = NO LATEX_OUTPUT = latex LATEX_CMD_NAME = latex MAKEINDEX_CMD_NAME = makeindex COMPACT_LATEX = NO PAPER_TYPE = a4wide EXTRA_PACKAGES = LATEX_HEADER = LATEX_FOOTER = LATEX_EXTRA_STYLESHEET = LATEX_EXTRA_FILES = PDF_HYPERLINKS = NO USE_PDFLATEX = NO LATEX_BATCHMODE = NO LATEX_HIDE_INDICES = NO LATEX_SOURCE_CODE = NO LATEX_BIB_STYLE = plain LATEX_TIMESTAMP = NO #--------------------------------------------------------------------------- # Configuration options related to the RTF output #--------------------------------------------------------------------------- GENERATE_RTF = NO RTF_OUTPUT = rtf COMPACT_RTF = NO RTF_HYPERLINKS = NO RTF_STYLESHEET_FILE = RTF_EXTENSIONS_FILE = RTF_SOURCE_CODE = NO #--------------------------------------------------------------------------- # Configuration options related to the man page output #--------------------------------------------------------------------------- GENERATE_MAN = NO MAN_OUTPUT = man MAN_EXTENSION = .3 MAN_SUBDIR = MAN_LINKS = NO #--------------------------------------------------------------------------- # Configuration options related to the XML output #--------------------------------------------------------------------------- GENERATE_XML = NO XML_OUTPUT = xml XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # Configuration options related to the DOCBOOK output #--------------------------------------------------------------------------- GENERATE_DOCBOOK = NO DOCBOOK_OUTPUT = docbook DOCBOOK_PROGRAMLISTING = NO #--------------------------------------------------------------------------- # Configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- # Configuration options related to the Perl module output #--------------------------------------------------------------------------- GENERATE_PERLMOD = NO PERLMOD_LATEX = NO PERLMOD_PRETTY = YES PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- ENABLE_PREPROCESSING = YES MACRO_EXPANSION = NO EXPAND_ONLY_PREDEF = NO SEARCH_INCLUDES = YES INCLUDE_PATH = INCLUDE_FILE_PATTERNS = PREDEFINED = EXPAND_AS_DEFINED = SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration options related to external references #--------------------------------------------------------------------------- TAGFILES = GENERATE_TAGFILE = ALLEXTERNALS = NO EXTERNAL_GROUPS = YES EXTERNAL_PAGES = YES PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- CLASS_DIAGRAMS = YES MSCGEN_PATH = DIA_PATH = HIDE_UNDOC_RELATIONS = YES HAVE_DOT = NO DOT_NUM_THREADS = 0 DOT_FONTNAME = Helvetica DOT_FONTSIZE = 10 DOT_FONTPATH = CLASS_GRAPH = YES COLLABORATION_GRAPH = YES GROUP_GRAPHS = YES UML_LOOK = NO UML_LIMIT_NUM_FIELDS = 10 TEMPLATE_RELATIONS = NO INCLUDE_GRAPH = YES INCLUDED_BY_GRAPH = YES CALL_GRAPH = NO CALLER_GRAPH = NO GRAPHICAL_HIERARCHY = YES DIRECTORY_GRAPH = YES DOT_IMAGE_FORMAT = png INTERACTIVE_SVG = NO DOT_PATH = DOTFILE_DIRS = MSCFILE_DIRS = DIAFILE_DIRS = PLANTUML_JAR_PATH = PLANTUML_CFG_FILE = PLANTUML_INCLUDE_PATH = DOT_GRAPH_MAX_NODES = 50 MAX_DOT_GRAPH_DEPTH = 1000 DOT_TRANSPARENT = NO DOT_MULTI_TARGETS = NO GENERATE_LEGEND = YES DOT_CLEANUP = YES liborigin-3.0.4/doc/PaxHeaders/html0000644000000000000000000000013015205070455014207 xustar0030 mtime=1779724589.804867805 30 atime=1783607732.001506912 28 ctime=1783607690.1695244 liborigin-3.0.4/doc/html/0000755000175000001440000000000015205070455015732 5ustar00dozentusers00000000000000liborigin-3.0.4/doc/html/PaxHeaders/images0000644000000000000000000000013015205070455015454 xustar0030 mtime=1779724589.804867805 30 atime=1783607732.001506912 28 ctime=1783607690.1695244 liborigin-3.0.4/doc/html/images/0000755000175000001440000000000015205070455017177 5ustar00dozentusers00000000000000liborigin-3.0.4/doc/html/images/PaxHeaders/origin_import.png0000644000000000000000000000013015205070455021120 xustar0030 mtime=1779724589.804867805 30 atime=1783607034.661658416 28 ctime=1783607690.1695244 liborigin-3.0.4/doc/html/images/origin_import.png0000644000175000001440000027167615205070455022611 0ustar00dozentusers00000000000000‰PNG  IHDR]Œ~†sBIT|dˆtEXtSoftwaregnome-screenshotï¿> IDATxœìÝwxSeûðïIÒ4Ý{°W˨LQ‘…"‚‚€ ‚ˆÈOP�WD@D@^dÈRA^²([�½g�RÊì {7Mr~”„¤MÛ´M“´|?×Õ«IΓsîóä4=÷yÆ�GP»U«V׬Y3µnݺÕe2™TéE*•JyðàÁÓÏ�;w@Q@^rÑxݺuß½õÖ[ÝT*4 4�Uƒ&"""""Û%‘H ‘H “ɰ~ýú¿ßyç� ®IÔY·nÝ}ûöí–““�FQ­/Ù0Q¡Ñh V«Ñ¬Y³ÀÀÀÀZÛ¶m;.´mÛö½þùç§ÜÜ\ö‡"""""¢R‘Ëåb»ví† —.]Ѝ[·n=kDDDDDD[DDD„�’’’#•JåÖ†ˆˆˆˆˆ*6•J•#‘ÉdvÖ„ˆˆˆˆˆ*>;;;¹DE޽ """"¢2EQ�X;"""""ª<˜`‘Ù0Á """""³a‚ADDDDDf#³vDD¦Ú³w/¶lß�¨»÷ V«áç냖-Z`ô¨a//|¶í¬¬,¼?ê#5o†ÏÆ�¼Ü)� ‘HPÅß5ªWG¿>½ñB›6„‚ó_?yã?ÿ^^^ؾéwH%O¯ÑŒúø\¼tóæÎÁ mÚ¼oÆ¬ÙØ¶ßÍž…烚ˆ¥¼U_µÚbqÆØç’߉S§ð鄉úÎ`|0ü½"×—£T¢c×nhÒ¸Vþ¸ÄhýÏ]_¯×{b̨ ćĤ$Ô¬QNŽŽÅnÍoëpêÌiDFÞ�ŸŸš4j„áÃÞ…¿ŸàçÕ¿âçÕ¿êÞãìì ?_tëÚ}{÷‚<ßqœ�˜ˆžoöEÛÖ­1ÿ¿ß¹}""[Á "ª6mÙŠéßÌÆ�›·P£Z54}® ”Ê\ý÷ävE϶���ƒè˜ܽwÏàuG¿Ò/µ{ …=N�9ƒñŸ�o¾� Q ¬gïþ€„„\¸pÑ`YH§N€Ž5x]£ÑàÄ©SpP(вe‹Bc1·âêËRqÅZ1h?wýŸúFãÙ¸e+†�…kׯ¹Îääd¼ÿá(¬Z³qq�ñÜsM�““ƒ¿vïÆàaÃqæÜ9ƒòÏ5iŒí_FÕ*Upÿþ,^º ‹~\Z.ûKDdilÁ ¢ aÇŸA*•bݯ«P­jU€(Šxo´µAŸ‡‡;vlÚ…Áë~~~˜5cºîyÄíHLþjþÞ½/´iƒ�NuËrrrðÏ‘£x®Ic\¹z {@ËÏë–¿Òó.Â?GÿÅøqcu­á7n 99!�:Â^.‡½\n4s+®¾ «K²V ù?w}¥�géÊŸp;ò† yǾ ‰DQñ׮ݘóÝ÷˜óßï±võ/ºòƒ @‡ö/â?ÆÛC†bWØ^|úÉÇÅÏDTñ½Ü©ÈåǰXÍš>‡9_Ï€»»; %5“¦~…ó.–:&DT!h4jH$†�®‚ À×ÇG÷ˆˆŒÄÉS§‘ž‘�_h‹I>ƒB‘w’ž™•…e+±ã'�œœŒzõêâÃïãùæÍ‹�AÔ¬YÓ`Ôj5&Lš‚ð›7�žž_¼Ñ³ è_êºÒÊϸÏ>ÇÉÓ§ŸŒÿ ðb»ðÝìYïKHLÄŸïBƒú�xØP]‚ zt—®\ÁŸïÂá|­[Z¾>>ðñöÆÃG��››[ ›Qy©S»6.]¾‚1ŸŽÇ¢yßC|<þ3ÜŠˆ@­|ß¿%Á.RDT!ôèÞ¹¹¹2|æ~?×Ãà ”™ñÍ,ü¼úW¸ººbØ�!èÖ%nnn%ÚN³çžƒB¡@ä�(ƒ×ÃöíƒT*ÅK/¼€àWÚ#-=]wò©Ò1/!9¤w"yìÄIÈåvx¡­á¸ ­+W¯âÛïæ!33Cߌ×{ö€ àæêZ¢¸ó3¥¾ô©Õj|2þ3?yAÍ›!4$/]Fl\œA¹}ÂÑÑ];wBLl,æ/ZŒËW® ýË/ÁÏ×ûÄ®=aòZL&O�†Í[·!0 ýûõŽû0zì§¿q³Ø^ 튤¤$ƒ2R©®..èÕóuügì'ððpÇ�ËWàè±ceª/cÞìõº®•ªO¯7ðé'£wÏžÊÝ‰Š‚(Šxñ…Œ¶>t sÇàõœœÜ»›·mǽû÷P�ÉÑ3æØ¡?–6ÿ¿ß¢zµª¸yc>�1ŸŽÇ­ˆTñ÷Ǽ¹sJ½^¶`Q…0 __xyybÙŠŸ°}çŸØ¾óO´éE|ôáHÔ¬Q·""pðð?jÖ ‹Ì3¸zŸ£Tš¼‰Dww¤§§ë^ËÈÌÄñ'ѲÅópvvFǰtÅJìÝ/¿ø¢®\ð+íñÝ‚ðÏ‘£ýáH$'§ üÆ ¼Ô®Œn/2* Щc0† y§Èî1Qwïaû¼öÞÐwáêâR lqõ•ßÙsçñ(:Ú·Çì¯óºµ{¡­îʽV“Æ�0gæ×€˜Ø8œ8u ³¿ž�Z5kâôÙ³ødüg¸q뀼îa'OŸFÛÖ­1kÆ4‚€V-Zࣱãðëok1íËÉÅÆÐ¶Mk|:a¢A¹¯¦LÒ=®^­>;/]F›Ö­ ­;}w¢¢ tO8²o�rí_z .]ÆÙsçñJû—ѺeK£ë‹‰‰¸’Ìjx?Ž�GÕ*U_|9Õ Œ£ƒÆ}<Ƥø‰ˆÌÅ×Ç‹ÌÇè±ãp;2ï"ˆ¿ŸÎûUüýK½^&DT!H$„†„ ¸}{8t;þüGþ=†K—¯à«~Æ­ˆÛ€Ž^)Ð5¨$rss‡À€zº×þ9r9J%âã0}f^÷;;;ù÷²²²àð$ypwwGËÏãô™³ˆ¼…›·nAEtxååB·×¦e+8(ذqŽý=º¿ŠýúÂÞÞ¾@Ù˜ØlܲÕàµþ}ûM0Š«/—|ïy hݪ…‰5Ô¨Q'N�BRr2jÕ¬©ë‘––¸ýäŠýK/¶Ó%NAÍ›A¡Pàvdd�õ™CؾýØþÇNܺ}YYYyÛÔK‹ãèà€6­[¾X†q~~¾€èØX£ËÇǪU­ª›<à¹&�QÅßÎÎάW¯´Ùh—8c“ ™“�ÌÎàŽ��ìåÿ• "ªPìííñjhWtëÚ?,^‚�[¶âÄÉS$y'ˆ"ÊvBvüä)h44jØP÷Ú¾äuqÑïæ’››‹�Ÿ0«Ñ98§ÏœÅá#Gp'ê.$‰A+G~Uªøcí¯«ðóª_qàÐ!,ÿégìÛ‹U+–éÆ1h½Ð¦M‰›Ð «¯.!� ÊÉdyÿ˜~¢­-)jDƒ÷êNŠŸüÊß*#�ɤÖgJ ÇNœÄ´™ßà¹&�1vÌGÈÊ̼…‹LŽ(|�·ªDkyªN­Z€CÿüƒQ#Þ×�ËÑ:zì8 ^ݺˆ¸�—ëò.Š6�rrr*etDD…KHLĘqãu÷®nÌÅÝ{÷0æÓñX¼`¼<=Kµ^ŽÁ ¢ áâ¥ËP«Õºç¢("=#àâìŒú��€}Amä>¦8ñ"þ;o> ß›½)))8uæ ÚµmkÐOö¯m[!‘H°wÿ~ƒutx¥=¤R)>Œ“§O£EPP±ã)üýü0yâüýÇvt ÷îáÒå+¥Ú­âê+¿Zµòþ±”u»úêÕ­8qò”.é¸zí:²²³Q·NÝBc¸xùr¡ëþnnn¨[§6ìììp+"IIɨQ½:Zµl'''„†„`Ͼ}ø¿�?Aû—^BFF\]\ðfï^Fׇ/§�ÌÌL<ŠŽÖÝÿ`ÂøOQ§vmÀ�C‡¡V« \möðpGófMqüä)¤¥¥ÃÅ%ï¤ÝÍÕ­[¶Ä‰SOf�êоÈ}û÷Øqü{ü8ªW¯Žììl\¿pw/Ùàt}¦ÔW~Ï5nŒ¦Mš`Ͼ}�Éd¨^½Âöí/¸òhØ Ú´n…�ÇW_ÏD�Úµ±uÇ�H$úÎàBcÛ·v2;T«VUwï-ooÀO«VáÆÍ›8vâ„n™L&ƒ¿¿îÝ€•¿¬Âˆ÷†•)~º1ËVþ„ˆÛ·!ŠÀ�Á1à�w!j4ؾéw( üßÈpíz8þÚµÿ?Ž�õŸ�Û‘wàîÿopcÆ¢,[±ÇNœ„›«+.\ºAн[·2ï ±Ûa~7oÝB`@æÍ�£k­X¼`>�0·""J½^&Ddód2)Þêó&Nœ:�ððЈ"|¼½ñj×®x»ÿ[ºî#“>ÿ uêÔÆî°½øyÕj¸¸ºèfv2&33û„³³3Ü\]Ñ¡}{ ìßO7Å,�×=J"‘à•—_*ðþNÁÁ8á"ýóz¾Ö]÷zçNÁº£ý‹ßgCVΜ;�Ý{÷AÔhàïï�ÏÆ�յȔ†)õ•à» ˜;k&¾[°G�‡³““ÁÀ¥!fÍ˜Ž¥ËWàßã'pìÄIÔÀ¬ÓP¯nÑ1;^n×YÙYº2oöî…[·oãŸ#Gqÿþ¼ü⋺ñ7ðŸ±c1ذi3z¿ñ:¼½¼Ê´¡]BpþâEœé.FDDd v‘"""À—Ó¿†½½ujׯíÈHìÛ‹ú��h[ÈM‰ˆˆŒa‚ADDP«Õ°³“áÔ™3Û·>ÞÞx½ÇkõÁ“'ƒADDDDDfÄËRDDDDDd6L0ˆˆˆˆˆÈl˜`‘Ù0Á """""³a‚ADDDDDf#S«ÕÖŽ�ˆˆˆˆˆ* YVV–µc """"¢JB–––b툈ˆˆˆ¨’�ýý÷NkÇ@DDDDD•„���À;y‘Yp)"""""2&DDDDDd6L0ˆˆˆˆˆÈl˜`‘Ù˜-Áèúª¹VU.l=>¢gí}Öö—ˆˆèYaR‚Ñ1ôÕ?Ú×­ÁX<%‰E¿¬9÷aç_cú7³ ]>ý›Yøs×n›;±JLJÂì¹ß¡Ï€�x­wŒŸøΞ?_êõ•ö³(ÍûËÓ{#G!üæMÝs•J…×ûôƒJ¥Ò½v=ü†8 €íÄm …íë³TDDDdœÌÔ‚÷ì2é5K)˶Ë+îÐ.!øõ·µˆ‰�…¿ŸŸÁ²˜ØX\¾z _|öôxµ[¹l¿´fÏýuëÔÁOK—ÀÞÞ×ÂñvÃïhùüó¥Z_YëךǕ¾Îƒ±wß~4¬_póVÒÒÓq+â65lØ»ÿB:u`;qYS™ºHvµR#Šøßºõx{ÈP¼Þ§æ~?ÙÙÙeÙT‰¨T*,X¼¯÷} ƒ†¾‡þe°< LI[@ #—ËÑóµîزm{�e›·mÇë¯u‡\.7ØVQu5xØpÜðŸ€Nݺ#!!p÷Þ}¼óÞûeŽ®\»†¡ï ‚‡‡ѪE ÌûvŽn¹Z­Æª5ÿCÿwÞEŸ±c矺eC_Å_»vã­Aï S·îº×ô—ïØù'†7úõÇK~ÔµVÿù‡íß�¡#F¢Ûë½ðÑØq¸¥[ž››‹ù ãõ¾oaàÐaرóO³]EéÔÿ9µZý¤ž®B&“áÊÕ«ºz9tä:w(qÜÅ£¹¹¹X¼l9ú ˆ7 ÄâeË‘›› ÀôãâÜù øà£Ñèöú:âì?xÐ,õbª’|uœQÅR.ƒ¼·l݆ —.aÞÜ9Xûë*¨Ô*ü²æå±)£~[¿<Ä/Ë–bÁwsqøŸ#FËi¯8ܳËlWŸ{õì‰}!##C÷ZFFö<„^={(_T]µmÝ .^ü{âìììpüä)À…K—Цu+³Ä\?0?­Z�‡�]¾~ã&\º|óçÎÁÊ¥K N”àøÉSXºpìþÛèû�ü{ ¿û?/ý÷ï?ÀÚ ¿0½þ�ýsfÎÀö�жukÌ[¸H·ìëÖ#6.«–/Å¢ï¿ÃÑãÇK²ëEòóõEÕ*Upæì9À•«×Ð=4—¯^œ>{5ªUƒ¯¯o‰ã.îýmýDEÝŲŠ±|ñBDFÞÁoë70ý¸˜5÷¿üöü±yfLýRWÆRJú=PØqBDDD‹É FIÆ;ü¹k7ÆŽþUüýáâìŒQ#ÞÇ?GŽ–9Ø¢âÑ�iïþóÂÛÛ >ÞÞóšuÛEqssÅ+/½„�?=aÞù×ßèÐþe¸ºº(_T]µiÝ/_?qoözÇNœ\¸x mÍ”`L›< *•c?›€oöÅÌ9suWÄ`wØ^|üÑ(T­Rž;f´ÁûÇü߇ðòò*týÚÏÂÛÛ £G�Dؾý%ŠoÜÇcàïç…B�þ}ûàVD„nÙ¾ƒñ#?€——¼¼¼0úÑ%Zwqºtꈰýyñ^¿qƒÞî�ë7Âaûö#¤SÇRÅ]Ü1º÷@ÞrooÝò}òZ L=.¤R)⑜’‚š5j`ÊÄÏÍT+yŠUÒï�²'DDDdÊ4£0±q±:"ïDOÅ’GUÆxâPÅß_÷¼ZÕªåCaúõé�ñ'¡oï^€m;ÿļo�þ.ª®‚š5ÃK– ;;×®‡cÊĉ8trrr~ã&þg¼YâõððÀ¸�GcF#99ë6nÂ×s¾Å‚ÿÎ<Ž�/²}}|Š\¿þgQµJÄë%/¦ðôðÐ=¶··GNŽR÷œ��Ð 0[wü�Z5kÀÞ^nöØÝÝÝ1ô�Áè3` ^Œ>xøèêÔ®mô=ÅÕ¡þgo½ÖŽ²Ö¿——'¢cbP³ÆÓõ›“››+š6iŒ¥+W"¨y3@PóføqÅ 4oú\\\JµÞâŽQí~ÕªYððÑ#]½™z\à믦BEœ<}s¿Ÿ‡-Ö•*ÞÒ(é÷@QÇ Uå2ã�¯á»ù?àî½ûyWUoÞÄäiÓËcSF…têˆ%Ë—#>>ññ X¼ty¡eÝ\]q÷Þ}³Ç0 __lܲ·lAÿ~} -W\]µmÝ k7üŽÖ-[Zµl�µ~G›Ö­Íë§ŸOÄ™sç�žž�””T¬]¿õtË»u ÁÂ%KƒÄ¤$,X´¸Dë7ø,–-7èVTÖú¯@BB°dùŠR¯«Ðmtìˆó.ây]‚Ñç/\ÔÍUÅ£�ƒƒ±èÇex�ÇññX´t:w Ö-7帘2mnEÜÖ /�dº(%ý(ê8!""¢Š£\Z0z÷z‚D‚©3¾Fl\jת‰!ÿÆ06DÛecðÛ°xér¼÷á(8;;a@¿¾…Þ×a`ÿ·0zÜ8¤§g˜ušÑ&�Cn'M5*´\quÕ¦u+,Zº ­Z<9‘lñ<–­üɬ]] è�u¿oDxø Èår4kÚ“'|¦[Þ¿__dåäà“ÿ|�Fƒ!ƒKöY¾ô øxü�ž‘�N^Áà·è–•µþßø6-]†a|gggô~ãuœ¿p±Äë)ÊË/¶ƒ““š6ihö\¸8;ãÅ^(õ:‹;Fßø6–ÿô3FŽþÐñ•öõfÊqÚ%ß~?>@Í50yâ„RÇ[%ý(ê8!""¢ŠCHHH(ŸADÈK-yˆÈ;w0eÚ ¬ûu•ŶIegéㄈˆˆÊO¹t‘"²¤%Ë–#1) ±qqX²|^~±�µC""""zf•K)"Kò÷óÇ£?F®J…—Û½€áCßµvHDDDDÏ,v‘""""""³a)"""""2&DDDDDd6²‹Í;¥'=»8ƒˆˆˆˆˆÌ†]¤ˆˆˆˆˆÈl˜`‘Ùð>DD•Dll,nß¾�ôôt«lßÙÙðõõµÊö‰ ..wîÜAFF†U¶ïä䄺uëÂÇÇÇ*Û'²L0ˆˆ*�ØØXDFFÂÛÛÕ«W·J ÙÙÙˆˆˆ€(Šðóó³J ôl‹‹‹CTT|}}áàà`•²³³qçÎ`’AÏ,v‘""ªnß¾ ///( «Å P(àíí�Û·o[-z¶Ý¹s>>>VK.€¼¿___DFFZ-"kc‚ADT ¤§§[5¹ÐR(Vë¢E”‘‘aÕäBK¡PX­‹‘-`‚ADDDDDfȈˆˆˆÌ† ™ g‘""z$''#++Ëà5Èdü7@DDæÅ "¢J.99MªTÑülÚ´ÎÚ¡Q%ÄKWDD•\\ÜmôîÝR©öš’pqéŠÕ«×£C‡.%^§««+är¹£$"¢Ê¢Ü ///“Ê%$$”s$†l5®ŠL¿NŸåz›5k6¶ÿµÙip± —IQ„(Š€ " нwPj4ÈP‰°S8á�×B1õË)f�kìØ±¥~ï‚ ÌIå³ûïÕHJʆZ­†(Š!ïó~B"‘`Ð;ÿgµø45¤R€hðzݺÕ0jTܽ„¼2y±‹ÈÛýçyïE;wîFŸ>ƒ-¸–“œœ {{¬?íoI$&&ÂÓÓÓÚaTØú³ÙÙÙ�Édì¾XJ¬¿²1WýY¤öõÿÑ#¼¼¼,~Rj«qUDùëIû¼¼ëOýÚG»]ícKûãï0,X†óÿìFw÷ÔtQ@TåB£Ò‚µ @•“Q�÷\¥Öà~f.Ž©Ýà\£¾ýϰrI0`Ê”)¸ví*•  Ñh V«u�333‘““¥R‰Í›7—K,eaÊK~öII)hþ|OäææB£QA£Ñ ;;™™éˆŠº‹þýßÄÎ?6ÃÉ!�ºXþ¤\Eh4yI­6‰Ð¶bøû»ÁßßýÉëÚòˆ¢úÉï¼�Fcð|îÜ“•6Áˆ}üK—¯Äì¯gT˜“ä«W¯bõêÕ˜>}:­KE«¿9sæ&NœhåHòdddâôÙ³éÔ‘'É¥P꯸ ~Ö¼¨g®ú³™š_½~›MžÌÛZ\~~~ºÇ±±±ÝvQ-Æž›ÚJdŽxòoÓÛ/Œ 22Ó‘š’†øÄh(„'É"²•*Hê\D� ¹™Yx,qD¢oÜÏ¸Ž¬Ì¬b¶PzÙÙÙP©THKKÓ�p€R©�w¥]©TB­V#33IIIåKiyyy™tq ¼yÌ_!1ˆ�ÃG™À¶c€*PæJ%Tj ¢?FøÈQ½zutîŠ}ûþÂþ°ßй«¥OÌE´ iOé·lä-Ÿ´¸å%jˆ¢�úI¢¡Ö½V™]¼|oô{ ;6m´ù“dmrñé§ŸZ=¹ÐªHõkÖ¬Á�!Cl&Ɉ‰�Åú�›ðö[ýlö$¹$ôO¨-qò\ê¯J•*F_�ŽŽ¶p$™£þlªÖmíd^ËVâòóó3H*´Ïó¿^¼¼¼p7êjÖj†{w/yòn©“ûüÛ1ÖšžùbI,çÏQ54�+$¨Ö¾'jUõ׿` µZ ‰ ä�Òi4€F—˜8œÿçÒTjäïÆbN�ŽŽŽh×®]‘å’’’päȃ$ÄÖK"´Ý“,ñ·*dggÎ�é@V6 Ì”JdBD:ñŸ¾• IDAT\€””D@õêÕòö†ýQ×-OÐý ÍÓ22r•ˆ³=9üD\ºt�쎪U=!‘àIËŒ ��*_7¿Ê)77_|9Õ¦¯Ä‡‡‡cÁ‚@XX€¼¿ GGG4hÐÏ=÷œEnc*Býé³µ$C­Vcß�ƒ6}%Þ–ÙzýÙB"Q”²ÖŸÍÕ¸­œÌçg qåO"´É…¥h“‹šµš$ú¿µÿǬýùé'ú Eþd£Ü¨E"`çé ;ÿª‹ìŒ—«EH¤4Ju¹Ÿ¸©TªbÒ¤¤$H$›K0ô[/ŠkÅ(w @J �£Ô@ÌKs!"@*DD‰"ªT©Š/¾˜�F gg¸ºº`ן¿àÕïY,Ô¼‰¼C$ºÄB€˜˜„ý›¥¼ \µƒ³½UÝsàV« >ùêW¼ì�wu„F“ µZ›dä> �w%Þ–O’}}}áááWWW4nÜX÷zjj*8€ 6àƒ>@­Zµ¬Ÿ­×_~¶–dÄÄÆÚôI²­³åú›4i>|™L‰D‰D™L†%K–X;4�²ÔŸÍÔöз{[;£,WIº@Y2¹P ™0öhf±x´ Dþ– c-(žFZ4ʳ%CE¨T*ÄÇÇ;ÓŽ(Šxôè$‚µJQS¾-@ñÇŽ\.GDD„nŒ†­)ªõ€EÆà„ïÞƒ?£Y&S&ÈÁoãáÇP*•ÈÌÌ„‹‹ NŸø«Üâ*Œþàó¼j�žž�°“`W½œíåh\%UÝ”ÈHJCãv~hßb ïù ¿ý¶ o¿ÝÉ` Fy¶´Ù[>IöôôÄĉ1wî\´hÑmÛ¶Õ-ëܹ3ÂÃñhÑ"Œ3†I†‰˜d˜×رc­:¦ÀVëO›Pèÿ–HžÞ=B[o…ý¶”ÒÖŸMÔtþ+‘ÖjÎÍÏÒqùùù!) ’xÀÃ¥ð“ÀØØX‹�ÁÈŸLÔª­M& QŠ’YbB‚A’Q®Ý¤D@£Ö@­QÃßßuêÔ)ö-‚ ààé«5*ˆåÜE (>yMII�F£1ø²³6S[/Ž9†Û¿ˆcGŽ•k«£ï•‹Ð¶Aü¾~^ î«›}ÃÕÕãÿ‡¹ßB©TÂÅÅJ¥‰ȵxâ&>I òêM›`DDÆC)¯…�jÇ@"‘B.Hñ(E„¿¿~®€§GM\¼p�'ÀÍM�FµúÙiÁвå“dOOOL˜0‹-BÓ¦M Æa4lØ#FŒÀO?ý„3fXíÿ«-ן1L2ÌÃÚÉ…–-ÖŸJ¥2H,¤R).\¨[®­·Â~[RiêÏ6j™ôä%@’Ò< žk{¸xX%²üÉÅ´iſǔ2–¢M2Ê} €\�2;)¢££MêÊsÿþ}"ä‚’r¾2¬Ñhtƒºõ_ K(ôg—²Ú¤µ¸“#ýäâÅö/Z"4ggg‚…B___�­Ö_þ‰¦M›bذaX¹r%FމF�YÞRJZ¶UËVd;'̆ÉÅ”¯ŠÇÌé–¹'†¶[”¶åB&È mkpóæÉ¸xÑÍ›'@‘�Ë�h”ä È<ê"1ê* ìœ ³“A•«‚ t7.KWª¡°“ÁÇ»*dQ‘å:;’¶{”\.G»ví°wï^yÿLMM4¬¡°„áÀÁºÇ�:vð4y±ý‹�ÍÌÎÎR©™‘w!ž¿ìßiµªPÿò R~þ r''-ZA1æ#‹Åô”¨w‹§7Ñëø²v�8Šh׆<øø¸ ==))éWxx8A¥JE\\4äòjP©²u ƳւѼYSÌùzF…896&>>Þªwù®(õ§ÿ]hí„BŸŸ¯¯Ítí)Š­Œ¹ÈÏ–ëÏX}5oÞÆ ÃòåËñÑG!00°Èòå­4õg{5ý̳ÍäBËÖ»Eiý¢°ÇåI„¥R‰è»á¨ç®FÓfAprv���j�ééÈÌLGÌ£‡8u±p†Oõº�ËeåÚEJ£Ñèî…a+7ä*‹Ézwüpš6}_ù%¢2áëë QñÆ#,¾ÖPQNŽ‹²gÏøùù¡ZµjßvE©?[I&ò«'ÇZL.J§¨zkÚ´)Þ|óM¬[·Î¤òæV–ú³ÝFÙbrQ™ 3ø­ÿ؉†6qÐO {\žÔˆÐ¨ÕpswGZZbcb���…”äDH%�àáå{{2ž º•ˆb�àæÒ«W/¬]»mÛ¶…££#¢¢¢ –kûë÷=Ö>¶f¢¡½¯‰)ã*ôw[úf�©ßÿ2/8¿ÿRRR V«‘›› •J…œœˆ¢ˆ´´´bï‹RZ´h…-ZYææÍ›X¶ì¯"&&ê”[èPí.ÎÚÕÁû㦢jÕª…¬¥r‘Ëåâä¸0¹¹¹Ø¹s'.\¸€ &X|û©þô“ [iÅ�J¥6rlË*Jý×"±uëÖ•7—²ÖŸm×ú3jæôâËØBrakã/ÛhÁPå*‘š—wb™�…œì¤¤¤ 3#ãIשlxyzÃÓÛŽÎPkTЈ9ÈÊQA¥VA(§ijƒƒƒÛ·o²³³‘™™ùd¦(•Áq¦ûØÀ]È�¨_¿>êׯoðÚãÇ�±èûhíqr¤£‰Ëe,ž=ŸÏ\777+EjAÍ›aöŒŠ1 YßîÝ»ƒÔÔTDFF¢uëÖ˜>Þª'WÙÙÙxüø1¬=ÛêÖ­‹¸¸8«ÿÄÅÅ¡^½zV‹�ÈÚ8‹Q%àëë Qqûöm¤§§[%gggÂ×××*Û'òññDFF"##Ã*1899¡^½zðöö¶Êö‰lïäMDDDDDfÃ.RDDDDDd6L0ˆˆˆˆˆÈldaaa�ÉdJ¥ÒÚñ‘ ’ËåE*• Iáí2™LWWWÔ¯_®®® ‘ˆˆˆˆˆ*ŠÔÔTܼy©©©Ðh4…–“‚À䂈ˆˆˆˆŠ¤m”¡Èr¥RÉ䂈ˆˆˆˆŠåêêZì°Š÷Áðõ*Ûüåq qez?U\Fo´§U^S»æ5…HS ¿m†Là}ûˆˆˆˆˆžeœ¦–ˆè7rôk‡@DD•ˆIMjWA×r¡ÿ˜ˆˆžJMMÅ–í;p-<J¥µkÕB·®]ШAy'òË/²x\%Ù®±dcùâEë°Ö~=K~ým-àÝÁƒÊT&¿´ôtDDÜF£†  P( –eggãZx8êÂÙÉ©QçaŸ&""3ùeÍÿP½ZU|ùÅDÈíìp'* »÷„é k�”—t»ÆÊ3¡ "ª""nãÒ•+¸÷àB»„@ao /¹Ø½wRRR •JѼiÓRo£ÈÃØ¸ iªhÒx "¢gMdd$F�xöO¾¬5lˆF ê–ë_ùW©Tø}óœ=wŽŽèÒ©ÖoÜhÐJðF�8|ä4¢ˆÁoÀ£èhìÝ·r{{ wtëÚº}NŸ;ˆ"Z·l‰7{½™LVp»j56mÙ‚ÓgÎÂÑÑ]:w2iß´ëжph3ñ "ªX5l€{ 99{öîCh—@uÉ…‡‡–i…ŽÁÐv…25‰j”\¦@ˆˆ*ºš5kbÛ;÷øq±eÿÚ½‰‰‰˜:y>7/_*P&%5Ó¿œ‚^={àçU«‘’’‚Y3¦£g÷W±iëV]¹¿÷ìÁ£èhLšð&}>=Ä®=aF·»kÏÄÆÆaê¤/0~ì'8{þ|‰öQ›P,_¼ˆÉQ¤P(Ú%îîîHNNÆ®=aø{O˜.¹èÚ¹S�®S%Uh‚‘?±j”¬K"´‰‡ÚUеf=ë>þÔj5¾ÿa!Æ~6?¯þÉ))FËž:sýú¼ w77¸»¹á­>} ”y½G( ´mÝ9J%z¾öšîùÃGѺr'OŸAÿ~}ááîww èÛ'OŸ6ºÝ“§N£¿¾p×+›ßÈÑc ~ˆˆ¨rQØÛ#´K\]]‘ššŠ´´4¸¹¹™%¹Ê8C›„‚¢ès "z†¹º¸`Ѐþ„þHKKÃî½ûðóêÕÿÉ'ʦ¤¤ÀÛËK÷\ÿ±–“£#èº:é?W©žN'ž]>>Þ…&6ÉFÊæÇ– "¢g€(BóõT*æݦ2išÚ FɸpÝ®»t…õ“äBÊ– ""=...èÙ½;îÞ½gt¹››âtÏõ—Tþu=~w77£eÝó—��/ñö3ý"""ëÐèÖ¶\¸¹¹!%%{öîCvNN™×_d‚¡íuẻî5m’Ô(¢(…(JpÀ7Ñü…‹p=<™YYHOOÇ®°=¨Y³¦Ñ²mZ¶Ä¦-[‘œ’‚ä”lÚ²Õh9S´iÙ¿oÚŒ¤äd$%'ã÷͛ѺUKãe[·ÊÛnr2’““±qó–oÏÙÉ Ñ11¥Ž—ˆˆ¬G¶(të‚n]»èÆdìÙ»ÙÙÙeÚF¡]¤ò'DDT´n¡]±;l/¢îFÁNf‡À€¼÷î£e»w Åï›·`ú7³àèà€Ž: üæÍRm·{·PlÙ¾³¾� hÙ¢º‡†/š·Ý³fÃÁÑ¡!�qýÆ�m¯[×.˜ûýÍÚ¡Q hovgВܝ¼Ö›ž‘�Û‘‘hhôF{7nÞB@½zprr,t{öì�T*-ty¡-Eµ^°eƒˆ¨ì6nÙŠn]B�«RaÓÖmjÞÌÚ!Q%çìäTèMô E™Z.´x'o""+ñòòĬ¹ÿ…J­FP³¦x£Gk‡DDD%T’Ö[X¯%M0dó"¢òÖ98�ƒƒ­‘YÈ$8†‚ˆˆˆˆˆJˤû`™‚ ™� È›jŠˆˆˆˆˆ¨¬d‚  k×®º<==­ÙšÄÄDÝã°°°"Ë:]Ô½{÷påʤ¦¦–hã®®®hÚ´)jÔ¨Q¢÷QÅg4Á¸wï._¾ ///T­ZµD+ÌÎÎÆ¥K—€IÑ3Æè ï+W®ÀËË«ÀíÃM¡P(àåå…Ë—/—98"""""ªXŒ&©©©¥J.´ E‰»VQÅW¢[v¿;b¤îñ¯+—›="""""ªØJtŒ_W.gbADDDDD…â�öˆˆˆˆˆÈl˜`‘Ù0Á """""³a‚ADDDDDfȈˆˆˆÌ† ™M©ïƒ¡}Ìik‰ˆˆˆˆH«D “ """""* »H‘ÙM0\]]‘��]ê•fggÃÕÕµÔï'""""¢ŠÉh‚Ñ´iS$$$”*ÉÈÎÎF||<š5kVæàˆˆˆˆˆ¨b1:£F�€Ë—/#55µD+tuuEPPªW¯^ö興ˆˆˆ¨B)t�w�5t‰‘)8È›ˆˆˆˆˆÌ† ™  """""2&DDDDDd6L0ˆˆˆˆˆÈl˜`‘Ù0Á """""³a‚ADDDDDfȈˆˆˆÌ† ™�ÌÚT‚ X;""""¢REÑ,ëa‚a‚ ”é)éûM-o®reÝ?[f ûV^1˜k½eYOyÛ¦–å±]9�ms­›ÇvÅeíýã±]ºòæ8¶KcEb ûfŽØEŠˆˆˆˆˆÌ† ™  """""2&DDDDDd6L0ˆˆˆˆˆÈl˜`Ø€’ŽÔ7µ¼¹ËUF¶°ï價Ö[–õ”×±mjY[ø|­Åö½| Ö “ˆˆ¬€ •HçÎ�ôÉ'¨³z5.\¸€ ää�W_¸€ ÚµÑ²eKœ={ÖÚ!‘±‹™ÌËË øê+ 8düqT†>ÿü¼z5ÆòI�²)))ðöòÒ=׬åä躮NúÏU*U¡ëòññ.4±I6RVßÝ{÷°uûÜ{ð™™™`pwâüØ2A•Ž(üþ„¯† ¯vm\HN.|ù¡CH>tµ{÷¶\Ld³\\\г{wL˜4Éèr777Ä'$ÀßÏ_†2j×UÅßðøq<ÜÝÜŒ–uÏ_6>Þ`ùÊ_V¡Ç«¯âƒ÷‡ÃA¡@vv6ÆMø¼Ô± ¥81#²í€nmË�—ÀkÇdh~›‚ )!!!o †žü]¦‚‚‚4n V­Z¨]»6¢¢¢,&YÙü…‹Ð­kÔªU µ{@Íš5�–mÓ²%6mÙŠw lÚ²Õh9S´iÙ¿oÚŒwß ø}óf´nÕÒxÙÖ­°iËV y²Ý�›·,ÏQ*¡pPÀ^.Gbb"¶lßQê¸ÀÙÉ Ñ11º„†ÈVéÏ¥sAÀž½ûžüélrW)&DDT¬„|W˜‡Žà|³Hi Q™\<ƒº…vÅî°½ˆº;™ðÞ»CŒ–íÞ-¿oÞ‚éßÌ‚£ƒ:vè€ð›7KµÝîÝB±eûÌúv. e‹èj¼lhÞvgÌš GG„†tÆõ7tËß4·nÅŠŸ�›«+º†tƹ JtëÚs¿Ÿ‡Ì¬,v§"›v-<Üè€îÐ.!º$ãÆÍ[hÞÌ´ij…õë׋]»vÕ½àééY.�Wf‚ °¿1U6l€þÿc†Ž^½z]V«V-ÝãéÓ§cË–-FËi=xøKW¬Ä7Ó§Y;"³ÐÞìÎ%¹!^y­7=#·##Ñ 0Ðè�önܼ…€zõàääXè:ÂÂÂtc–Ø‚ADD%V«V-tèСÀëú3G](Õ_ªü6n ­� IDATÙŠn]B�«RaÓÖmjÞÌÚ!=³œ�œ ½‰žB¡0¹åB‹ •Ø?ü�SÑ>|X÷899™]¥¨P^^ž˜5÷¿P©ÕjÖoôèaí�ˆÌ¦$­¶°^s³Ù#<<Û·oÇöíÛqêÔ)ˆÆ¦ÍÊgÛ¶m˜7o.^¼Q„ñãÇÚŒ_ÒòDD”ÇØÀïÂÊÓ98��Ü žˆ*>›M05jT¢òóçÏǧŸ~jðÚÑ£GqôèQÌŸ?cÇŽ-Sy""2Ää�ˆˆŒ±Ù;y7nÜ_}õ®^½ZlÙÈÈHLœ80sæL$&&"113gÎ|þùç¸sçN©Ë‘il6Á¸zõ*¦M›†Æ�[ö—_~�R©Ä Aƒ0yòdxxxÀÃÓ'OÆ Aƒ T*ñË/¿”º<™Æf»H•ÄÁƒC†œo{È�!X»v-:TêòDDÏš°°0k‡@DDT¥H0n>¹9OóæÍ ,kÖ¬™A™Ò”§òwøðaƒ¤N;óŒþ 5ÁÁÁF§Å$"óÓ¿ÆÖ‹™VŒ„ˆˆl՛͟ÞCÿÂT¥H0RRR¿I v–“äääR—§ò—–°¨¨(ˆ¢hpÃ.ÞÌ�Èz¶]b’ADDOõnVøM÷*E‚a Al¢>‰‰‰ðóó3X¦�FÑÍÍ­ÔåMÁÄ¡rª(-+L„ˆˆˆÈVTŠ£~ýúˆ��ÇÅ‹ ú À¥K—teJ[žž]¶Ú²’_EI„ˆˆˆ¨ò« FÇŽqìØ1¬Y³¦@°fÍ08I,iy"[WQ!"""ªülö>%ñÞ{ïA.—cíÚµøæ›o�””„¤¤$|óÍ7X»v-är9† VêòDDDDDd›M0AÐýõÔ­[sæÌL™2žžžðôôÄ”)SsæÌAݺuK]žˆˆl_óÖmu?UeØK¨(õcŽ8mi_y|’©*E)7nj×®�ï¿ÿ.\aüøñèÝ»w™ËQAú'OŸ4Ë:ÓÓÓ±èÇ¥8xø¤¥§¡q£FxØ0´kÛ¦È÷i·_'?Í[·5Ûþ¥<÷ÁœôãswsC‹çƒðÙ§ãPµJ+FeÜ™sç°èÇe¸~ý:üü|ñÁðáèùZwk‡e”¥Ž³âbÐòðð@ËçƒðŸqcQÅß¿Ìǧ¥ö¯´ß!¦(jláó³6›`”f@jïÞ½K””´<*�â/§ ?¬ûuq=<?­Zm–“2ígŸžžŽ-Ûw`ÒÔ¯°zå +GeèêµkøbÊTLžø9Z·j‰„„,\ò£Í&¶BûÙ&$&bõÿ~Ãä©ÓðËŠeVŽÊtü±>›í"EDDÛÀw‡á�?ÿBŽRY¢÷�Ê“¦ÏÀOÇò¡(Ý»wÇ´É“qýÆM¹×Þÿó/‡À|”¼üüñ°¢‚‘Ÿ\.Þþ°´c#*6ޱoÛw¦"Àw!Øv¶ÐÕÑÁï¿�ðÍ›4ÎOyõL–=ºzMç'Sz`á— pã–ü²¥«×ʶ#e¡û¡k›òÊ]V tiò¾³†�´@ZF&¾p� [{ìÊÌR}†¨ÒÁ B‹àçí…“ï6QÑxðð!#¹Áƒá‡È(”ß¿ß$-.)]ºvÁ±ÜC°²°@Dt #�tr;ÒÒqåÚ5¤$ÄcOV†x?$@ø$Wô4·áßò Ó‹þff8vä0LMMËH§<¼æÏCBòvŒe³‘wô'‰´²òr=t~>ÞˆˆŽŸÿzmü}|ðËÉß¼ ' ¶ûìY Ò331˜ÁòîA!¡˜=sNŸÈ‡½­-ÖoÚÌÈÏÈØX 0ÇórQ[WÇØ·KW®ÂÊRñ›ÙÖöS^=“eO^{�%Ç”*. ÛS0dÐ`¹×ÒÕkeÛ‘E;$tß!tm“®Üéb Kcò�U\R‚äøXü|ø Î+«¦B:�@hlGÙ`[øìÉÜ===ø!0$T®ÜÖï6á�;ÃË×öŽX¿i3øÕÕ€ÿ= èêêÂ}Ætœ;_ÊÈ:¹ÃGŽ`å²¥0éÛ= °8(P¹€@§³¨ä<çÎ�žžæÍ�ƒ¢sª³íìä$þ|üä‰DÚ—žÐÕÕ…‹óx”—¿»éêÔ©~¿{å÷ÿÄï¿�-›60¶'zRk;ÖÙ»÷`Í×+åÊÚ·ÖV–èÚµ+¦O�‚K—¯0ò³¨ø<æÌçSž={–¾>ãëÕå§xÿ}°X,$Ä(ÞÔD4v�@hß�ÝÇ;¢Õÿ¨7òç×±X,¬\¾ +—/ÃÓ§•Hݵ _­Z�„˜hTVUÁÑÕM¨‹¢š¬*( :¹Ç�ŸÀÄÄDÑ�h¡ÓÉçW£§�៯›::ÝÄŸÿý·D‹ÅtÑÖ–²¶-| RRS‘³wžÕÔ`éâ`L�Ìln¢è)í³g5ÈÚ½[~ˆ@Rý¥’ÒR„GlÃeåxõêU“tY~òø|‰W‚ÿLpc,£?E(ZϘ´‡–@ZýdR¯�O4þ¡k›LÊ�.iiLʨ5ó£µ  ‚âP”ð`BEpñ¢ðóáCá4ítèéIˆÙ‹:0Žr>öèôë¼ÿ¾ð³_?åôZ ²ûxû'>1 3¦OÅæ ߢ‹¶6c¹À�PÌ›3ƒ Äßÿ��é»0t°p ø¸±c°-:�~¾àñyˆKLÂw¾•�ïgb‚KW®`Ä矋ÏÑɹ¹¸àû­[¶jºv킌ìùûIèd±ôqýÆ |2t(£ètZYX =#¾Þ^HËÈ„•EÓñåÒb0ýðýùÆ9ŒÅÎô]Œü�GPèøz{aÀGAðü9tuuÖñ¼¶û‚Yƒ·�²xñò%tttP__�¤”ŒmX[Y"=3 ¾^_"=#“±œ×üùY¾,–>F ŽÇ�#q{J“:£n?E(ZϘ´‡–@ZýdR¯�O„¢Ë¿Ò}‡ÐµM&åNƒ´´æ–Q[]ú–t0ŠÃf e„�†�Žš‰K´ðöéµ²O°ÿü(.~þõ—ðu4D�òv…@h&�WRÞ gÈJOUJ§ûôéˆOJÆõ›7Ð¥KWŒøüߨðÍ:€¯·¶ü·)SÑC¯;ü.l"è�Ðe+Pýì™Ø:¹žxñâæyûàÕ«WðþrA� <=á�@ÀèÇžNgp`¾^†q.®øô“bãú¦R¤Å„°õß""*Aþr}`¤ ÀY¿e÷ïã£þfبÀCQyëééáŸC‡`“”8³>Œm- ðÇŠU«áà슞Œå>ýç'ØÈá &>˾ú½zõÂB¯/5ÎOŠÖ3&í¡%�V?™ÔkEãSºïº¶É¤Üéb�–¦®2R7ZÙÙÙ”£££ø„� Ç vD¯Äª£Ežf‹:¢NǃM;:íÛÑœ¶´– k‹oÚ¢Ï한œ4ü]ص®Õ"/Xþ*A�@hÿ¸DÞÆ¤Ït0y˜Žø\~~¾xØyƒAè8ˆÞ`XZʾFÎÛÚ7+L‡ƒ  .<�@ Ú¤ƒA 4¤{wa@ÆzîoŸ²³™>e—Öa¹xHJ~Š: �@ „6 é`4Ñ’¥œ·ã�ÃÂä¯Á­‘Èé°àâÅwGãNÇÀ�3äŠ@ �)¤ƒAÐ88RSS%ÎiÊØ|•w|¤½µu8nß&C®A·KÉꭱZ {Š®ÓVVši+~2AÓci®šŸ²´§¸49ÒÁ ÒjºÎÃ!WÃ+*ð°nÜCÐ<ŠKÎcûÎ�¸qã&ttu`g3 ÁAx¯G¥uŠnÀ»wCÃ{þ|˜�¡*—› ú�nxãß’0±§©7 ŠÐZ7?¾A‹0nìLùÏ{öýˆÓ¿ü‚˜m-j·%bÓ¤FMñ£9´•:è±À ZZZHKIVÈ®&—Q'ù—�A4äÊÞ˜5 X²HL.\N†‡ƒmo‡?ø@®Üý?ÿB@pÌGÙÁËÏ+*ÄiA¡K°ïÀAÀÞ÷cQèÒ&ñI+£Ò 1s®ÌGÙaÒôøéX>£èòŒ®ŒäAWç‡�´@ZF&¾p� [{ìÊÌ’]�àóùðñ„¥±‰IŒßÒµÛa#-K;6¼ýï`ßVê \¼x Ÿ~òO|2t(.]º,>ßÚuPÕ�A㠛͆½½=¦ó/Ú*\>ÈÊ.¹Ëá‡X¹¹ƒK—¢�Ó „fráÒe˜˜˜ü¼½p² ãÝ&""*Dóˆäóÿÿûí7@dt,ú›™áØ‘Ã055ETL,c=ÕÕÕ8ž—‹AŒ¨¸8F2qIÉèÒµ Žå‚•…"¢cÉíHKÇ•k×�’�=Y¨ªªb$wµ´Dæ°&:æAnÞQÄEnƒ®ŽŽ-’ÈËϲòr=t~>ÞˆˆŽV8iñÈÒ©l^@ ïBdåìÆÁùðe°‘…„böÌ8}"ö¶¶X¿i³8mÅ’PddeãÅ‹ÈÈÎÁò%ïžFÓ•Ñ×kÃàïãƒ_Nž@øæM8YPÈȺ>ÐÕÕ…ûŒé8w¾T¾€ÃGŽ`å²¥0éÛ= °8(�±ŸÊê,xÿ}°X,$Ä0ë@Ê*¿3g‹0Ïc.ôôô0×}cå!ŠÝcÎlœ9[¤�šRaÃbäÈ& MªƒÊ@&y Àf³5fE+•0p pÇ’%ÂNEn®ððñNws²–Ù%Þò¿ß~Cð’eXà+«&éZZZê�”M*åP#@ïí6Ÿ_�ž€žàñùŒõˆä X,ð««ÉTVUÁÑÕ €pQQ"d­õøññ›U!OçêuLž8}z÷f¬S^~Š:*]´µ•êÖY:åå5Å%çñòe=nß¹ƒë7nbè�ÁreJJK± ”•ãÕ«WMÒ��¾@âö¬Yùc?¶…oAJj*röîóš,]Œ©“'1–—FKÖù¾J,"«ü¸< {öÛS cP$v:4¥r¹ý”‘Nºül.ZZZ ݤÉËk:·o‡¯÷—àWW#6!±‘òWïYËY�KCakcƒúW¯`m?Z"=yÇN¸Œ�ä;ñí:fK’<á›7ŠÏ•`ùªU ÝÜI˳攑¼:¯È ´< X,TVU¡·±±BóDi·úï½§�Oš^Ï_¸�@€[XIœûbÜ8ꩃª‚ ‘"Ú!*b&o(ÕÞ½*õ™Ð6ÉÊÙ�o7‡ØÈ‰ÎÄ'&�mo‡Ÿr!4x‘Â� �@€Óg~Á–"0ßs.ÀÊÂé™HËÈ„•Å»7¦~€£?ÃóÚZìLßÕD_zfveeÃÖÆºIz?\ºrEâܸ±c°-:ÏžÕ üþ}¬Xµš‘ïn..ø~ëVT¼}"ÏÈ^stöíÓßmX��ßmÁóçÏé¤ËÏæÂbéãú�Œ¯W6¯Ï—^Ÿ_�qcÇbòĉ¸÷Ǹríš\¹/_BGGõõõHÚž"‘vëíSèõakðÛõ¸uç#_‚B—à·7𲾂çÏ¡««ËHN„´ÿ€Ûw~Ç8Wܽ{‹ýÅ2!AAˆMH„ó„ÿà)+¸t×Õ…ƒ³+nݾ�@?ß&éÁ�þ]¶BbØ“¯·^¿þnS¦"pqØvvŒü_àé�¡C†`ž·¦Ìt‡¡¡!#{t«ß0ÑÙÏľÞ^ØøýF~ÒågsYàé Ÿ€ Æ« )›× ÉÛáýå|têÔ ÿ÷ÿ‡…^_2š ¼'Žæ5K�&mÿ ÑQ€ºº:|½& £Æ8`¾ÏBTVV2ÒI'÷úõkÄ&$ÂiÂDŒurÆ®¬lqš²{,È“Ûwà ì1ÎÙEÅçùI]žÑŧlTÖOº|‘独úI�Îa#-d–]›¦ƒ.¯Ù宬Ÿtí½%ʈ.eíi ¤ƒA Ô › \¸€Š¾}±ŽÃ’’ÔíAÍDÆÆbà€8ž—‹Úº:‰4ºa&A!¡˜=sNŸÈ‡½­-ÖoÚÌÌ^t,ú›™áØ‘Ã055ETL¬8-:.ýÍLq‘/Lë ²~Òé¤ó…®~2EšNYåÀ¤MKƒ.¯éì)ë']{o‰2j‰ºÛZ8o»E%ŸüSâ·";;›Ú½{7µ{÷nŠÌÁ h………(((ÿ/ú»á†kl6öd‰ÓöOb"pñ"°p!0|¸ðB‡‚Ç磧�ˆ?™PRZŠðˆmø£¬¯^½b,ÇçWKØãñùâ4.�Þ=,c�"]"9~u5#{àìô·§`Íʯ²' ‹…•Ë—aåòexú´©»vá«U«‘�ʪ*8ººî=£¥¥ÅH'�ÜãÇO`bb¢ß™Âz[6]´µñ²¾ž‘ŸòôÉÊ3ºø”­ƒÊúI‡<_dÕÏæè”UʶiyuI–=eý¤kï-QFt¾´”½Ö‚t0EQ (Jü¿©©i“s ÿ&´s†.\—ÒÒv2||Ôí¡•`éëƒËã¡—‘‘Äüy¬å¬ÇŠ¥¡°µ±Aý«W°¶ÝäšÎ�;ãÍ›7èÔéÝa}ý÷$ì±ôõÅi,*«ªÐÛØX!_ˆury< �tö yÇN¸Œ�ä;ñíº0…lÊÃÈÈþ¾ 1ÖÉÐËÈ{³2¡£ÓM¦Œ´<£“36î…¢¿™©L�ZZZJÝ4)*Ç$>y4Î3ºø”­ƒÍõSZ¾ÈóEVý¤ƒI|ÒP¶M3©Kªô“®½·DÑ¡Šº«NÈ ‚FÐprïºuë°sçN¤¦¦Jœ­.Ôš‚Ãáˆ�‚‚‚&ç ÉR«-‡�@QÂ7#F? ík+K¤gfA  =#“±Ü‹—/¡££ƒúúz$mO‘zM?\ºrEâþ‘�Ï IDATœ•…Ò32!�–‘ +‹w“0mm¬±3-�™9»ŠCî¬lØÚX3²wëÎ\¿qëÃÖà·ë7pëÎ�&z]î20$.^‚@ ŸÏGÒö <0nìl‹ŽÁ³g5(¿+V­n"/-ÏèäÜ\\ðýÖ­¨¨x�‡è¸ø&:Y,}\¿qC¡8”‘cŸ4èòŒ.>eë ²~Š�–/ò|‘U?é`Ÿ4”mÓLê’*ý¤kï-QFt4מº! �Ñ[ÑajjŠ?ü°ÉyuÓî;B‰‰ÂcáBáAh×, ðÇÍ[·ààì ýFOVéVdYº+׬…Ó„‰èml,Uwp ?B—­��  Àí;¿cœ‹+îÞ½‡E�þâ´ ?Ü++ƒƒ³+tºu“xê,�ppvÅ­Û·èçËÈ^DdæyÌAçÎ�á9w"¢¢¥©V÷éÓŸ”Œq.®øÏô™xðð!6|³àëí…ׯÿ†Û”©\¶�]yiyF'·ÀÓC‡ ÁSÝgãÄÑÀíÛêö†  pÍáji ®––ȽF”-kUÖ&ñ) ]]~óæ Â#¶aÔŒ〭‘Q*vyáÒ%xzùÀÜÆn“§ 7ï(€–-?Eyóæ 6o ‡Íè±°=›Ã·âÍ›7š–é¾ý°–³žqÞhú÷FKÔ3M�t0Bûbøp ¦psLÌ&´ D?¸¢ÝÆÿmºz¼{ï>\º|{2wawF:J/\ÀÞ÷7ËÞoׯcå굘ï1§ŽClä6ž9Ó,�-AFV6îü~?ædáÇœ,ܾ}Ù{ö6¹.7ï(Οú5«ÚÜ®ÖÒÁ í“[·ÈÎV·'2~ÂðÇÛU¼*«ª`ïàˆ¿ÿþ€ðieTl,íØðö�ÇËÕÕÕáë5a5Æó}¢²²’‘=.—oÿXÚ±×$}ØH ¤edâ × °°µÇ®Ì,@— ßÀ XÛ�†o`�Ä®Àt~*ë‹,{¦LÃÝ{÷$®}õêØŽN¨âr1l¤ö8{GŒsvEQñ9F¾ÐA÷¤¾ôÂEÌœëóQv˜4}~:–ßD®ñßLíI“£+e¡ÓÉçóáãK;6b“Ç�÷óÏò÷Cß>}`Ò·/‚üýpäèOÍòsûÎTø.Ûκ::øàý÷¾y“\9ºò{ýú5bá4a"Æ:9cW–ôï×”Ô4ÌòðÄóÚZ¹ö~Î?ŽÅA�èmlŒÞÆÆXˆ£?“¸&ÿÄ‘÷ÓOønÃzF{Ñ´D�¸ÿç_�ù(;xùùãaE…„=YmZÙöN÷]×  � ZesÀS§€Ü\`ëVÕ8MP;æ#†£¤ôàÄÉS°·µÅ?þñn½’/^àx^.€˜øñù¸¤dtéÚÇrÁÊÂÑ1ŒìEÆÆbà€8ž—‹Úº:©×—” 9>?>ˆ³ÅÅB¹èXô73ñ#‡ajjЍ˜X Y~*ë‹,{öv¶8UxZâÚ3g‹0à£þèùvß«²òr=t~>ÞˆˆnþÆ~tOê¿^üròÂ7oÂÉ‚B©rмµ¢““WÊ@§3:.ýÍLqìmm±~Óf‰tº6­L{—÷]§é��@P ­¶KzVPQ,]Ú|]µc>rJΗŽŸø/Ç�•H÷œ;zzzð˜3gΉϟøïIøûø@WWî3¦ãÜ[ò(*>�9³¡§§‡ysçH½fÍʯðÁûïƒÅb!!Fxƒ^TrNì˼¹sPtNò†M–ŸÊú"Ëž½í(œ*< ~u5þma…šš9ú¾ppË~éé]]]¸8�Gyù}F¾(K§N�ðûÝ»(¿ÿ'>xÿ}lÙ´¡EíÉ+UëÓ·OŸ&çøüj ¹†¾Ðù HNLmøä•ÎYöþ=lþúë/ä?---žùg‹‹±få ±¬èF°‹¶6^Ö×K�QUl ß‚”ÔTäì݇g55Xº8S'Oj1{òÊAÕ:¹< {ö ,[¦tëÖ �úúúˆ‰ø<: žþÓÑ£Gðø|÷êÕ,= yüø LLLd¦¯^ÇÁä‰ѧwoÆ:»v킺ºÐÑé@Ôáè&N�Úº×þ÷Ö~³û²3Ñ¥Kå€òu¢¤´áÛðGY9^½zÕ$�®MÓ¥ÉBÞw�¦CÞ`„ŽÁ’%‰ßeÇóvŠ‘‘!Xú,DÇŃm;ªÉ�îÛñÍ\úï½'>ßËÈgO�Äå’b\9—KŠÙcéë‹uÊ«-­³¢¯ÿž„\ã'ɲüdOl§óE–½Î�;ÃÚʉÛS`7Ê‘1±ø×gŸ1~º,�Î�;‹WüaÂ�Áƒ¾yòórñýwˆŒm:Þ(.<…¢ÂSMÒéÚ4] ½ä}×i:¤ƒA :³f '~$ÿZ‚Æb>rçåaÌhv“´ôÌ,ìÊʆ�µ•øü¸±c°-:ÏžÕ üþ}¬Xµš‘-k+K±ÎôŒLÆ>ZYX =#�i™°²� /ËOe}¡³gok‹Êª*L™4 Ož>UéP‹~&&¸tåŠü ߺ¿Ý¸�—õõ<]]Ý&×°Xú¸~ã†Â¾H““Wò��N[kìLK‡@ @fÎnÆv\œœŸ€‡xXQ�ØøD¸:�—¸FÑ%W½æÏGLB ÏœÁóÚZÜûã�&õ^ÑòssqÁ÷[·¢¢âx<¢ãâ%Òûöéƒï6¬ÇÆï¶àùóçŒt~1n"ccñøÉ<~òÛbbàä8®Éu_/_Š#GÂÿ~û�±¿ª¬/^¾„ŽŽêëë‘´=¥I:]›–×Þe•Ýw�¦C:¡cao/œø­§§nOJb>b´µµ¥讫 gWܼu ‹üýÅç}½½ðúõßp›2�‹CÀ¶³cdkQ€?nÞºgWè+ðô;80·ïüŽq.®¸{÷úK¤ËòSY_èìÙXYB___ü9vôhÆqÈ#8СËVHÜüÒ­à3iÂpÖo€íìHKÃF§‰Îžžð Rø†Zšœ¼rP&>:�Aþ~¸WVgWètë&±â]¾Ì˜6ÿúìSLsŸƒiîsðùçÿnöбOÿù 6r8HÙ™†Ñã¾À¢Ð¥em-7>:?xz`è�!˜çíƒ)3ÝahhØÄn?øz{aã÷[ù9×}ú›šaÒô™˜4}&ôï�Ù3g4¹ŽÅbaù’P¬ýæ[©C”¤¡Ê:±SÝgãÄÑ…'TÉ‘QàWWcÏ�ûa>|„ºÝ!´QÚúwé`„Ž éd´),lí¡ÝEã¿p”1� ŒŒŒ0qÊ4œ-*VxH� ¢­×µ­)é�Ј:d¨£ÆC·úS[vÔVü$(Ç\÷Y í�AhûеieÛ;Ó•î4òƒ@ ò&£� èÄß¶fO“QE^ˆ& “|•Îá#y5ÆAeyÝÒH³¡¨ÝÖ®¤îµ¤ƒA "v2ÊÊÊP^^‡Ž”Upª�Ü´?¤íïÑVi‰ú—˜„”„8…óH“ÚŠ¢¾·§:Ax"E  ‘3\ŠÃá 55µ‘Hû]QŠ@ ´�Ÿ<Á �š±Z�ÐÈ �@h .¥VèÖá€}ÂÞÁãœ]QT|N|¾®®_¯ è1˜ï³•••Œì½~ý± ‰pš0c�œ±++›‘½ûþ…€à˜�²ƒ—Ÿ?VTHÄ KŽÏçÃÇ?–vlÄ&&IÄGCé…‹˜9׿£ì0iú üt,ŸQ|ÊúÉåòàíK;6¢bãÙäç§,ª¸\øÁÚ~4|ƒ$v¦‹]Ùr§³×¸Î1Ý'¢9ö†�´À›7oÒÙÚm…®NÐ u¢«ƒtÐå];’GRÊXÚ±áåç.—ÇÈ^Pèì;p°÷ÇýXº”±½Žé`‚4H'Cm42!møDYy9Ž:?oDDG‹ÏÇ%%£K×.8–{VˆˆŽadoGZ:®\»†”„xìÉÊ@UU#{A!¡˜=sNŸÈ‡½­-ÖoÚÌH.:.ýÍLq>øåä „oÞ„“…ŒâSÖÏÈØX 0ÇórQÛÈO:äå§,"£cÑßÌ ÇŽ†©©)¢bbÅit±+[îtöè�W?•±§¬ÎÖn+tu‚ÎoyuP¦=š<£kGò¨®®Æñ¼\ úøcDŽë(ÑÙ[±$YÙxñâ2²s°|IˆB6;ÙÙÙTUU•ø (u»@ ZŠFí{ݺu‰#,,L=¾µ�’OþI9o»Õê~|6Â\ê9.—KQE½xù’i=Jœæä6‘zòä)EQUSSC�qrfdÇuÒdêî½{2}�e¯!/^¾¤ÌGÙ1’çìJU_YUGW7Ây1Z ß@=~ü&&& Û+)-ExÄ6üQVŽW¯^1–ãòx0ìÙ`ðö&1l ß‚”ÔTäì݇g55Xº8S'O’Ÿ²~òø|ô40ñ'äå§,øüj {<>_œF»²åNg¯%hm{€êÛŠ²uB^”]žÑµ#yˆt°XàWW3²ÎN_ q{ Ö¬üJ!{ÒÁ :tu�k×€�>îÞ°Ùl2±»ÐÒÒRèæ§—‘öfeBG§›BvŒ�{áÁƒ‡èofª�ÜZÎz¬X [Ô¿zk{f;î°X¨¬ªBocc‰1Þ} CBøæM€âs%X¾j£†²~²ôõÁåñÐËȨ‰Ÿt0ÉÏÎ�;ãÍ›7èÔéÝHm}ý÷$ì±ôõÅit±+[îtö´µµQ__mmmðx<©òŠÖO:{Í¥µÚвu‚IT´Nе#yˆtry< �òÊ(yÇN¸Œ�ä;ñíº0…lv4È �@�GÿþÀ®]€��º=éP°Xú¸~ããëÇ�ƒmÑ1xö¬å÷ïcŪՌäÜ\\ðýÖ­¨¨x�‡è¸xFr/^¾„ŽŽêëë‘´=…±Ÿ¶6ÖØ™–�@€ÌœÝŒc ]‚ßnÜÀËúzž?‡®®n‹úime‰ôÌ,¤gd2–c’ŸýLLpéʉsVHÏÈ„@ @ZF&¬,ÞMÚ¥‹]Ùr§³gúá8úó1<¯­ÅÎô]Rå­ŸtöšKkµeë“:¨h� kGòŰ++¶6ÖŒìݺs×oÜÄú°5øíú ܺs§‰^MZ.XÝ��@ 0ÁÚXº˜KÝnmÒŽ4òƒ@ ”eÿ~ <(*R·'¼›XÚWriO±·v Lì1õ©%Ë¡=”-¡ã@Þ`Bs8{V¸GÆñãÂål;.]Âδ]¸|õ*ttºÁ~Ô(, À{=z(­S  :.§ O£FPƒ¡C†Àkþ|XY˜ÓÊ]--Ð27bÃFZˆõ7GŽÎ7eô7–Õô›P&eÛœ|PUÚS¶d]ßÐ7:?éê§²u—@h¤ƒA Íåî] [7àÀÀÉIÝÞ´*ñ‰É˜ç1×s@QÒ32±*lb"~PZçÎzôîmŒ¬´�覣ƒ7obûÎT¹Œ¶@ãÎFG»ñkÏeÛ\:Z] ´oÈ)�@PÏžÞÞÀùóêö¤UIIŒ‡­�5ÞëÑúg/çÏÃ…‹—îžóqøH^Ö×+¤³äüyúùÂÐк::ñùçHˆŽÔÕÕáë5a5Æó}¢²²’‘N:¹×¯_#6!N&b¬“3vee‹ÓèÖöo ª¸\øÁÚ~4|ƒ$v(¦K££ôÂEÌœëóQv˜4}~:–ßl?[¢lé†ñù|øøÂÒŽ�ØÄ$‰k†�´€“ÛDÄ'%ÃoQ0b“ÄityFg�ËåÁÛ?–vlDÅÆI¤Ýÿó/‡À|”¼üüñ°¢B¡r+—-…Iß¾èi`€ÅA�Jä€j(*9Ϲs §§‡ysç è\ £4::uê„ßïÞEùý?ñÁûïc˦ Íö³%Ê–Ž3g‹0Ïc.ôôô¤®äüvh¢³“?y">¯lžŸƒÇœÙb¹†Ú·ÖV–èÚµ+¦O�‚K—¯0Ò)�†o*ÈÛB[§]ÌÁ())�ƒƒ�Äù»wïâîÝ»ÈÎÎÆ‰'`nþnŒgDDBC%¿ ùåüòË/ˆˆˆÀâÅ‹[Åw� ù¢  @ü¿èo‡#>Çf³aooÌž üô�™)ü»ƒpµ´555HÝ•� ›¿Gld„Dº––€zCÉÕÅb±°rù2¬\¾ OŸV"u×.|µj5b¢QYUGW7¡.Šë•�ÜãÇO`bbÂHOKÃçW£§� §�x|>£4:¶…oAJj*röîóš,]Œ©“™-­Üð&WÖ“pU•-\†={ X¬&é::ÝÄŸÿý·ø¼²yÆãó%äRRZŠðˆmø£¬¯^½b¤� äM¡=Ñ.Þ`,^¼�(,,ijgÏP]]�‚‚Œ1555†{÷î᫯¾|ûí·àr¹àr¹øöÛo+V¬Àü¡–X‚æAQ”ÄajjŠ?ü°Éy1À¢EÃ1òí===,ðôÀ…KÂ9gÎ!dÙrLŸ=ÕÕÕˆ�ŽjÒñ�‡‘‘!ü}âʵ_½ŒŒpöÔI\.)Æ•óçp¹¤¸‰LçÎ�ñæÍ‰strÆÆ½ðàý---É2n!ôõß—Ç œ?ÀÒ×g”&BZìCBøæMÈÏËEÄ÷ß!2–ÙÐ*àݰ›Æ7¿-Q¶t°X¨|;t�éÜ€YžIƒ¥¯/!×�µœõðóñFqá)ž’*/­Z’ÖªŸSÚEãòåË€œœØÙÙAOO=zô€½½=öîÝ+q ìØ±õõõ˜={6V­Z‹‹…U«VaöìÙ¨¯¯ÇŽ;Ô �@Ð<Øl6Ö­['>vî܉ÔÔT‰sl6[Rè§Ÿ:Ä| ¿EÁ¸tù jkëPYU…¸Ä$üó“¡€øÄ$°ííðSî!„/B?†o CBqáâ%ðù|$mOÁÐÁƒãÆŽÁ¶è<{Vƒòû÷±bÕê&òýLLpéŠä°:97|¿u+**�Çã!:.¾‰NK×oÜ`œ/Êbea�ôŒL¤edÂÊ‚Qši±….Áo7nàe}=ÏŸCWW·Ù~¶DÙÒakc��iéÈÌÙÍØO&y& k+K¤gfA  =#S"íÅË—ÐÑÑA}}=’¶§H•—V-‰²õ“ Ã"´í¢ƒÁäÕv¿~ýÄŸ:%|âàááÑä:ѹ†Ã!AaÌÍ…ŒèÚ#sfÍDT\Æ8�Çt÷9àñ«ñÝ·ëY驘èêŠ.ÚÚ étŸ>ñIÉçâŠÿLŸ‰bÃ7ë¾Þ^xýúo¸M™ŠÀÅ!`ÛÙ5‘ôGè²7Otr <=0tÈÌóöÁ”™î044l¢s�§'|‚Zü†,80·ïüŽq.®¸{÷ú3J{wMÓØ'M˜Îú °ã€iiب‚:ÙeK·"R�¿î••ÁÁÙ:ݺ¡S'f·/tyFgoQ€?nÞºgWè7zë±SÝgãÄÑÍ ]t0D+>íÙ³öööRW‘JIy·ÒÃÀ�ÂqÄW¯^m¢ëÚµkׂJè K×¶&meƒ2M÷OÚr,êö]•Àét)jGÝù”¶âgG¥]t0¤½‰!zkÀ{»ž5Œ=�žžÞäzѹ&KNBsiçó1ü-VÉ�¾@ À¦ï·ÀÑÅ Völ|éë‡â’órå¤í× *”�«µn‚”Í3ÊÞ jÒæpñ†“I�פ2R–Ö*[i»©kb½j蛽ƒ#B–-ÇÊ u»%A»è`Œ90}útœ>}555¨©©Aaa!¦M›1âÝ„° @[[™™™Ø°ax<x<6lØ€ÌÌLhkkcþüùj‰…@ ´cÚñÒµù'þ‹ŠG�T¢k g=:u´�8ñÓQøùx#-#C%ºÛ+$ÏÕÐpsÉ–|hÑ\D¾åÜ� †¯×†©Û% ÚEãûï¿‡ŽŽJKKaoo/^EŠÍfãâÅ‹ÐÑÑÁ–-[Ä×÷ïß›7o¬^½000ÀêÕÂ�—6oÞŒþýû«%�ÐΙ>سGÝ^¨”çµµ�؆5+¿’8ïî9‡�äáe}½BúJΟG Ÿ/ ¡«£ƒŸŽ„è(@]]¾^†Qc0ßg!*++餓{ýú5bá4a"Æ:9cWV¶8�ÉÒ�'·ïÀAØ;8bœ³+ŠŠÏ1ò“eóŒÎO&iÒòcØH ™ññù|øøÂÒŽ�ØÄ$ ùÒ 1s®ÌGÙaÒôøéX>£Øéü¼ÿç_�ù(;xùù7yÊ›”²–vlxùùƒËå� t:ébçryðö€¥Q±qŒlôõ“º2bª3%5 ³<<ñ¼¶V®½*.¾�A°¶ ßÀ ‰Ðéò…I �ÿ¡êvÄÄŸ´ŒL|á:¶öØ•™%7�._äédB÷îÝ1mòd\¿q€ü:/Ëž²íOí¢ƒaii‰K—.aÁ‚033ƒ¶¶6´µµaff†/¿ü—/_†E£Ý;CBB°ÿ~ØØØ@WWººº°±±Áþýû¢¦HB»gèP`Ú4…Þb‚Ãáˆ�ùóçcþüùç [Ðizbâ`me‰Ïÿý/‰ó~Þ^8YP€ñn�2Ò7xÐ ü…òû÷›¤Å%%£K×.8–{VˆˆŽa¤“NnGZ:®\»†”„xìÉÊ/öHAQäi¦<¹²òr=t~>ÞˆˆŽnv|Êæ�ŸLÓ¤!+¾è¸xô73Åñ¼\ÔÕÕIÈ|½6 þ>>øåä „oÞ„“Ìê4�ŸA!¡˜=sNŸÈ‡½­-ÖoÚ,![]]�ãy¹ôñLjŠcvÓ/O§¬Ø#cc1pÀÏËEm£Øé «ŸtЕ�s� 7ï(â"·AWGGŠI"£cÑßÌ ÇŽ†©©)¢bb%Òeå ÓZ£1¡¸¤Éñ±øùðAœ-.–›&/_äé”dzg5HÏÌÄà·s‡åÕOYö”m2ÉÎΦªªªÄAq¨Û�ÐÖ:”¢~û�Ñ¥§N�¢ÂÂÂěͦìíí%Î�:uJe®5þ]H>ù'å¼í–ÔkoܼI�ùb<ů®¦(Š¢>aÞäš§OŸRÉ;vR®“&S‹CäÚçr¹ÔÆï¾§Æ»PvcÇQßlÜDñø|Š¢(ÊÉm"õäÉSŠ¢(ª¦¦†ãäÜD^štr®“&SwïÝ£õIšN&H“ûl„9Åår)Š¢¨/_R#­G1ò“Ž–È3eÓèâçìJURE�ï,_Ãü¤Ë&´V;úl„¹Ô£aú_È”•–F—/òt2õÓnì8êö�ß›\׸~ÒÙS´ý9o»E%ŸüSâ·";;›Ú½{7µ{÷nêÍëžA)öî¾Éøí7¹—²Ùl‰…'8(Š’X~[]|³q3‚ð^�´×‰ö¢ÞÈ_®›ÅbaåòeX¹|ž>­Dê®]øjÕj$ÄD£²ª Ž®nB]Åx!:¹Ç�ŸÀÄÄ„‘UÁb±]´µ%†�)_KäYs�—ǃáÛ m Þ^#b[ø¤¤¦"gï><«©ÁÒÅÁ˜:yR³ü()-ExÄ6üQVŽW¯^5IïùvÃ] ü·›ð6W§¬Øy|¾Ø^O)ýÊ¢%ê§<�«×q0yâDôéÝ›±N>¿Z">^£ ‹eåKsPu;äOŠïÛ§�BiòòEžNYˆü|ö¬Y»wcËHŠ‹‘[?eÙSuû# �@P ‡J…iÖädð „oÞ(>W‚å«V)tƒ#ÍϵœõX±4¶66¨õ Öö£%d¸<z�Ëã�¥¯ÏÈŽ<�²`éë‹í5Ž�&õSZ�oŽÎÝ»°lå*\ýõW ûôSF:õõß“ˆ�i~2AíˆÎEÒ˜äKsÚV�zð˜=;Ò„« 2©ŸÒì5·ý5¦]ÌÁ „6ɺu ßׯ«Û¥‘¶ÚŠè3>1 l{;ü”{¡Á‹w.CBqáâ%ðù|$mOÁÐÁƒãÆŽÁ¶è<{Vƒòû÷±bÕê&òýLLpéʉstrn..ø~ëVTT<�ÇCt\|�,–>®ß¸Á,Sš!Ç$>i47ÏèüT6viØÚXcgZ:2svK¤….Áo7nàe}=ÏŸCWWW!ÝÒü|ñò%tttP__�¤í)MdÒ3³ °++¶6ÖŒìÈÓ) k+K±½ô æ›n2©ŸÒê|stöíÓßmX��ßmÁóçÏé´²°@zF&Ò22ae¡ºå][«µ-™/€p‘�„™©)åëgsÛ_cHƒ@ Ô‰h¨T;$+=]]ÑE[[!9÷éÓŸ”Œq.®øÏô™xðð!6|³àëí…ׯÿ†Û”©\¶�]ùà@„.[!±â �ÜO 2ó¼}0e¦; ›è\àé Ÿ€ …×ÄWTŽI|ÒhnžÑù)-MÙÕµ‚üýp¯¬ ήÐéÖMâ‰û¤ ÀY¿¶c°#- \ÎYšŸËCcåšµpš0QêîßÝuuáàìŠ[·o#ÐÏ—‘y:e±(À7oÝ‚ƒ³+ôxºÏ¤~J«óteÄDg?øz{aã÷[š¤I#80·ïüŽq.®¸{÷ú3ŽQ­ÕŽé{a4‡–Ê‘o_¸NÀÙ¢"lZ/l/ÊÖÏæ¶¿ÆheggSŽŽŽâ Œ $½º#¥X·ÐÒb|„|�Ðæ  �@ÐÚñP)¡!FFF˜8eΫt �@ÐÈ*R�  ´“U¥yÌuŸ…¹î³Ôí�@hAÈ �@ÐÈP)hö¤JM¢µbÑÄ~)*Æ‹/ðKQ1ø|¾x){:�t±óù|øøÂÒŽ�ØÄ$Æ10)[EóZž/²�'7l¤Ò22ñ…ëXØÚcWfùõ¬±Ž†GÅÆÁÒŽ oÿðx<šé`‚&øwÜvª««qþQqqŒdï&ÞpÈ ]Zdt,ú›™áØ‘Ã055ETL¬„Þ²òr=t~>ÞˆˆŽVØi4W§4ý²tÆ%%£K×.8–{VˆˆŽ‘k«·±1ø|> NŸÆÐ!ƒqªð4xüj°äꤋ=:.ýÍLqü0|°2¿QSÜçÌíuC_Lü‘£&_'„µÈ2µBQ^……å/Y[ ‘ÎÆ�õ’•æ®ÞÖâõ÷POndd”jY7ndèÊóòô$ýÆ ½ó?T;:8��“£J™e™gJj*Ýz÷ò?+666ÅæU§NúŠZÞÞøûùQÃÕ•C_ÍcÍ›[œ'@Zz:Þ^^ºÆŠ)u(‰¢ò,.–¢˜r]½‡*t¬¸Ï™1¿æ\'„µH†B”WFz1*»´¿Ç™§¥§ëM,vpp çï‡Ä¢Æ¢ÛØØ (ŠÉçÜÝkêÊKMK+÷™�ÕÏ�Úµjq$úkþ—pŒßç Å÷Õ­S›c t 耿ŸÇ¾Õ=P[’'ä? §¤¦èÍA0•¹u/�XL¹ÎPƒËØç¬¸ÏuÁïƒ{Íš&Ç*„µHC!ʳ°°üW³)ò²²²ØüI�?äø4jÈûpëöm6lÚlðZw~ùõW“Ïuð÷gÓ–H²²²øxK$üË÷~ ÆêgHp×ÿDz+¹y3“ /2mæ¬b¯©[§yyyth€»¶äååéæ`X’'@`@G6|¼‰¬¬,"?Ýjr´Ì­{iÄbéuÆ>gÅ}® ~:v(t^öå�40„¢<«¢½®..<ݳ7§Ïœaü˜WuÇ_ eÕÒ3¤ 64xíˆaÃ5.ÔàC—¡sÇ�ãÌÙß îÕ›?þ8Ç„ñ%Ÿ\_ÜŠO%a¬~†¼:òîßϥϳ?é54�;{MÝ:upvvæÉ6mh×ÖOÏbó4V÷бc8—”ÄÓ={SÝÙ[[óC ÕÝÒ{mi,–^gìsVÜçZû}øíôi&TáÅDÅa¥tëÖMw@»�0�š]¶BQHl¬Þ\Œ.]º ( �@õùŸ~ú)ÿ]Ø‘x›�?ÝfßÄæª–#ª¶7n0pÐ`¾úbŸµC±8–²¨Ck?ÙDP”;½"ÎÐß·:ZW×;xð ®Á-=BQÞ=Ћ¡ÑhÐh4„……UºÉÝ¢ò[±œlûlížj[!c)Ou¢<’†BTUt.†¨|jÕªEßgŸãÈÑcª G³F,å©B”G²L­BTUt.†¨|† ú—YûN”&Kc)Ë:Èð(QI†BTÒ‹a”v‚oy_Q§¼ÇWÊû=°v|j”oÊ÷ÁÜrJã¾Xë^«Y®µ?/å‘40„¢¢ø»Ã')ÉÚ‘è|ˆQëá>++‹ù‹Ó­W:ixùÕ1Kø¶Øë¿K(µ_{-­WY=xäåå±`ñ»téJ@—®,x÷=òòòʤ좫{Yÿ*_Mù>TÖ÷ÁÐÿ—,ÛXÝËúó¢f#°¼�!RBQ‘„…¡ù÷¿9?l˜µ#ÑQû!å?áïP·n>ùxÎÕ«óëo¿±vÃF:ø·SµœÊdË'Qœýý>ûôfüg6QÛ¶3øÅ¬™Ö!CˬKz0„¢" B�rÕ‹Q”AƳçó}dÿ½C±©¾ý–ñc^ÅÛÛ—êÕiûä“|°b9wîÜaÆfÓéÿ=ÍðQ£III1)Oc×Ý¿ŸU|H��¾tíѓ͟DéÎYºÇBq×ýwç.‚žîFpÏÞ=vܤ8�Ùð“BÇS·Nê֩äÐñ|±ÿ€®üå«VÓ¾³†‘cÇéí]\y­ýüùxK$Ý{‡àÄæÈüÌÅ?/1nâk´ëÔ™WÆŒåÊÕ«&ÕÝXOWjZ¯Ž¥cP^ª·Kvk?ÿ"ï™1Æb1V€5ëÖÓ¾³†WÆŒ%-Íð®ñ*î¾U‡´´tFŽGûΖ¯ZmRY`ü³kŒ±÷ÁÔ<×mü˜ Æ­Û·M.ïÁ?k©ý}0%Cu/Éþ5E}^ÌÃÔ=\Œ�+�ïŠÚ¤�!„LŒFƒ¦MöîÒ½í:ufÀ ÿbó'Qº¡9cF¾Â×11<Ó§/K—¯àò•+&å÷Ø£�²$b9.^,tnõš�pträÀÞÝtð÷g銕&åiìºõoâÄO?±îƒ÷ÙöÉRSSuç 31gVq×%]¸À»w2fÔH–®XQâú%]¸À#MšèþþÈ#M8_ z÷î]íÛKó¦MYùþf•w,!��Þ_Åþ=»8r졯Mfð‹/÷ÕA‚ygþ“ênìF¬XE“Æ�9ðù|||X¾rU¡:ºgÆ‹ÅX2228´o/�6kÆòÕ¦=ô—gQuˆXµŠæM›rhß^nß¹cRY`ü³kŒ±÷Á”/¦~WZ¿AéÝ€2nÒkÅ–Ÿ––¦Ì[¸Hyú™^Jç®ÁÊÛóæ+é7n(Š¢(=úôU®_OVEQ233•ÿ×£g¡ë}Û¶+tÌØu½ûPþ8wÎhL†ò4…¡ë|Û¶SÒÒÒEQ”»ÙÙŠ_ÇN&ÅiL›v핼¼<Ýßïß¿¯´i×^WÞ_×®)Š¢(]»¦÷ìmry¾mÛ)—._6ZöÝìl¥]§ÎëYCçº>ÓSçÕ¿þRž~¦—^ú¢î™)Š{ÿ¬Ãƒ÷¬`,¦2”gQuxú™^zu7õóVÒÏ®¡sÆòômÛN‰‰‹Szôé«\¹zÕ¤‹+¯4¾¾mÛ|‹)çŠJ_ÔçÅ”rËÓwÅT=—�V>úúO½+¢¢¢”­[·*[·nUd†BT@1 ÿ +7ËÖ:88ðøc�2ï�pÿ{Æéï `cc€’§›—‡‡o¾1•7ߘJrr 7ofúÌY|°r)©©tëÝ'?/EÑå[c×]»v�úõë›”�Z<<<ptpÐBfiýœœ¹sç.Õ«;pçî]œ��uç½<=ðôð ýÆ ³Ê«÷ÐC…Ž%|÷ï.]Æù¤ Ü»wϤ‹sãF†.N/OO½8¡è{f©âêPðžÝÈÈP%Ï¢ê�~ã†^ÝMUŸÝâòœ΀¾}y¨n]ÕÊTûûe?Ã’Ï‹¥Êú»b i`!D”Ô¨$%å704+Gó»jÕ@ÉoDÄ9ÊŽ]»Hüégz÷|†÷W,§�™Cµjy3öÕÑtíÑ€Úµj±ý“H݃´!ÕªU#//[ÛF»®N�Ú\¾|…&�}ŠÌÓÆÆÆìK®3¥~†ø4jÄçÎñD«–œ;wžÆ>>ºóiééÔ®U‹´ôtÜkÖ4«ÞIõ–ç4Kqu(xÏ:šTŽ)÷Å�ŽÚëÊÛ´%ÒäëLùìú>”$Ïz=Ĺï0oábnݺer¾Pv߇’²äû^ÔçŧQC¾Ø€[·o³aÓf³Ë3t®¤ß•²XúVBQÎ)Š¢÷òññ¡Q£F\xøa²izæ ŠRüУÒзOæ,XHPpw^J³¦�0)t<ŸlÚHßÞ½qtp0+ÏAÏ?Ïûk>"¸Woú=ÿ"—¯\aîÛa¼:òîßϥϳ?é54�;º~âø±Lž:MïQc×�6”�?οGŽâÙáíí](ÏÆ1j\¨Ùÿ0›{�)õ3dÈ Ñħ1ýŸ‘þÏ¿HÓ&Mô–¨uuqáéž½ùíôi&Œýgøš¥å½1yoþç-z„ô¥n�:Óª»±•q&ŽÇ™³¿Ü«7üqŽ ãÇÊÓR†b)®Ú{vúÌÆ�yÕ¤rL¹/†L7–ßNŸæéž½q7ã×hS>»†¾ÆÞSòlP¿>¯Ž|…y‹›k~Þeó}0Æ”•¢,ù¾õyy-4”U|HÏ�~4lØÐàµÆÊ3t®4¿+j±‰ŠŠRºuë¦;àiÆØ?‘OÛ}%„e.1† 3~¡,ΧŸ~JÁv$ÞfçO·Ù7±¹jeˆ²ÓÚÏ_öB¨ªWÄúûVg@ëV;xð n(žô`!DEÖº5<ölÝjíH„B@BQñÍŸo¾ií(„B@ª±±±1øBˆR׸1<ý4|ô‘µ#å� �B”5i`¨äÁI˜Ú—B”‰yó`Æ kG!„BHC!*oo:–,±v$B!ª8i`!De!s1„B”ÒÀBˆÊÂÁ!¿�níH„BTaÒÀBˆÊ$,,>FN޵#BQEIC!**%„Ф�!„•Íäɰi¤¤X;!„U�ê Œ«W¯2mÚ4žxâ \]]e/!„°Y¶V!„•¨ÚÀˆŽŽ¦eË–,Z´ˆ“'OrëÖ-ݹV­ZaccÃéÓ§Õ,R!„!#GÂW_ÁùóÖŽD!D£ZãÂ… ôë×�ôôtƒç_|ñEöìÙ£V‘B!Œ‘¹B!¬ÀN­Œ-ZÄÍ›7‹<Ìþó8ÀÔ©SÕ*V!DQ^x!¿‘‘˜­[—8»^gTJ!De§Zcÿþýøûû³`Ážzê)ÜÜÜtç}||€üž!„eD;cß¾eÓß·ºJ !„¨ìTk`\ºt €;vP¯^½Bçµ��+W®¨U¤Bˆâôì™ß‹ñÍ7Щ“EY h-� !„¦Sm†½½=�¿Š”!?ÿü3€¬*%„e-,,ÿ%„B”Õ�5 ÿþ¬_¿^o(Ô™3g àá‡V«H!„¦èÚ23áÛo­‰Bˆ*@µ!R]»vå—_~áÏ?ÿäå—_Ö;÷è£�êþ¬ÑhÔ*R!„©fÌÈŸ�±k—IÉþøc®^½ªV‘B!JBz1„B”ÕÚÍ7¾þúk¾üòKÝñ:иqcž{î9Ù�N!Ê OOxî9žúþ{kG"„¢Qm£=wwwRSSéÙ³§ÞñÇ€;wîP¯^=µŠBQR3fèëË÷O=eíH„BTª50|}}‰ŽŽ.t¼S§N\¼x€Æ�«U¤Bˆ’jØ�_¼¼¨M¸� ³g϶rPB!*2ÕÇ/ÔÀ¨W¯ž®G#66€îÝ»«U¤Bˆ gÛ¹sl?wŽ–/Ö¡( aaaÖ L!D…¥ÚŒ!C†0þ|êׯ�½½=~~~ìÙ³ggg6lØ@HHˆZE !„PÁ/ÀY ¯µBQ)¨Öƒ0}út¦OŸnð܉'Ô,J!„Šæ+€ÝÖD!D…§jC”�ððpk‡ „°@yžÛð-� tµv B!*>>4jÔÈðÿ¯Þ|æÏ·nÀB!J¬,ŸU+E†��ééé´mÛ¶Ð9???àŸaTÍ›7'%%…ÄÄDºu릗þ§Ÿ~Ò¥©l´šû÷ï“‘‘Á¯¿þÊÎ�;Yµj»ví"##ƒÃ‡—›F‚%*jµqçääpæÌ^ýu8@XX={ö´rt•_ÁÏMRRo¼ñ;vì <<œgŸ}ÖÊÑ©O£Ñ ÑhLKÌ÷þýûÌ™3yüñÇÙ°aƒ^ZkÜ×âh?{ÞÞÞªæ[aÉ’µB!Ì¥¤¦¦ê^ÕøñãÀà«U«VJzzº^ú%K–™~É’%f• ¨Y£Â”ٳg›u�¶^ÆüòË/  <üðï}ðecc£ìÚµ«ØtË55/ScV£ŽÙÙÙJçÎ�‹Œ­K—.JNNŽ¢(Š2bĈbë™——§ <¸È4-[¶T222ŠŒ;;;[ùù矕îÝ»+€2dÈÝ9sò6%Ö‚å0 Pš èþŸ`Î}*˜oQqlÛ¶M—¶4î«©¼¹¹¹Ê¹sç”çž{N”‰'š�gQ,ùî–+£G+ÊX; !„¥¬¨ç©‚í…¨¨(eëÖ­E¾TïÁ8zô(Ï>û,uëÖÅÁÁ�ºuëòì³ÏrìØ1µ‹Ò³bÅ 6mÚD@@®®®888мysf̘ÁÑ£Gqww×KÿÚk¯±cÇpqqÁÅÅ…€€vìØÁk¯½Vª±–G>>>…ö éܹ3{öìáÒ¥KäääpéÒ%–.]Š¢(Ì�;W—N)0ôM)bHœ©yÌ£´ë¸téRâââpwwgýúõ$''sýúuÖ­[§RµlÙ2àŸ øtéÙÙÙ\¸p�Ï>ûL·Úкu눌Œ¤~ýúlÛ¶�äädnß¾ÍÑ£GñóóãÔ©SÌ3ðK°öGGGžxâ 8€F£aéÒ¥º4æämJ¬ýðÃÄÄÄ�™™Itt4 6äÒ¥K,\¸ÐìûTСC‡Ø»w/\¼x‘��–/_®KSš÷ÕTÚûoggG“&MØ¿?o¼ñ‹-²8ÏJGz1„B˜J͌իW+¶¶¶a´µµU>üðÃå_^Q z0nݺ¥Š³³³Þñ¯¾úJéÓ§�R·n]ÅÎÎNï=urr2«sò2—¥uôõõUeÆ …Ò¯]»V”6mÚ(Š¢(�=ö˜(ݺuS&Mš¤¬]»V9{ö¬Þ5þþþ  ÄÅÅÊï�?þP¥Y³f…â~ðååå¥;vÌâ¼M‰µ`ù{öìÑ;¾sçNPüq³ïSÁ|<¨—öܹs  Ô¨QCw¬4î«©Šºÿ€òè£�*‘‘‘fçY” ߃¡(Š2x°¢lÙbí(„B”¢¢ž§ÌéÁP­�qâĉB�¾ìí핟~úÉâ2Ê«ÊÐÀ8uê”( 6ÔÛºu«bcccÒP›âÊ17/sYZG'''P’““ ¥¿~ýº^ƒäÈ‘#Š��O¡¸{ôè¡\»vMQE©^½º(ÕªUSªU«¦ØÚÚ*¶¶¶zuwpp(2î+W®(&LPÅÓÓS¹råŠîœ9y›kÁòB˜––¦×ð3ç>Ì÷Î�;zióòò Õ¹4î«© }nÒÒÒ”ØØX% @”µkך�¯!•¢�qꔢ´haí(„B”"5ª ‘Šˆˆ 77×hš{÷î¡V‘BE»víþY‘ ò7ÝR…W_}•Ó§OsçÎEáÖ­[fç¯f^–2TGc´}µÿíØ±#gÏžåÈ‘#,Z´ˆ�âêêÊþýû™8q"ðÏP±û÷ïsÿþ}òòòÈËËÓî•““Sd™=ôôêÕ‹´´4fΜ©;gNަĪ–ïSANNNÓT÷ÕtîÜ™O>ù@7LL-Z@³f°{·µ#BQŽ©ÖÀˆ��À××—={öpíÚ5rrrøë¯¿Ø½{7­ZµÒK'Ê�ÄÄDÝCÔ¿þõ/Ýñ?þø€ мysÝÃâW_}e0í㡆¦¹y©­¨:j÷;1´¡�vsÆ‚{¢ØÙÙѱcG¦N�ÊöíÛILLЭ„Õ²eK¾ýöÛ-Õ¼dÉìììØ¼y3gΜ±(ïâb-(>>^ïïÚïiãÆ�-ºOæ*«ûj‰?ÿü³Tò­°d.†Bˆb¨ÖÀ¸rå ;wî¤OŸ>Ô®]{{{êÔ©CHHˆî×ãK—.©U¤°Ðýû÷IOOçÈ‘#L�:•:póæMºt颷œïÃ? À¢E‹HKKãÆ�lß¾�Q£FÌ·V­Zlß¾�»wïê�37¯’2µŽƒ `Ò¤IlÚ´‰””RRRظq#“'OÖKãççÇúõë9sæŒn§ðÿþ÷¿ºúŽ;€��Ö®]KRRwîÜ!##ƒÄÄDV¬XÁ“O>YlüÍ›7gĈäææêz1ÌÉÛ”X š0a±±±dee£ë9èÓ§�Ù÷É\ey_MqãÆ âããuõñõõU%ßJ£]»ü�÷¶v$B!Ê+µæ`hÇhšHª(ŠræÌƒ“ˆ+*È c¯¾}û‡¿hÑ"ƒi‡jpìú¿ÿýï"çV˜›—¡c¥QÇ»wï*���E^£Ñh”ìììbË5j”.Oí c/SêyùòeÅÙÙY±±±Q¾ûî;³ò65Ví±þýûJWp™ZsîSqõ*ê¨y_MU\~ÎÎÎJ||¼ÙùR)æ`h<¨(ÁÁÖŽB!D)(êßS«ÌÁ¨_¿>�¿¡ÝÞ½{INNæÞ½{$''³gÏÝ¯Æ 4P«Ha!¼½½ñóócܸq9r„]»vZÊwòäÉ,^¼˜fÍšáèèH“&Mgݺuó]¶lcÆŒ¡Q£FØÛÛ—(¯²ª£££#‡bÁ‚øúúâä䄳³3¾¾¾,\¸�àààä/å:vìXZ´h�³³3ÞÞÞtìØ‘?üP·ó3äÏGúꫯ8p õë×ÇÞÞ///ž|òI&Ož¬þSœzõê1aÂEáÍ7ß4+oScÕÚ¼y3/¿ü2¸¸¸Ð·o_âââðôô4û>™«¬ïkqœœœhÚ´)#GŽäÿû�:uR%ßJ%8®]ƒŸ~²v$B!Ê!›¨¨(¥[·nºÚ s½òÊ+&=,¾òÊ+|ôÑG•Q^ÙØØ”Úøïi'K‡……•Iy¢rÓΛ)«ÏoUVé¾»›7áC°i“µ#B¡¢¢žkÓÒÒt>xð ¶¶E÷S¨ÖƒŠ���Ñ4öööL˜0A­"…BXË�!pð`~O†BQ€j ŒÖ­[apJ[[[V®\ÉO<¡V‘B¡G»#wq/¡’×_‡wßµvB!ÊÕ�¿ÒK||<ýû÷§víÚØÙÙQ»vm @|||©­$„ ¤�!„Âãcš,@@@€ÚÙ !JAe›{QÙêS!h¯¿níH„B”ªö`!„¨b¤C!ÄTo`|öÙgôèуZµjaooO­Zµxæ™gرc‡ÚE !„°¶:u [·üU¥„BTl`Ü»w�^x��ràÀRRRÈÍÍ%%%…ýû÷óì³Ï2hÐ rssÕ*R!Dy ½B! PmÆ¢E‹Ø¶m›Ñ4QQQ<ñĺMÄBT¾¾¤;8ðùСœ{ä’’’ðññÑ%Óh4Y!@!„eIµŒõë×›”®´vnE+¸|{{{îÝ»gåEQdÇmQÞµ~ýuؼ™°À×·òí\.„Âdªõ`4jÔ€�;wÒ§Oj×®�½½=uêÔ!$$„]»vé¥eïé§ŸæÞ½{zîwìØAnn.O?ý´#«:JëW\ùuX” 2C!*60ÆŒ@^^žÁóÚãÚt¢ì½ð lݺUwLûgí9!„°Ø�!pð \»fíH„BX‘j ŒI“&1vìX ÀÞ½{INNæÞ½{$''³gÏ Àرc™8q¢ZE 3õë×¢££¹~ý:ׯ_'&&úõëWäu999,\¸�6mÚàââBõêÕiÓ¦ ‹/.4¬êüùóôë×WWW¼½½3f ·oß.2ï-[¶ ÑhpwwÇÑÑ‘¦M›òÆo�‘‘Ql}JsÞ�9uþã�? ÑÕùÕW_åöíÛã{ðXnn.«W¯¦C‡Ô®]gggš7oΠAƒ8~ü¸îš¯0CeåææAÛ¶mquuÅËË‹nݺqøðaÕî“…H/†BTyªÍÁ°µý§­b0ÍÉ“'Y½zu¡ã2´£l¸»»Ó½{wöîÝËgŸ}†¢(Ü¿Ÿ^½zQ³fMƒ×äääL\\œÞñÄÄDùòË/9pàööö¤¦¦Ò¹sgÝ<›[·nñÁpýúõBù*ŠÂ�!CˆŒŒÔ;þǰxñb¾øâ Ž=Š›››Jµ7�9uNII!00�«W¯ùuþðÃINN6©¬Ñ£GZ áìÙ³œ={–¨¨(‹¿÷îÝ£wïÞûì3tõÔ2uEžåË—sðàA\]]‰ˆˆàÏ?ÿ$##ƒ˜˜ºuëfé­Â4¯¿NÇ£G­…B+‘F‚““qqqÄÇÇãääTd�À'Ÿ|ä?t>ooojժň#X²d‰^š={ö°bÅ ‚‚‚puuE£ÑQ(ßµk×ù{£<÷Üsx{{ãììL‡tÝÖÚýÝœ:ïÝ»ЯsPP+V¬0©¬† pôèQÞ}÷]6oÞLNN à›o¾±¸›ÿÞUyÉ’%L˜0� àææFPP°8_!L" !„¨Ò¤�QÅÔ¨Qƒž={’——G^^½zõÂÕÕµÈôgΜ wïÞ…Îi&§OŸòç_ê¥3´±ÖÏ?ÿ @—.]°³³£ZµjT«V [[[ù{£® .˜[=U˜Sgífb�:uÒK÷àß‹²nÝ:|||8xð Ë–-ã•W^¡Y³f<óÌ3‡–™J[csk„(5uêðÇ#�Ðú§Ÿ¬‰B+P­�ñàÐ s^¢lU’Õ£´“Š-™h­}ßïß¿Ïýû÷u ž‚Ÿ‡œœ‹c+-¦ÖÙÔ{Ò±cGΞ=Ë‘#GX´hÄÕÕ•ýû÷Ë‚¢B;Ú±£ôb!D%=UPïÞ½qqqÁÅÅ…^½zMÛ¼ys¾øâ‹Bç´Ãƒ´i7n @||¼^ºØØØB×¶lÙ€o¿ý¶Ü5>Í©³��@¡áLæ o²³³£cÇŽL�:•íÛ·“˜˜ 7A[Û`ÉÍÍ5)ÏG}€Ý»w›‡jºV§Y..pè�µCBQƤ�QU¯^�¬¬,²²²¨^½ºÑ´ƒ ò—!Þ´i)))¤¤¤°qãF&Ož¬—F;|h„ ÄÆÆ’••ELLŒÁ_âÇŽ«»fíÚµ$%%qçÎ222HLLdÅŠ<ù䓪ÕÙæÔY;Œj„ ÄÇÇsëÖ-âãã™0a‚Ieùùù±~ýzΜ9Cvv6ÉÉÉü÷¿ÿàîÝ»ºtµjÕ`ûöízÇ‹2dÈ&OžÌªU«¸|ù2™™™ÄÆÆÒ£G“b¢¤ŽuèÏ[BQuØDEE)W•ñôô´b8“��M™ýÚŽ¢(„™±¤ö×ïâb4”.;;›àààB½Z�†ààà@jj*mÚ´Ñ-S«õì³ÏòÙgŸÊ{âĉ,_¾ÜhLÚô†b3µ^¦/®Ê·ß~ `Ù?@B!*§GÍßÙûïy|B!*>Õ¡¡¡899McooÏøñãÕ*R!Deðúëðî»ÖŽB!„JTk`4kÖŒ5kÖP­Z5ÃÙÚ²råJZ¶l©V‘B!*ƒ®]!3þîéBQ±©º“÷�!C8~ü8¤N�:ØÙÙQ»vmú÷ïO\\£F�R³8!„•ÅŒ0ožµ£B¡Õ&ykµmÛ–íÛ·«�­BˆÊ¬oßüFÆ/¿@‹ÖŽF!D ¨ÚƒQœßÿ�Þ½{—e‘B!* éÅBˆJ¡LYYY¼ùæ›´lÙ’}ûö•E‘B!*šÁƒ!>.^´v$B!J D Œëׯ3nÜ8|||ptt¤~ýú¼ð œ:uJ—æðáÃ<öØc,X°€œœœ,„¢“^ !„¨ð,žƒ‘••E`` gΜÑ»rå Û¶mcÿþýÄÄÄð×_Bnn®*Á !„¨äF�/¯üF†§§µ£Ba‹«W¯Ök\tóæM&MšÄµk× 5.êׯoi‘B!ªm/†ì�!„’ÅC¤>ÿüs£çãââ8}ú´îïLŸ>]ï˜BQÈ”)°bȰZ!„¨�,n`üúë¯têÔ‰„„233¹yó&ÇŽ£cÇŽzi{öìÉ©S§˜?>...%‹X!Då÷æ›0¾µ£Ba‹7nÜ`ݺu´k×WWWjÔ¨AûöíY¿~½.Ýœ9sØ·oM›6-y´B!ª™ì-„–Å íÜ C ‡fÍšéþûŒ¾}ûòÐCáèèHݺuiÛ¶-S¦L!11Q/½�� 666&çoJúˆˆ]ºåË—M{êÔ)Þzë-Ú·o�··7NNN4mÚ”qãÆñçŸy݉'°±±ÁÇǧPlÚ—““µkצ}ûö„††rìØ1“ëĩå<ø²¶�;wˆ››5jÔ 00�]»v™|½%ïÉo¿ýÆ‚ hß¾=¶¶¶ÅÞsÓ_¾|™)S¦ÐºukÜÝÝu1�=šsçΙ\7Q98@h(¼÷žµ#Ba&›¨¨(¥[·nºž&®Ú¡ý‡_Q‹ÎW&666eVÏððpE!,,Ìäk233yþùçÙ¿¿Ñtë`îûW\ú%K–0eÊZµjÀÉ“'Y²d ¯½öšÑü ñðð &&__ßBç"""˜4iC‡åã�?.6/­~ýú±aÃÜÝÝ‹M[”âʱæwaéÒ¥Lž<¹Ès“&M*6KÞC×»æ¤OHHàé§Ÿ&++Ëàù5jðÕW_Ñ®]»"Ë+K–|w«¼´4hÖ RS­‰BTE=צ¥¥éþ|ðàAlm‹î§(ñF{ÅýZ[É­j^zé%öïß�‡‡ï¾û.gÏž%;;›ääd~üñG–-[FëÖ­KT†¢(E>.Z´ˆ)S¦Ð­[7Ž9‘#GfòäÉ,^¼Øà5-[¶ä�wÞ!!!�ääd222øüóÏiܸ1éééE>ÇÆÆTdŒ¹¹¹¤¦¦òÍ7ß0eÊœœœØµk P¥ -çÁ—µœ;wŽéÓ§ùCÓÒÒHKKcΜ9L›6�óçÏ›�%ïI‹-˜={¶ÞÞ8Ƙ“~Ò¤IdeeáïïOll,7oÞ$##ƒ˜˜Ú¶mKff¦I 'QŽyzÂsÏÁ‡Z;!„f(q†%*[¯FyîÁØ¿?Ï<ó 5kÖäøñã<öØc&]§VÔ¼yó˜9s&#GŽdõêÕØÙ富œ››Ëرcùè£�˜7oo¾ù¦Iù}ûí·øûûãììÌíÛ·õÎ)ŠBíÚµIIIá÷ßç‘G1©.'Nœ ((ˆ›7o²}ûvhQ]Ëk¯Ý¬Y³˜;w.ƒfË–-zç^zé%"##™5kï¼óŽEù{O R»WÌÉɉììlΟ?¯7$ ))‰Æ�ãääÄ�;wL*¯´I†….^„À@¸pÁÚ‘!D•P.z0Dù¦&4mÚ4“Ý¿Ÿ9sæèvküñÇÙ°aC¡t†z§Þ~ûmf͚ł X³f�®q`ggÇš5kX°`3gÎäí·ß6)ž-Z\�ìÔ©S¤¤¤P¯^=]ãÂmÚ´aÚ´iDEEé�ËÉÉaáÂ…´iÓªW¯N›6mX¼x1÷îÝ3¹ kŠŽŽ`èС…Îi�ÅÄÄXœ¿±÷¤4™²§Nƒ Ê Qª6Ìo`DFZ;!„&’F%§�ÀÜ¿‹®5jÿùϸpá999üöÛoŒ1‚íÛ·{í[o½E^^žîáÝ�iÓ¦‘——Ç[o½eR<[·n W¯^…ÎUíýùî»ïtÇrrrfúôé$&&rûömîܹCbb"o¼ñÝ»wW½‘QÜDqK†j7Ä44 N;g¢¨M3Maì=)Mo¼ñ/¾ø"ñññdff’™™I\\Ï?ÿ<€ÑÏž¨@dE)!„¨P,n`5ÎÜ”—(;×®](4„ÄT‡bïÞ½dddpñâEBBBŠ]ª4œ:uŠ)S¦àêêjp˜IIÚû“’’¢;¶téRâââpwwgýúõ$''sýúuÖ­[‡››ÑÑÑ,[¶¬P^åmÞQFF`xø£——ðÏ²Óæ*î=)M£G�&22’[·nѹsgÜÜÜpss#((ˆ;wîðé§ŸòÊ+¯”iL¢”´h‘?Ù{÷nkG"„ÂvÅ'UÙºuëÀÍÍ�eË–±gÏžBËÚ–¶S§NLFF}ô‘ÁS\\`YÃPÃ÷“O>òÿþ÷¿uÇGŒ�¢(¼òÊ+|òÉ'L�:Õìò̉£,XÒ2å=)Myyyœ>}šK—.:wéÒ%Nž<ÉsÏ=gtŒ¨¨bcc9[»6ÏŒÇÚ'HJJô8Ñh4}÷…B¨Oþå­äêÔ© ûÙ\���z×þƒž™™Y’°ÌrìØ1:wîÌÕ«W™1c†Á_¥ûí7®]»FíÚµ-šk¢½?µjÕÒÓêÝ»w¡ôÚžœÓ§O:WÞzíjÖ¬ èOÎÒJý{ùOmS™òž”¶Ù³góöÛoÓ¬Y3bbbôV‘jÚ´)sæÌ‘ Õ•„¢(\ªW�lŸ;GRRçÏŸ/Wß3!„ÿ�ŒJ®C‡\¸p�]»vé–*5‡“““ÞßËz¸Ï¾}ûxþùç¹}û6'NdîܹÓi‡GuîÜÙ¢r´Îùùù™”^{Ô¾æægÊCUóæÍIII!11‘‚+ÆüôÓOº4¦2õ=)mëׯ`Û¶mz¿d±}ûv7n̺uëL^@@”_��F��4™?Ÿó�¬È%„å˜ô`TrÆ `áÂ…%šÈk 7n¤_¿~ܾ}›ñãÇœï U’ù‰‰‰,\¸€ýë_ºãÚ‡î/¾ø¢Ð5{÷îÕKSžuéÒ€M›6:§=¦ÑhLÊËœ÷¤´ê‘ÑÒ6¼ÒÓÓË*Qºv…ÌLê_¾líH„BQi/½ôR±lwîÜI`` nnnÔ¨QƒÀÀ@Ý/Ù•E�= áÆ�tèÐ�¥K—rîÜ9rrrHMMåĉ,_¾œÿû¿ÿ³v¨z/^ÌðáÃÉÍÍe„ ¬X±Âhzsæ_Ü¿ŸôôtŽ9ÂÔ©SéС7oÞ¤K—. 0@—nРA@þ†n›6m"%%…””6nܨÛ[›F-¥±`ˆ#ppp 22’¹sç’žžNzz:sçÎ%22†^l>æ¾'¥MÛÛôüóϧ[E*66–çž{€¶mÛZ3DQfÌ 0>ÞÚQ!„0Ââ�öʳǬ{3ô ¶téRÝC¢¡sæì\ž7ÚƒüùÏ?ÿ<û÷ï7š®`ŒmrfèœÚ›Ì™2T(99ooo~ÿýwš5k†§§')))…®5%¯¾}û²qãFÜÝÝuDz³³ &¾ˆ‡�FÃ�pppÐ+§<Ž7öy_²d ¯½öšÞ1cï±1Ú÷ÄÔk¼Wæ¤?~ü8]»v-rs¿êÕ«óõ×_ãïï_\ØeB6ÚSOríÚl{î9Æ­ZeíP„¢Ò‘�ö ÈÎÎf̘1¼ôÒKE¦9wîœn>œ9sHKK#--�9sæùkçŸ?¾Lâ- 5jÔà‹/¾`ûöíôéÓ‡ºuëbooOíÚµyê©§˜2eJ™¯ ¥&íð¨ÀÀ@“‚ðööÆÏÏ�qãÆqäÈvíڥ׸pttäСC,X°___œœœpvvÆ××—… ê5.Ê»×^{�;v€‹‹ ...°cÇŽB�‹Š¢}ûöüøã�Œ1‚Æ�ãàà€ƒƒ�7æå—_æÿû_¹i\uÅJ/†B”c•n’÷¼yó¸ví‹-bóæÍÓ¬_¿žœœÌÌ™3uÇgΜɯ¿þJdd$ëׯç�wÞ)«°K��� dàÀ�&¥7ö+¼¡sjÿjoN~ÅÍ¿(IlŽŽŽL›6ͤ ÛÊcÏEAýû÷7yÃEµÞcs¯17ý£�>ʺuë̺FT|?ûúÒõða¸x1§o!„åJ¥êÁ8}ú4 .$<<œºuë™.::€¡C‡:§=S*1 õ•t)!DÅ(»{ !D9U©cÆŒ¡Y³fŒ?Þh:íjJ­[·.tÎ××W/�(ÿ.\¸€¢(<õÔSÖEQF¾ê)ؾŒ¬&&„Â:*McÓ¦MDGG³råJììŒ�üÊÈÈ Oh÷òòàÆ�ê)„B=3fH/†B”C•bFZZ¯¿þ:ƒ ²hCÌÝðÌÔôå}œ¾BTS¦€£c~#£‚,¸ „ÖR–›%WŠŒ©S§r÷î]Þ}÷]“Ò׬Y0¼QWjjª^S©¹o�B½ù&ÌŸoí(„¢Ü+ËgÕJÑÀذa™™™Ô«WO·¹^ÁVÚƒ×î¾lhiÖŸ~úI/�BˆrL†I !D¹S)æ¶¶ºtéäÏÛx�ö˜F£)q\B!J™ƒ„†Â{ïY;!„«4 c]<þ}Ĉ888ÉܹsIOO'==�¹s牃ƒÇ·FU„B˜Kz1„¢\© s5iÒ„ 0kÖ,<==ñôôdÖ¬Y,X°€&MšX3DU6fccƒ��uëÖ¥oß¾ÄÅÅ™”GDD„îúåË—M{êÔ)Þzë-Ú·o�··7NNN4mÚ”qãÆñ矪Q¥RµsçNqss£F�²k×.³òÈÌÌdæÌ™<öØc8::R³fM‚‚‚ضm›*é/_¾Ì”)Shݺ5îîîº{£×¿÷Þ{  ´jÕJiÕª•(K–,±¨<%11ѬøËÒ’%KŠŒ}éÒ¥&å‘––¦´hÑ¢È|f̘Q¢ôÇ�W\]]‹L_£F %!!A—ÞØûQ³fMå‡~(QþÂ4–|wEaaaa…>“³gÏV” ¥aCk‡'„^QϵÛ QQQÊÖ­[‹|Uê ¥˜Ùðýû÷ç›o¾!++‹¬¬,¾ùæú÷ï_†–-íýÈÎÎæçŸ¦{÷îäååVä5‹-bÊ”)tëÖ�#GŽpäÈ‚ƒƒ™ÿüs7nLzz:“&M*¥–̹sç˜>}:sæÌ!--�´´4æÌ™À´iÓ8þ|±ù„……ñË/¿Ð°aCvîÜ©ËgÇŽ4hЀùóçóã�?Zœ~Ò¤IdeeáïïOll,7oÞ$##ƒ˜˜Ú¶mKff¦Þ=öóócåÊ•œ8q‚¬¬,RSS9pà­[·&##£ÐûanþB” B` DFZ;!„•¹£¬PAz0tùòePœœœ ^7wî\PFީܻwOwüÞ½{ÊÈ‘#@™7ožÉq$$$(€âììlVüeeæÌ™   <¸Ð¹Áƒ+€2kÖ¬bóyøá‡@‰ŽŽ.tîðáà  „††ZœÞÑÑQ”óçÏJþüy£ïiA¿ÿþ»Á÷C­ü…>éÁPG‘=Š¢(§N)J‹V�O!*º¢žk¥C˜ÅÕյб·ß~›Y³f±`ÁÖ¬Y£·;º��kÖ¬aÁ‚Ìœ9“·ß~Û¤rZ´h€‹‹‹:�«,::€¡C‡:§=Sl>ýõmÛ¶-tÎÏÏ€ãÇ�[œ¾~ýúÅÆÐ AƒbÓØÛÛP§N½ãjå/D™kÑš5ƒÝ»­‰BTiÒÀ¨‚rrr8yò$#FŒà™gž)”æ­·Þ"//�iÓ¦™Ï´iÓÈËËã­·Þ2©Ü­[·ЫW/“c}p‚zq¯’8sæ ­[·.tÎ××W/�1ÞÞÞ|ÿý÷…Î}÷Ýwz¥ÍMÿÆoðâ‹/Off&™™™ÄÅÅñüóÏ}ß222ˆ‹‹ã…^`òäÉzçKš¿¥iöìÙh4‚‚‚˜={6³gÏÖæ)+J !„ÕÙŸDT†À5 K—.-õ²O�:Å”)Spuu5:çÚ222ðôô,tÎËË €7n›O¯^½X»v-Æ cùòåtîÜ€ØØX&Nœä¯eiúÑ£GS£F æÏŸ¯K«ÕªU+>ýôS]ã¡ ßÿæÍ›³~ýúBK2[š¿eE£Ñ (Šáÿ—´k5jÀáÃеk™Ç&„Bz0ª4///æÏŸ¯{x.-§N�"88˜ŒŒÿÏÞÝÇ5]ïÿã@ĵ`)J *d¦b%J!2‹¨[Ÿ ÒJÌŽva*…ˆ¥©ß…O– ¥:§n‘ÑA¼ø}PŽzJŽÉÀò*¼ *<¨x‘È`Ž,9Æû÷ÇÜblc{�÷Ø`�ûí¶[lï×^ïç^{/÷ÜëJ‰ììl›ý\ÁÌmíú¥bN/ÉŠ+pÛm·áÌ™3ˆ��×.ƒœ��€¸¸8ÀM7Ýdqù¶¶6TWW£¾¾^ïÜõõõ¨¬¬D[[›É8ÏŸ?�'N µµUçq©ê'²™Œ àÆ²ãDDÔý˜`8Í—ðóçÏãõ×_Gcc#}ôQ\¸pÁjçÜ¿?&Mš„ .`É’%x饗¬v®®òõõ( ½c���:e:ˆï¾ûóæÍÃ�!CЧOcõêÕÚai·Ür‹ÅåÓÒÒ°bÅ „††B.—ë¬ò4|øpdddüeWóþkV‘ ENNÞzë-�r–ÖOd7"#�Ûn¶l±u$DD‰ † Ä_ÿúW<úè£P(Xºt©UγsçNÄÆÆB¡P 99™™™¢ëèÎ9aaa€ãÇ�ë;qâ„NSú÷ï�ÜÜ\ÔÕÕ¡µµµµµX¸p!¾úê+NÞ¶¤|^^`óæÍˆ‰‰�··7|||ƒ-7¾P}úé§Fcó÷÷G\\ŠŠŠ6lÐ9ÞÕú‰ìBVÐa~u&,++ ...øâ‹/Ìš¼,Æúõë�«W¯")) 999’Öo “'OäççëÓ<&“É,®ÿâÅ‹øàƒÓ¦M³¸¼¡ Í0±¦¦&“õk†FµŸß!eýD6¤Þݻ昑.&,,, ³fÍÂõë×%íÅX½z5fΜ‰ëׯãõ×_Ǻuë,®«;ç`Ìš5 ®®®(((@ff&šššÐÔÔ„ÌÌLÀÕÕUoB´1÷ß?víÚ…B•J…íÛ·#&&���¸ï¾ûoqyMoÆÔ©SQ^^®]婬¬ S¦L »ämTT¶lÙ‚šš´¶¶¢¡¡;vìÀSO=˜8q¢N,bë'²[ìÅ "² §ÂÂBA3‘0¼‚uÎÉÉ©[&@zzºñÕSŒÐ 2ãùóç1|øpüþûï8tè�$_ͪÔÐР]žÕždggë-Ûª‘••…””�ÇŒµ­±61bvïÞ­·×„˜òÀ<€«W¯|އ‡öìÙƒ &tZ7 žè_^^®Ý£Ä’úÉ<–|vÉ0Qm™� œ=«N6ˆˆÈ$cßkÛ�p())�³³ñ~ ö`8¸�âõ×_‡ z“}QJJ ŠŠŠOOOxzz"** EEEzÉEgÊËËñÄO ÿþðððÀ˜1c°råJ>|ØàFvbÊGFFâÈ‘#˜5kBBBàêê WWW„„„àÅ_ÄÑ£Gu¾üWTTà•W^Áˆ#àîîOOOŒ= .Ä÷߯“\XR?‘]KIQOö6°*Y{0$`ï=Dd{üìJGt[nÙ¢¾mÞlÕ¸ˆˆzö`™2eŠz˜Ô�¶Ž„ˆÈ!0Á "¢Þ/;[=\Šˆˆ¬Ž õ~Ü|�ˆ¨Û¸Ø:""¢Î”••A.—kïkþNOO×>&“ÉÓyEYYÀ½÷ª‡L‘Õ°ƒˆˆìZÇýn‚ƒƒ1dÈñûàpó="¢nÁ ""²k2™ 2™LšÊ²²''ÎÇ "²"ö`‘cáßDDVŃˆˆ 7ß#"²*&DDäxØ‹ADd5L0ˆˆÈñpó=""«a‚ADDŽiõjà�7lQ¯ÃƒˆˆÓĉ€¯/°s§­#!"êU˜`‘ãzçà­·lQ¯Âƒˆˆ×èÑêÛ† ¶Ž„ˆ¨×`‚ADDŽ�½DD’b‚ADDŽmð`àÑG��>²u$DD½ """öbI† ‘¯/0g°j•­#!"êñ˜`ìÅ "’ """ &DD]æb눈ˆìÆâÅ€ŸŸú¿¾¾€²²2Èårm‘ºº:@pp°ö1™L†˜˜˜n ”ˆÈ~±ƒˆˆ¨½½‚ èÜêêêP[[«÷8©±ƒˆˆ¨½9s€!C€3g€Áƒ!“É “É´‡ÓÓÓ!–/_n³‰ˆì{0$âäädðFDD=çbQ/gÍï®L0$Ò±«œ]æDD=Ø´iÀ÷ß«oDD½�5¿»2Á ""2„½DDa‚ADDdÈ£�J%ðÍ7¶Ž„ˆ¨Ga‚ADDdLn.�”dë(ˆˆz&DDDÆ„‡“'99¶Ž„ˆ¨Çà2µDDD�ÉÎúöþòõ&|DDÔ)ö`™²~½:Á€z'ïÓ§O#==ééé6 ‹ˆÈ1Áp0÷ÝwœœœÙi¹Ÿ~ú «V­Bdd$œ��-^Y¥RaéÒ¥1bÜÜÜàë님˜lÞ¼Y¯¬±õ˜57ggó.תª*¼ýöÛˆŒŒD¿~ýàîîŽáÇcÞ¼y8{öl—Ë–µÏÖ­[ x{{#::Û¶m3XöܹsHMMExx8üüü´1Íž=555fµƒ¥qv$¶},yÅ\'–¼_MŸ>�{Õ�8O<89aÓsÏaýúõX¿~=–/_®½ÑŸœ …¸¸8íþþþ6 §grrrê¶=/º²ƒì�?þˆ‘#GjïWVVâÎ;ï4XÖÐ/±¯±©© 'NÄ?ü`ðø’%K�™™Ùé9Û“Éd(--5yÞÎêéÛ·/är9ÆŒcqycÏé¬}²³³±`Á£ÇæÏŸ¯½ðàAÄÆÆ¢¥¥Å`yoooìÞ½ãÇ�7z>Kã4· ±í è¿�R^'ÆÞ¯ö¾þúk<øàƒÚvè Ÿ]²J%® ÷ß×y8--�ï+õƾ×* íß%%%�þðË òé§ŸÜÜÜtî2räH¤¥¥¡ªªÊâó-_¾?üðŒ­[·B¡P@¡P ¨¨AAAxç�wpäÈmyc¾ÄÄÄf̘aÖyï¼óN¬\¹DCC”J%vìØ���455é|™·¤¼Øö©©©ÁâÅ‹ÚvÈÈÈ,Z´µµµÚòóçÏGKK &L˜€²²2\¹rJ¥r¹ãÆ�ƒJ¥2“!R¼�bÛGìû(ö:±äýÒ¸víæÌ™ƒéÓ§[ÜäÀ|}Q*“�Ó½‰ˆL(,,µ7@·�kùòåBZZšèçµ¶¶ ·Þz«@øè£�B¿~ý„k×®™|.‹^ãm·Ý&JKKõŽ}ýõ×áµ×^ë´Žºº:ÁÉÉIððð®\¹":†ö<(n¾ùfIË›jŸ¥K— „ÄÄD½c‰‰‰aÙ²eÚÇÜÜÜBmm­^ùÚÚZ€àîînÖk§XbÚ³³÷QŠëÄÜxÞ~ûmÁÇÇG¸pá‚äíaŠ¥Ÿ]²/Ë—/ŽÂØ×¾¯DÔ«û·±}¾PXX(lÚ´Éè�=bûï« IDATöí¸téÆŒƒW_}cÆŒÁåË—ñÏþÓjç¼xñ"`ܸqzÇ"""è´Žüü|‚€øøxx{{w)Íð0OOO«”7F3ÈPŒæ1¹\®}lРA&ë êRLRÓ>�½�R\'æÄS]]�wß}ééé0`€Éúˆ IKKCî¸qøÿ¼¼�––ÆáQDD0ÁpšáP/½ôàÅ_ÔyÜúõ먨¨Ð;öÝwß€É ËùùùÌÕ™M›6}ôQ«”7æäÉ“€ððp½cš¹š2ðæ›ož}öYìÝ»*• *• ååå˜:u*õ°*[Ó>�½�R\'æÄ3g΄††"‰›¦QÝöØch5 Ëýü˜\ÀÜ;w»ví‚››¨WÑqssCII êëë­r^ͽ^xÅÅÅhjjBSS¶mÛ†™3gP¯d̾}ûpêÔ)"66¶K±TUU!55^^^f}![¾3J¥€áÍÍÍÚÇfÏž�‚‚üú믘4i|||àãヘ˜üöÛoظq£6Q´1ícê}ìêubN<ùùù(--Enn.\\¸ýuÝW=¤§í>»DD¤ÆÃ|öÙgøã�?��� ý’ëïï�øøx´µµaýúõV9ïŠ+pÛm·áÌ™3ˆ��‡¿¿?üýý‘��ÍÊe7Ýt“Ñçþùç€ÄÄÄNË™RUU…|J¥ÙÙÙ–´¼Ú¯ŒÔÖÖ†êêjƒ‰_}}=*++ÑÖÖfõ˜ŒÛ>¦ÞÇ®^'¦âQ(X¸p!¦M›¦�hN$‰v{cÑŸ˜`ôr‚ à³Ï>Ìš5Kç˜f˜T^^žU–ê Äwß}‡yóæaÈ�!èÓ§‚ƒƒ±zõjm,·Ür‹Áç^»vM»BW†Gíß¿“&MÂ… °dÉ“¿ü‹-o___ºË»i466ê”Ôc¼W¬X�ÐÐPÈår�U¤†ŽŒŒ › ËÛ>æ¼�]¹N̉ç�7ÞÀï¿ÿŽ÷ß_ÌK%2íÆÞ0²Ÿ ‘£b‚ÑË•––jǯÇÅÅélx¦ùu¸¶¶Ö¬ý%,Ñ¿äææ¢®®­­­¨­­ÅÂ… ñÕW_øsoGÅÅÅhnnÆØ±c1zôh‹Î½sçNÄÆÆB¡P 99Yg/)Ê›+,, püøq½c'NœÐ)¨>ؼy3bbbàíí­"µeËÖ�;cŒ%ícîûhÉubn<Ÿ}öT*¨sýkpÃ=êöbéá`ä^ÎÜ/¢Ÿ~ú)î¿ÿ~+G£vñâE|ðÁ€iÓ¦,£VciïÅúõëñòË/ãúõëHJJBNNç+׋-/ÆäÉ“±oß>äçç£ý¦–ÀŸ“Ÿe2™ö1C=šž¦¦¦&Éâ3‡¥íÓ•÷±³ëDL<Öè�#ÇRVV¦³Ò›æïôôtÀ„{ïÅè)S0èÆDDŽŽ=½Xss3ŠŠŠàää„ÚÚZƒ›Ÿ�>}ÎÎÎ(**Ò™h,•ûï¿»ví‚B¡€J¥ÂöíÛƒÆÆFÜwß}ˆ��×{Î/¿ü‚’’¸¸¸M@:³zõjÌœ9ׯ_Ç믿ŽuëÖIZ^¬Y³fÁÕÕÈÌÌÔNbÎÌÌDAA\]]µ“™�?­Ÿ:u*ÊË˵«H•••aÊ”) /éj-–¶�˜÷QÌu"6C×}û¤£ã}¢Ž:^;ÁÁÁ2dˆöþ� à{ìp옭C%"² N………Bû_U ­tC�3¶¥º5¤§§C³ÆàðÁHJJBll,þýï-‡ÿûßÈÍÍżyóÀä�s_¯±zFŒ�Ý»wÜó!++ ©©©xä‘G°sçN³êo�9Ã]´Ë£Š-oÎs:¶Ovv6,X`°lVVRRR´÷8€xW¯^5XÞÃÃ{öìÁ„ LÆ-6N)ÚSÃ’÷±#C׉¥ñ;§=~v©:{ˆŠΜ±u$DD]bì{mû%%%pv6ÞOÁŒ^L3<ªãäîŽ4¿ž[c\yy9žxâ ôïß3f V®\‰Ã‡ÝP®«Ã£ìQJJ ŠŠŠOOOxzz"** EEE:ÉDFFâÈ‘#˜5kBBBàêê WWW„„„àÅ_ÄÑ£GÍJ.lMÌûhÉuBdWn» xï=à¹çl ‘ͱCöÚƒADöƒŸ]ñÚkÀí·ÜБˆz(ö`Ù“u뀼<àèQ[GBDd3\EŠˆˆHJß~ FæQõvìÁ ""’ÒÍ7ÿü'ðàƒ¶Ž„ˆÈ&˜`I-6V½ªÔ�½2ˆˆ  """kX¾øæ`÷n[GBDÔ­8ƒˆˆÈZþýoÀÃhlT�""rìÁ ""²¦o¿U—""rL0ˆˆˆ¬é®»€Y³Ô{d9&æ¾û“"##�–©ªªÂÛo¿�ÈÈHôë×îîî>|8æÍ›‡³gÏš}.''§No�mÐÒ‘J¥ÂÒ¥K1bĸ¹¹Á××111ؼy³$ñ‹©_ã×_Eff&ÆŽ /// 0ñññØ»w¯Ù¯ ¶nÝŠèèhøøøÀÛÛÑÑÑØ¶m›¨:ÄÆsîÜ9¤¦¦"<<~~~Ú6š={6jjjtÊVVVbÉ’%ˆˆˆ@@@ÜÝÝйsçâÌ™3cS¿%ñõ8IIÀåËÀÆ�¶Ž„ˆÈ긓·zÊNÞ?þø#FŽ©½_YY‰;ï¼S¯œ“““Ñ:úöí ¹\Ž1cƘ<_gõ€L&Cii©Ézššš0qâDüðÃ�/Y²™™™f�×Pübë€úúzÄÆÆ¢ººÚàs̽²³³±`Á£ÇæÏŸoV=bâ9xð bccÑÒÒb°¬··7vïÞ�ñãÇè¼=}}}±gÏÜ}÷Ý×/6þžŠ;y`ð`õ�©Ûn³u$DDq'oåÓO?¸¹¹éÜïèÎ;ïÄÊ•+qðàA444@©TbÇŽ ASS“Ù_zA0x‹‰‰̘1ìz–/_Ž~øƒÆÖ­[¡P( P(PTT„   ¼óÎ;8räˆÅñ‹­ÿ�?þÀÓO?�êêj„††¢¸¸J¥---øòË/µ¯Ï”šš,^¼�‘‘¡=oFF`Ñ¢E¨­­5Y�ØxæÏŸ�––L˜0eee¸rå ”J%är9Æ�•J¥ÓFÈÍÍűcÇÐÒÒ‚ÆÆFìÚµ áááP*•zí)¶~©Ú“¨GøñGàŽ;l‘U±C=¡ã¿ÿý/‚‚‚péÒ%|ôÑG˜3gúõë‡sçÎÁÕÕÕ¬::„ &àæ›oÆU w¨=}ú4BBBpóÍ7ãâÅ‹ðöö6ùœÁƒãìÙ³(--…L&Ó9¶gÏ<ðÀxíµ×°víZ‹â[ÿ–-[0uêT ²² 0ïÅw°lÙ2dff"11ÿøÇ?tŽMŸ>X¶lV®\Ùi=bãqwwǵk×P[[‹àà`�cuuu �»»;~ûí·NëùùçŸ1|øp½ö[¿TíiïØƒAZ55êMø~þÙ¬âeee�ËåÚûuuu óù’ÉdLƉHìÁ ³mß¾—.]˜1cðꫯb̘1¸|ù2þùÏš]‡fx•§§§ÅqäççCÄÇÇ›•\ÀÅ‹ãÆ�Ó;8pà€ÉzŒÅ/¶þ�7ÆP'%%ué˰fx˜¡žÍcí¿T#6žAƒ™,d²LŸ>}ýû÷ïRýRµ'Q�1t(ðÅf¯,Õ±¸®®µµµz�Ù‹^‘`X:)YªÉµ=�f8ÔK/½xñÅu7ǦM›�>ú¨Åqäçç0xôë×PQQ¡wì»ï¾£‡Û3¿Øú5�=üðÃÈÉÉÁ°aÃàææ†��$''ãòåË&c€“'OÂÃÃõŽiæˆhÊtFl¡µµUïXkk«Y¯ËÒx „Q£Fé•5j”°qãFƒçéX6,,LÈËË3XVLýRµ§½³ä³Kà£�áÕWE=…×Y“±ïµíó…ÂÂBaÓ¦MFo½¢Cì¤^©&×öŸ}öþøã$$$hçØøûû#>>mmmX¿~}§Ï¯ªªÂƒ>¥R‰ììl½qõæúüóω‰‰¸é¦›Ì~ÞŠ+pÛm·áÌ™3ˆ��‡¿¿?üýý‘��Íü¡Îê3¿ØúÛÚڨǚ^[[‹´´4³__gL­ÄeI츣­­M:t¨@())Ñ9VRR¢ý…¸­­Íàó÷íÛ'øûû „%K–X÷ï¿ÿ.øùù „'Nˆ~þÅ‹…yóæ C† úôé# «W¯öíÛ§í}èJübêïÛ·¯@(--Õ«ç믿ƒ 2ùšúõë'.^¼¨wìÂ… áÖ[o5Y�Øx–-[&"""¹\.\¹rEP*•‚\.Æ�'þßÿûFÏרØ(ìÚµK¸ë®»‚ tŽ‹­_ªö´wüÕ™:õê«êÞ 3ðZ""k2ö½Öáz0Œ16©WªÉµ=Aii©vþ@\\œÎFwš_çkkk îG±sçNÄÆÆB¡P 99Yo/1Š‹‹ÑÜÜŒ±cÇbôèÑ¢Ÿß¿äææ¢®®­­­¨­­ÅÂ… ñÕW_øs2¶¥ñ‹©_ÓÒÙ¤ðK—.™|Maaa€ãÇ�ë;qâ„N™Îˆ�'//°yófÄÄÄÀÛÛ>>>ˆ‰‰Á–-[t>7Çßßqqq(**lذAç¸Øú¥jO¢í£�€’`ëV[GBDÔe½:Á06©WªÉµ=�¹“¸;–[¿~=âããqõêU$%%!''§Kqh†G‰™ÜmÊÅ‹ñÁ¦M›¦sLŠø�Õ¯ùÒÛÙ¤ðÀÀ@“õOž<ÀŸßÛÓø @ÈÍÍÁ¼×ÓÐÐ`vÌkÖ¬�<òˆÉ²ÆÚÉX#FŒêëëÍ*ÛYübêAHJJ2úœQ£F MMMfµMg«™eee™Ý>bâÙ¿¿àááa´¼‡‡‡pàÀ³Ú3 @¨ªªÒ‰ElýR¶§=ã¸yÅÓSŒ¬žÆk‰ˆ,ÑÕï«=cÿþý˜4i.\¸€%K–h÷}hÏ××€á¡���:eÌ%è0tëNšaO³fÍê´œæWr1{bˆ!Åð¨òòr<ñÄèß¿?<<<0f̬\¹‡6kc7©ë_·nòóó///¸ºº",, K–,Á¾}ûàççgÖySRRPTT„¨¨(xzzÂÓÓQQQ(**BJJŠÙñ‹‰'22GŽÁ¬Y³WWW¸ºº"$$/¾ø"Ž=Š &hËWTTà•W^Áˆ#àîîOOOŒ= .Ä÷߯�ëdiýR¶'Q¯ÑÒ ®[WW‡Ó§O#==é\}ŠˆÌÔ�ßU� Íd_Àð°¡žbçÎ�˜:u*®^½Šääd£ã¢°oß>ìÚµ í_; ^*ó¡‡Âĉ±wï^³ÎklKukHOO‡ zþˆÈ¾ñ³K¹ývàïnÌÇJOO×»†ÒÒÒx]‘dŒ}¯mÿÃ|II œ��÷Sôš 1“z¥š\KDDdUÕÕê=2 m ‘ÙzE‚!vR¯T“k‰ˆˆ¬®´ؾX³ÆÖ‘™¥W$o¾ù¦öïµk×êìõ ¹]¾|Y[fèСXµj`Ù²eÚ�›—-[Xµj†Ú½/‚ˆˆÈ˜ € WRbëHˆˆLr±u¶’’’‚àà`¬Y³ÇŽŒ;©©©HHH°qtDDD¼ÿ>î]³»O�ÂÊ;îÐååü "²7½"Á°t‚uBB“ ""ê9RSѼ?ÖWT ˜‰Ù©^1DŠˆˆÈQTŽ ùäÉꦈˆì ""¢¦nÈõÄoooàÂ[‡CD¤ƒ QO¦N.î¹رÃÖÑi1Á =[·nEtt4|||àíí�èèhlÛ¶ÍìçWVVbÉ’%ˆˆˆ@@@ÜÝÝйsçâÌ™3V;¯¥õüúë¯ÈÌÌÄØ±cáåå… >>^o£EC«“µ¿u¶áŒÆôéÓµå ùé§Ÿ°jÕ*DFFÂÙÙÙh9sHÑžçÎ�Cjj*ÂÃÃáççwww >³gÏFMM�NY±ï»Øö´ôº"êÕ¼¼€óçÕ›ñqNÙ‰^µ“·­ô¦�¼³³³±`Á£ÇæÏŸo²ŽÎ¾ûúúbÏž=¸ûî»%?¯%õÔ××#66ÕÕÕŸÓþ}5õe_&“¡´´Ôèñ¯¿þ>ø ¶NC׌¡sXrmIÑžDll,ZZZ ÷ööÆîÝ»1~üxâßw±íiÉueO¸“7IÅèµ”žTT¨‡NYˆ;y“¤jjj°xñb@FF  222‹-Bmm­Éz"""�››‹cÇŽ¡¥¥���صkÂÃáT*õ¾ÜJu^±õüñÇxúé§Q]]�ÐÐPC©T¢¥¥_~ù%bbbtêÁàMSnÆŒFc»víæÌ™ƒéÓ§wúFމ´´4TUU™|½ÆHÕžóçÏGKK &L˜€²²2\¹rJ¥r¹ãÆ�ƒJ¥Òy/žïbÛSlýD½EYYÒÓÓµ7¹\®÷XYY�–Ìž hó2:Æ8sæLÌœ9S?n"êuzÅ2µ$�¼¼<´¶¶"11K—.Õ>¾téRüøã�(((@^^V®\Ùi=‡Ò¹ïé鉸¸8 6 ÇGEE…UÎ+¶ž¢¢"8}ú4ÊËËááá�§Ÿ~Úh¹ÿýßÿÅ/¿ü‚÷Þ{_|ñ…Ñr]I,4¤jÏ£G�6n܈àà`íã111زe BBB´eñï»!�µ§õõDšä[#88Xï1íß�=>¬ž—ññÇêû6Ò1ƺº:‚€!C†è”!¢Þ‡ F/÷ôÓOãÿþïÿpç�wâĉÚ¶6Œ3UUU˜:u*6mÚ¤Žbè—ø3f   r¹ÜâXúôéèß¿¿ÎãR�Wl=7n$%%é$bäççCÄÇÇÃÛÛÛ`™êêj¼ûî»Xµj•ÅçCªö4h�Þ<‹Ž‚‚‚LÖcì}7ÄœöìJýD=‘L&Ónªg–À@õ¼ŒÇW™²Ñ°¼Žqs˜ ‘ãà©^îƒ>@@@ªªªPPP }üÿøªªªpë­·âƒ>œû,hAúÛßþ†~ýúPa Oô477›}rÃÂÂ�——‡™3gê<.ÕyÅÖséÒ%ê!EŸ|ò‰öñºº:¬]»Û·oÇ�pë­·<ß¾}ûpêÔ)"66Ö`™üü|”––B.—ÃÅ¥{>nRµçìÙ³áíí�wÞy“&MÒ96jÔ(lܸQûå¾=sß÷ŽÌiÏ®ÔOä�ÒÒÔKØÈåê¥m‰ˆ¬Œ=`úôéxì±ÇP[[‹O>ùü1jkk1mÚ4$$$ˆª«+˦ž?'Nœ@kk«èçv弯êikk ^ aëÖ­ÚÉÐEEE Bmm-ÒÒÒŒÖõùçŸqÓM7éW(X¸p!¦M›¦7aÜÖÌi϶¶6TWW£¾¾^ïX}}=*++µmØsßwSíÙÕú‰–f^Æã�kÖØ:"rL0Äßþö7øúú"## ĺuëtÊøúúÐ]†L£±±Q§Œ94ü4«ý„††"''o½õ–UÎ+¶///Àúõë�¾}û¢oß¾HHHÐ~ÙÝnd¹Çk×®aóæÍŒçyã�7ðûï¿ãý÷ß7»”¤jÏ´´4¬X±¡¡¡�Ëå:«H >ÇR›û¾·gN{v¥~"‡TW«W—š<0²ü4‘˜`8Üzë­pqqÁÕ«WqË-·h¿`k„Ýè:?~ü¸ÞóOœ8¡SFì¹ãââPTTذaƒUÎ+¶ÍÊHãÆ�Ó+àÏaT£¹¹cÇŽÅèÑ£ –ùì³Ï R©0pà@� ä4:Ûp¯+¤jϼ¼<ÀæÍ›oooøøøhW‘€O?ýÔèóM½ïí™Óž]©Ÿˆnxÿ}õ°©À@ °ÐÖÑQ/ÅÃA,Z´ÿùÏ�‘‘�·Þz 'NœÀ²eËtÊLž<ÀŸmÛÓ<&j%“4CXT*•UÎ+¶MahySÍðÀÀ@ƒçÒôptök»­–_”ª= õ€hh^[SS“ÉzŒ½ïí™Óž]©ŸˆÚ‘É•J= |Ú4[GCD½ °{÷näææbÔ¨Q˜>}:æÏŸ�ÁƒcÍš5:˕Κ5 ®®®(((@ff&šššÐÔÔ„ÌÌLÀÕÕÕ¬‰´QQQزe jjjÐÚÚŠ††ìرO=õ`âĉ:å¥:¯ØzžþyÀ /¼€ââbmùmÛ¶á…^<ùä“zçùå—_PRRLëägcÉu<.5©ÚS“€M�:åååÚU¤ÊÊÊ0eʺ½?bßw sÛÓÒú‰Èˆ Ôó2¼½ÕÀ‰ˆ¤RXX(466jo$€n;×òåË…´´4³Ë+ aРAaûöíÚÇ ÂàÁƒ…¦¦&íãYYYƒ·¬¬,³Îiìù„€€¡ªªJï9bÏ«9ÖÕz’’’Œ–5j”NÛh¬Y³F <òÈ#fµ‡¹±·?fìf.)Úsÿþý‚‡‡‡Ñz<<<„˜»±÷]ÌoOKë·b?»DÝF¥™LRS­z~ˆzcß7Úç ………¦M›ŒÞ؃ÑËÍ�;çÎ�CTTk·£ësÏ=‡ˆˆœ9ssçÎÕ>ž’’‚¢¢"DEEÁÓÓžžžˆŠŠBQQRRRÌ:gEE^yåŒ1îîîðôôÄèÑ£±páB|ÿý÷9r¤Þs¤8¯%õ¬[·ùùùˆŠŠ‚——\]]†%K–`ß¾}ðóóÓ{NW†ót)Ú322GŽÁ¬Y³WWW¸ºº"$$/¾ø"Ž=Š &hË[ò¾æ·§¥õ‘ ^^@i©z^Æí·ee¶Žˆˆz8§ÂÂB!..Nû€¡µó©sNNNÝ6Þž;¡õLüìR�pò$ðÊ+ê ú–/$\b›Ÿ¢žÁØ÷Úös3KJJàìl¼Ÿ‚=DDD¤¦ž�‘–¦¾MžÌ "� é’ɘh‘Å\lÙ)M¢¡I6º0tª®®€z¨ ÞÌ“ˆz'&DDDÔ9C‰Æ;ï‘‘f====ëׯ×yŒó1ˆz/&DDDdžö‰FJ pÛm@VdãÀˆÈžp‰#“û÷S¦÷W?í IDATÞ ,X`눈Ȏ°ƒˆˆˆ,3eŠú–�­6••¥îÙèáÊÊÊ o·»¹fþHpp°ö1™L† —ñ%êM˜`Qפ¤¨o ü9ljÊíá´´4Èår‚™Lv=ÿB�}êêê † ¢S†ˆ ã)2ËO?ý„U«V!22ÎÎÎprr²¨žsçÎ!55áááðó󃻻;†ŽÙ³g£¦¦F¯¼“““Ñ[G•••X²d """www„††bîܹ8s挨º�œœ n #&S¶nÝŠèèhøøøÀÛÛÑÑÑØ¶m›UëÓþUUUxûí·‰~ýúiËΛ7gÏž5ϯ¿þŠÌÌLŒ;^^^0`âãã±wï^½²R¶'Ù�¬,õЩ-[€;ï¾üR{H&“A&“aùòåv�\Љsùòåz±k#"ÃØƒAf¹ãŽ;º\ÇÁƒ‹––�ÇþùgüüóÏ(,,ÄîÝ»1~üx‹ê=z´Þc§N�©S§°aÃìÙ³wß}·ÙõY³ë;;; :ŒYþæ›oðÍ7ß ;;óçÏ—¼±í?jÔ(½óýüóÏøðÃQXX¹\Ž1cÆè¯¯¯Gll,ª««µ�ýúë¯(..Fqq1ñ#rAAÀæÍÀ‡sæ­­Àã�#¬¥Õ¡¡¶ŽŽˆº{0È,#GŽDZZªªª,®cþüùhiiÁ„ PVV†+W®@©TB.—cܸqP©TF¿Xkº«Ûß:Šˆˆ@nn.Ž;†––466b×®]‡R©Ô«ÛP�‚ h‹3f}-æÄcLMM /^ ÈÈÈ€B¡€B¡@FF`Ñ¢E¨­­•¼±íç�wbåÊ•8xð  T*±cÇ„„„ ©©I¯=ÿøã<ýôÓ¨®®Fhh(Š‹‹¡T*ÑÒÒ‚/¿ü²Ó„­+íIDvjî\ ®8|¸çÜSQ�åééÀã� \¸`ë‰ÈJ؃AféJb¡qôèQÀÆ�u&ÊÅÄÄ`Ë–- Ñ–±Ä¡C‡tî{zz"..Æ ÃðáÃQQQa²ŽÓ§O£¼¼xúé§-Ž¥3yyyhmmEbb"–.]ª}|éÒ¥øñÇQPP€¼¼<¬\¹RÒzĶee¥Þ9}ôQÜrË-˜0a8 s¬¨¨D@@ÊËË1`Àí±‡~?ü°­CD½N` ðÊ+(¼pA½÷ŸqÀöíê û{ ¸ývuâáåeëh‰HìÁpš1íW¯^Åìٳѯ_?x{{#!!A»2Fw4h�É2AVXK½OŸ>€þýû›,›ŸŸAoooÉc€ÒÒR†{H4�µ_½Dªz¤jÿ‘#GP'pímܸ�””¤“\éxì1àïΟWÿ×ÉI�pª—¿]³8yÒÖQQ0Áp Ï?ÿ<>þøc466¢¥¥Û¶mCtt4 E·œÿÍ7ß<ûì³Ø»w/T*T*ÊËË1uêTêa=†Œ;nnn Â+¯¼‚ ft­+•J”——ã™gž½¹ †äççè|x”¥ñhœ¼ñgxx¸Þ1Íœ†“füã*¶ž®´{›6m îÍhï»ï¾ î­ÈÉÉÁ°aÃàææ†��$''ãòåËFëìJ{QvÏ=ê�Á7lT* =]=têñÇÕ½ ª7õ#¢… †9|ø0är9T*JKK1xð`Ô××ãÝwßí–óÏž=øõ×_1iÒ$øøøÀÇÇ111øí·ß°qãF¼ôÒKŸ{üøq´¶¶âܹsøä“O�óçÏ,«é±ñóóCLL  òòòðÚk¯uß¾}ûpêÔ)"66¶Ó²bâéH©TüýýõŽš››%¯§+í¯QUU…ÔÔTxyyé­séÒ%ê¡[)))¨©©Akk+êêê°víZŒ?^[¦£®´'õ"11ÀûïÕÕöj¤§ÞÞÀ´i깇Û:J"2� †Y·nbbbàåå™L†¿þõ¯€íÛ·wËùÛÚÚP]]�úúz½cõõõ¨¬¬D[[›Îãÿó?ÿƒ={ö ¹¹/^D~~>n½õVœ;wiiif�÷üùó8qâZ[[;-÷ùçŸqÓM7,#E<æ�j™ÖöõXÒþíUUUáÁ„R©Dvv¶Î<MýPRR‚­[·j'�!((µµµzmÔ]íID=PX�š ”–þÙ«qø00{¶zXÕ¸qê¿™tÙ&$::Zç¾fUsV,’BZZV¬X�ÐÐPÈår�UŒ†ŽŒŒ ½_Å‹‹‹1yòdøúú¢ÿþxþùçµÃ˜þõ¯<�f"Í*R¡¡¡ÈÉÉÁ[o½e4¶k×®aóæÍ:eI<ùúú€Á¡i���:e¤¬Ç’öר¿?&Mš„ .`É’%{:¼nLÎ\¿~=âããÑ·o_ôíÛ Úä­c2+E{‘ðòž{N=g£¢õß÷ÜÓ-IG]]NŸ>�ôôt¤§§KV/QoÅU¤¨Ûäåå6oÞlt£O?ý+V¬è´ž{ï½ÐÐÐÐi9ÄÅÅ!,, !!!ذaÖ¬Yc°lqq1š››1vìXƒûiH�FXX._¾ŒãÇ�#..NçØ‰'´e¤®ÇÒöß¹s'¦N�Š«W¯"99™™™ã FSSÆ�§w,""Œ‘jOl{‘ƒºçõ­½Ã‡ÿ¼i’ M¹ö7ÒÓÓ±~ýz�ÇA°‹ÍËÊÊtóÐ,ÜÒþÿñ2™Ìªû:ÂC"Ɔ´ØÓzþ{÷îÅã�?®½_VV é–ów6™\ÓNMMM&ëÑìmîJEš¡Q*•ÊhÍ/ì¦&wKÏäÉ“±oß>äççë%š_ïÍÙ!Vl=–´ÿúõëñòË/ãúõëHJJBNNŽÑ:"""pôèQTTTèů™hòu‰mO""­nJ:ìEÇ}ƒêêê † ¢SÆž0)²R Ç6„ †DìílÈ믿ÜsÏ=¨¨¨@rr2è$Ö�½{÷bêÔ©xÿý÷q×]wŽ9‚ÔÔTÐùõûÞ{ïÅk¯½†ñãÇ#((—/_ÆÎ�;±dÉ@BB‚NýQQQ˜?>î¹çA©TâàÁƒÚ¡Q'N4×/¿ü‚’’¸¸¸`Ú´iFã�1³fÍÂêÕ«QPP€;î¸sçÎ|øá‡(((€««+fΜ)y=bÛõêÕÚ•§^ýuíœc4«”½ð X»v-&Mš@ý�‰f‚ý“O>©-/U{‘}êøERówû!FÝòE²'2™Lç�ôôt»é]1¦'&E½•±v–"ñp*,,ÚÿúihE꜓“S·},ùŸ‡æBIHHÀÖ­[uŽáøñã&ßwS[Çׯ)ßþñà�ÀÕ«W Öááá�={ö`„ &Ï9zôh”••¡oß¾fŨÙüM³‡C{YYYHMMÅ#�<‚�;w­Cl<�ÉÎÎ6ºlnVVRRR ž»c;‹©GÊö×hhh@¿~ý´÷_{í5äææ,;jÔ(ìÝ»~~~&ëÛž=AOø‡ŸHJr¹\'Á8}ú4AÐû¥ÚœÛnÑ>éÐÜ>Œó.8à…·ÞÂ’ÿý_ÛÆk@OüÿLOŒ¹·3ö½¶ýHˆ’’8;ŸÊÍ òÅ_ 99EEEhmmEll,²³³»-©ŒŒŒÄ‘#GðÞ{ï¡´´çÎ� ÞîþûïÇ›o¾©3g ¢¢ü1ÊËËQWWŒ1O=õ’““qóÍ7ëÔß±üM7Ý„¡C‡â¡‡‚ ŒÏ1wx”Øx:“’’‚àà`¬Y³ÇŽ Þ "55UÔ/÷bêÛþ–X·nÆ��¿ÿýïÚ¥gƒƒƒñôÓOcñâÅ:›JÙžDdì*y0‡‘žŽ{ÆÏ¸v Ã<<à­R!`Ý:`Ý:õNä��êÿ¶ÿ»ýcÜ�œ{0$ÐSz0ØåHd;ü•ލç2øùmiQïF~á‚ú¿íÿnÿÐm‰HOüÿLOŒ¹·c‘-xy©÷ê0Õók,9|Øt"Ò®×·Ó8n}ú`èСxã�7ðõ×_ÃÍÍ pýúu<÷Üshnn¶q„DDdML0ˆˆÈjÆ�‡¹sçjï+ |ôÑGzå¾ÿþ{¼üòË ƒ‡‡n¾ùf„††â¥—^Â÷ßo°îÂÂBÄÆÆâ–[nAŸ>}ˆ¨¨(,^¼ÇŽ3Ó©S§�œœŒQ£FÁÛÛîîî>|8’’’pæÌ™®¿h""çTXX(ÄÅÅið÷÷·a8DDÔ“tœä-‚^™}ûö!**J{?** ß|ó�öþÇŒ¤¤$ü÷¿ÿ5xŽ>}ú 77¯¼òŠö±÷Þ{‹-ê46C±üãÿÀË/¿ŒßÿÝàs|}}±uëVLž<¹Óº‰ˆ�B¡Ðþ]RRggãýìÁ ""«9r¤ÎýŸ~úIû÷¾}û0gÎmr1jÔ(œû zqTTTà/ù‹6¹4h:„sçÎaüøñ¥R‰§žz .\�à•9&&DDdU^^^:÷¯\¹¢ý{Íš5hkkÓÞÏÌÌDhh(† †ÌÌLíãmmmxÿý÷µ÷/]º¤SçÉ“'QWW‡àà`üå/Á¡C‡ôâxï½÷ðÇhï§§§#""Ļᆱ}¼©© 999¼R""˜`‘•©T*�û¾¾¾Ú¿Û•€{ï½Wû÷„ tŽ}ûí·Ú¿ÃÃÃuŽ-X°wÜq¼¼¼0yòdlذA/Žòòr�û<ð€öï»ï¾[çØ¿þõ/ƒ¯…ˆˆLc‚ADDVõÃ?èÜ1b„öïöczÀÏÏOûwÇ9�íË~øá‡0`€Þ¹®]»¹\ŽÄÄDäææêkllÔ¹'''899é$=P[[ÛÙK""¢N0Á ""«Ú²e‹ÎýGyDûwÇ$¢ý¶MMM:ÇÚ—�ˆˆÀÏ?ÿŒÍ›7#99=ô¼½½uÊwœ§!f“_ýÕì²DD¤‹ YMEE…β´þþþ˜3gŽö~ûÕ¥àÀ�Ú¿<¨s¬cYL™2999øê«¯püøq�ãgÏžÕ¹ß}÷éܯ®®† FoDDd&DD$©ëׯ£¶¶«W¯Æ<€ÖÖV€‹‹ u†A¥¦¦ê,u»téRœ:u 555X¶l™öqggg¤¦¦jïßu×]X»v-Ž?ަ¦&üöÛoØ»w¯Nƒ Ò¹ßñ\Ï?ÿ<:„ß~û —.]¡C‡�™™‰Ñ£GKÓDDŠû`‘Å:îƒaLPP6lØ€èèh½c~ø!’““qýúuƒÏuqqÁÚµkuz>L�×ÉÉ ùùù˜>}º¨si°ƒˆH—˜}0\º# ""r NNNèÓ§¼½½ˆ‘#GâñÇÇÔ©Sáêêjð9sçÎETTÖ­[¹\ŽsçΈ˜˜$''ë­õÓO?¡¸¸»víBmm-Ο? Ddd$’’’ô†TiÎ�ÜÜ\ÈårÔ××C 8ÁÁÁˆ‹‹ÃO3YæåY3»!ó±£ ¢&?`눈ˆˆˆÌ¦jiAÅá#øý÷ßõŽýöÛoøîða¨ZZºt³z0Ú‘öõñÁèQ£0?iX|â¨ÉàÛÒ¯-~¾˜zŒ%RœŸˆˆˆˆÈÚ õR˜Ó»ÑQuõI=~ÿ?{wUÕÿü3!Ê:"»ˆ€‚R †daŠK†Kj–¸€>Š‚¿Ä-µ­4CÓòÑDz…Ðr¥ p´ÇžT6VA@Yd_e;¿?p®3Ì 3ì‹ß÷ëu_̹çܳÜ;3Ü3çÜ{Ó<ÀŒiÎPëÛ@cç"$ôwCII £mm[]W…§H OÆKJJðËñ_ñéÎ�øvßÞVÜÙ'÷Ô™ „B!Ï»mF ýÁáBèï˜1Í`Œë\ðù|Œ°¶nS-¾CKK ‹ÌǬwæqë'Nƺÿ[ƒï~øù�ã¿a¨­­Å7ÿ>„ðË0Æ0eÒDxy~náICÃ�AA¹ŠòŠ Œçß½¹U}}=¾ÿñ'\üýÔÕÕÁcÑÌ�=›™þmM'bõGkáúÞ<¼2f &ö~9þ+ví €ãÄÉX³úCÿ ˜2i"¼WzAEYr·)ÒÞ¦ûH^»¥mC!„Bz/Y£¢ëÛrÍEß¾}1cš3.„þŽ¢¢"œ¿pŒ1”––‚Ïçc†ó›èûô\´µZ| FII ~ü9Ã,-ÅÖ_ûß?8üíî$ø‡Ÿƒ�–žŽÿüGþý-RîßÇ?IÍóד'{ _ïù¿ý„ºº:üGd'þ| ±·oã믾Ä÷‡ÿ�ûié�e>íP\»Þꊕž`ß�oQWW‡úúzìûæ|¸rõ¯ÿâ›}�øáÈaLŒ�­ªTÍÕßiüxüû?ÿAUU5¾Úõ¹XœhŒ�Œd¶A‘ö6ÝGòÚ-mB!„òü�"Õš‹»E /èŽ\@qq1wM†ZG1Úí9<žø©±î€È~ôfƒ2³²0PWWê¶úzzØóÅg04�~W*}½�ÈÌÊ‚ù�!rËm�_Oœ„˼y¨~R� cDZaíG\\ö£˜ 6}úú‘Ì6(ÒÞ¦u•×niÛB!„ÒZ¢w‹^sÁ ¡¿cæ4ç6M•ê°ç`¼1y¿Þ�¼ü|äåç#ðëxcò$©ißž= ŸïþéPýä “à¿ñc.~º³3Ϲõo IDATöìûÙ�¡ °»ŸÝ½JKK éZ]ϘØ[((,ÄŒiΘ;{6’’ï!åþ}.~ß�o�ÿø1ò?ÆÞýß`êé·¼mI{m7!„By¾ §J5�.%m½"îÆÇ‹u.úöíË]“¡££ƒ¢¢"Ä'$¶©Îö$o�… pà߇ð/ÏÆ ¦'Mt‚û‚ùRÓ¾ûöÛèÃãaÃæ-ÈÍÍ…™™/ZÀÅ»½ÿªªª°ÒÇõ X²h!·ÐÍž«¼Q^^Þì4(iϸv9GŽþ€þµ}ú4öµV¯Z‰ož/>Œs|+>ôAEy&Oš(³ -i¯¢í&„B!¤=Y[YAII #¬­ÅF)ÔúöÅÌiΈOHİ¡CÛT¯  €]ºt 3gÎlk}ÖÐЧ©Î¸v©ÓÊl�öz !„B!ŠPäúŠv¿à»�„„„`êÔ©7Eª9É÷îɼ–�B!„ÒsuØ©æ¬ò]ƒ•žtEÑ„B!„t[Ýut¢%º¤ƒv1¤+Šm1šE!„BHËtÉ)B!„BHïD B!„BH»¡!„B!¤ÝPƒB!„Òn¨ƒA!„Bi7ÔÁ „B!„´ê`B!„BÚ u0!„B!íFæƒörssqïÞ=wf}HhkkcذaÐÓÓS(=cB!„ÒRòÎ9¥v0rss‘‘‘�_|ÚÚÚZAÒ~Š‹‹‘œœ r;tŒ !„BHkÈ;ç”:EêÞ½{6l�xö0ÂÞ¤ð€7‡Ž1!„Bi yçœRG0Š‹‹¹Ouuõv­ÐŒ½òO~Iëÿ—´µµšòԑǘtž¨¨(¼üòË]] …ô¤ºÊÓ›ÚBÚ½?!½YTT¬¬¬š=ç”y Fgº¸ÚŠ{==0© kB!„Bi‹nÑÁvÌŸ$ZcëÓÎu4!„BéyºM¶,°ÆkñކPoêp\ðFSÅ!„BH¯Ô%Œf§DÙÏÁ{`Ë‚cÏÖEžÏÅJ"­N?e,y]v¦ý ªÜɹո-²±*t݉TOp*º^õ¸ø >ÃðÓÿcÆHmðxÀ×áy<àÌ­ƒêZ†Ý<Âݬ*.¯Åãt1~˜xàáJr)¾ÿïcÔÖ3‰r••xø`ü@Œ¦�ò' 8]ÔÞ»²Ãdgg#99Yìä�to¢'/Ýý„fäÈ‘ ÃíÛ·ÅÞcwîܼôÒKºoý›*--ÅáÇQWW‡9sæÀÌÌ øûï¿»ºj„BH§ê’ÆôÀ$œ9ú>×¹33K|ò´!¯£!”’÷8[„ìâÚfËtq= xýœð�j ‘†ß_ž?¦cÜP ¬u6ÀŸñ¥Xò}Æ ÕÀ²ñáüð¾ƒùªXý4¼æM¼?†�Ÿÿ)�Èóý1|k¿€•Aà=MÛSáòåËÍv0þ÷¿ÿá�?þ�ÇCÿþýaee…©S§BUU€äÉ¡ŠŠ tuuQUU…²²2hhh`ÆŒ:t(€1†èèhܸqEEEÐÔÔ„ƒƒÆŒ�×amíí?~Œ@UU¾¾¾PUUEaa!öíÛ]]]¬Zµ €äñRSSÃÈ‘#1uêT())h¿côÒK/!<<III¨©©Á /¼€šš$%%�ÇãIt0„å•ÿðáC9r&&&Xºt)jjjðÅ_Ö®]‹^x‡FVV–.] “6ìÙg._¾Œ²²2̘1VV�Ó@�ŒŒðî»ïri¤u–¶nݪð>mîóÖ\çR‘üëëëqéÒ%ܾ}UUUí²OHËÈû>׎ü|BH[H}Ð^gˆ��Ezz 633�““ÓÓŽ†5>I´~–XØÑhbçÅl(õ>{g~]n‰�œ Áï/½Ïäd¥�ÃWóQXQ‡ÂŠ:¾’'‘æ§ÿ ²¦—KÑW¥‚þy<àÙüD+MüûJ—×áqy òád­)µÜ‰Ö�i DÒö“&M£G��”$ûûÊÊJxzzbãÆ�˜/tuu1tèPTWW#::À³‘kkk‰ôX·nFމëׯ‹ý ß^ÇHKK ƒ Bmm-THHH@mm-LMM¡¥¥%u;y囘˜@CC999hhh@JJ êëëQ__�ÔÔT444 77066nQ�›“’Òø}¦ÈˆŸ­­-Ö­[Ç�(*ºO›û¼5í`ˆ†Éÿ¿ÿý/®_¿ŽQ£Faݺuxå•WZ¹'Hk)ú}ÚŸOBi‹.ë`LL™3�33¤§gr¯�œœàää$ÙÑh¢¸²"ò°èÈ}|ðcŠ*ê°vš¡Ô´|ueä–>åÈ)‘ñ(«®nª“hXEéÙ/?|ue±í×`€ºôŽÍ)i{ KKK <�Œ1©i&Ož CCC(++cÔ¨Q µCbkk CÃgÇÆÎÎFFF€¢¢gÓÆnܸ˜0aúöí‹×^{ pýúõöiÔsL¸/ÿùç444 ..€ô†£££Øþ���åâÚó�9À³ÎNÓéQÒÈ+ŸÇãaذa¨««C~~>’’’```$%%!??uuu°²²j×_t+**ýû÷—›vòäÉèÛ·¯ÂmÝN‘Ï[SŠäëÖ-�ïÑ4¤ó(z|;ëóI!­Õ¥·©Žb˜™™ÀÌìÙ4dffbÁ‚øïÿ�(7¯âÊz]/ÀÏKͥƖ×A_S™E�'øZ*­®way ´Tð °1/CíPP^'5mAyôµTð�KÛúr»Â¤I“ðý÷ßKý'—™™‰ˆˆäää ªªŠë„”––J¤USS“í¼;ûöíK_XXØúF€™™Œ��‘••…ððpäååÉü_øtwá_ÑcÚžÇhĈ Ejj*òòòpÿþ}())ÁÆÆFæ6Š”omm�¨¨(î:¢Ñ£Gbbb`jjÊ¥iOýû÷GYY***d޾ihhˆ…iSK>oM)’¿0aIxìIçhÉñí¬Ï'!„´V—v0„×bÀ‚ �™Ù8Š‘™™ XXXÀ‘pÝK¹ cÇ\üYˆäÜj(õáaîh¤ä=‘ZÖ•¤2,?{ÃrËÆlu½¯$•Ás‚¾ú3à9a ®$•IM+H*Åã"ði¹Œ×‹ozK[yáÎ6xð`XZZB HÄ�8qÅÅÅpssƒ……êëë±cÇ™£ŠÐÐÐ@QQüüü ©)}Úi½W_}'NœÀµk×@æ¯øåååÐÒÒByy9ˆ‹ö !¤µºlŠ”�‘Çqlݺï¾û.ÒÓ;ÂÎÀâ}8;Ï”ºí¯‘…xמ�–˜ãàB3i¿€Ý<’šöØ�<.¯Ã· c÷{ƒ•Q‰º†Ö�»Q€‡E5Øë:{]ãAa Žß�¼ÀŽß(DNi-ÌŒ/Þ„k)Ò;"ÝÙ¤I“�““#±¾¡¡ñî]JJJ¨­­•:W¸¥„ó¾/]º„ÊÊJTTT 11ßÿ}›ó&�#ÚÚÚ\XÖ¯ø×®]Cuu57·[8]hÿc$œ&%|�57=JÑò•””`ii‰œœ(++ÃÔÔ¦¦¦PVVFNN†Ê]Û^œœœ ®®Žððp$''£¦¦9998yò¤Ümi“"Ÿ·~ýúŸv¨hþÂãð÷ß‹{Ò9Zò}Ú™ŸOBi�nñ$oámg=<¬`kk‹ÀÀÀg îã”Ạhz.û ’{æ…4¢¿ü×Ô3|ž‹¯ÃG†èªŠMkj:JÐ\¸¦žá  ’Š7M[[Ïp ""ž¥½x§¤Uåv### > bëßy焆†"((ˆûçØVcÇŽEÿþýñÏ?ÿ`ïÞ½PQQ�‰‰ &MšÔ.ù?ïúô郱cÇâ÷ßoöWü7nàÆ�PSSƒƒƒ¹¸ö>FVVVܤ^xáîL²(ZþðáÇAƒAE¥qjâ Aƒ�––ÖîÓ£€Æ‹Ö—-[†Ë—/ãܹs¨¬¬Dß¾}a` ÿÎqŠ´I‘ÏÛĉ!°wï^Ï.üV$ÿ×_•••¸uëþùçŸ6ì Òœ¦w†[ò}Ú™ŸOBi ^AA»téfÎ|6JÂ…Û{®"'ÌW?ëhL˜0ðÉ'Ÿhü2–xú·‚–�ˆ‘EPQâÁç }¤?~‚ÃW{Î]�ä9þ¯Æ‹¦E�Ÿ,yŒI牊ŠÂË/¿Ü¢m»„ôp½j®\¹‚ &`ùòåX¾|9tyºþÙâââ"sû[7¯ãÖÍë8{ò7 ·¶Æ¦-ŸtVÕ»V}5\W-…Û*O ¾ 3Wz`æÊ%@}\W-…몥@}f®ôÀÛ+=ët ñDnìØ±YŠŽÉ9ÊÉÉÁ¢E‹`hh---L™2aaabÛÉ�¢Q©g¤í§î¼odÕK‘÷LwS\\ www 0”z'®èèhî¡DòŽM{ç'í=¡©©)³=ááá˜2e 455addäææÊLùòe8;;CKK FFFXºt) ¸xÆüýýÁçóÁçó±~ýz¹C᢫«‹Ù³g#--M,þðáÃÛ…††vË÷LGÕIÑ|¥¥km�Ö­[‡ßÿ�;~íýy]³f Ž?.óý!|_¨¨¨ÀØØï¿ÿ>bccÛ\®¢š¾7gΜ‰{÷îuZù݉è¾ÐÐÐÀäÉ“‘��ÐÕÕ"ÝH¯ê`;W®\áÖ ;¢ËòåÇä~jkiÁcá$&?{òxƃXã¿ã'¿lj“áû‘?Š‹‹oÍ}逼ü|Ø:ŒE~~ãƒü㭹ïJÒ�Ô#ø«møå«O�º|„ì^ƒ�Ýk€úBµ Á_pëOùà1ñç‰hkkãøñã-.vÑ¢EÐÓÓCll,>|ìܹS, cLliºž@bÿHÛ_=MO©»¯¯/jjj���€»wï"!!ßÿ½Xš��̘1€ü÷m{ç×ôósâÄ xzzÊL///$&&")) æææpss“™~Ë–-ðòòBjj*bcc¡¬¬ www.þСC CTT¢¢¢péÒ%9rDf~¢uNLLÄðáñhÑ"±øC‡¡¾¾^lÝ®]»šÍ³·iË磵Û>xð£G�n—:H“žžŽW_}µÙ4Œ1TVVâÊ•+°µµÅĉ;õ‚zá{3)) £G�{¯?o„û"++ “&MÂÂ… »ºJ¤;)((`ÁÁÁ¬¬¬Œ[DÃ=Æc�@ærôèÏL 0L sqqËc¤½÷º¸¤„íÿö ss_Ì­{×Õ�ݸɪ««YYYÛùÅ.¶u{cŒ±�»v³ßNžbŒ1vü·lÌkãØo§NsáÏvÙ¡ígŒI=~²–¦Ç˜Çãqù´ô5vçÎ6tèPöäɱõÒ^‹êß¿³ï3YÛµ4ÍóDt$%%±wÞy‡ñù|¦¥¥ÅÞ~ûm–ŸŸ/–öÀ�ÌÜÜœ 0€­\¹Ræ1¬¯¯gÛ¶mcfffLGG‡-^¼˜•——·¹Ž²Ö‹¾~òä óòòb|>ŸYXX°o¾ù¦Eñòê€ýøã�lĈ¬_¿~lìØ±ìÎ�; µeÀ€,77— çää°qãÆ‰¥qpp`ááá íƒöί)–™™©PZÆ¿Wúõë§púÒÒR¦©©É…_}õUvñâE.|ñâEæèè(sû¦í())aýû÷‹_³f ûé§Ÿ¸u!!!lùòåÝò»@V�ª««™��300`úúúÌÇLJUWW‹Å/_¾œñù|fnnÎ8 óóÆìì옚š>|8 âÒˆ.Ò¶­­­eü1355eìÀ�2Û!mi®œ–´Y‘<¤­ß¹s'›={¶ÂûUÖ¾bL±ï Q¥¥¥LMMM¡m›+WÞ÷°¼6ÉûþjK›eiº/ÊÊÊXß¾}ånGzYçœÁÁÁ¬  €õº YÒÓ3aff‚ôôæ¯5æŒó ÆO~§ÎžÃ®�\Üo¿aŒýËPUU…ºº:¼½VàÚßÿŒ{íUDFG7Öã¯ÿÂÍå}\ùë/ÀͨhŒ{­ù_ezº_|NNN8pà@‹¶{ùå—±a䤤tPÍžoóæÍÃÊ•+‘™™‰ŒŒ cýúõbiNŸ>�«W¯âÖ­[HJJ’A „@ @DDRSSQ[[‹Í›7wF3°cÇ$''ãöíÛøí·ßZ¯HÝO�:… . //Ó¦MÃòåË®_Ó©"wïÞåÂyyyHNNÆë¯¿Þeù �;w666066V(}EEöïß�‰'J­›45jŽ‹‹Ã˜1c¸°½½=âââ*ÿñãÇØ±clmmÅÖ¯\¹Ÿþ9÷ ú§Ÿ~ …òì.‡›7o"22·o߯Ž;¸øíÛ·###wîÜÁ_ý…³gÏÊÌká…ظq# qêÔ)„„„x6ÂÀšåúüóÏñ×_!""111bï5QMóÍO‘räµYÑ<šš7o®]»¦P€ì}´ì;®°°_|ñ^zé%…¶m®\ ùïaymšÿþj¯6ËRVV†ýû÷ÃÞÞ¾EÛ‘^®7�`ȹ8zôgvôèÏrG0Xƃ‡Ì}é2~ù27>ž-]áÅÆMšÌFÚ;°‘öÌÖa,c¬ñ†é³ßf•••lܤɬ´´”½>i «ªªbÎoÍûµ¡£´u£¥‹žþ’‘““ÃÌŠŠŠÄÖ7}-*''‡-_¾œ3---æææÆ²²²Ä¶kº4%+ïçUsû£¤¤„™˜˜ˆ¥�‹‹ãÂwïÞeRó²¶¶f‰‰‰\Xx¼[[GY‹´²-,,ÄêyçÎ�ÅË«;öèÑ#.\QQÁý2)ÏÂ… ÙüùóYnn.ËÍÍennnLYY™‹ÿî»ïØ»ï¾+utF~¢X||¼"Í⎇žž»wïžBåDGG3íëÓ§«©©áÂ555LIIIn¹ŸÏg3gÎd)))åÏš5‹�8q‚�;wŽ9;;Ë­[W‘U'sss‰÷¬ègÏÜÜœ%$$pḸ8™Ÿ�Aƒ±}ûö±(T¾è:KKK…Gëšæ¥Èw¼(ym–—‡´øÊÊJ±Ï‡¼2šÛWŠ|Oˆ.†††,--M¡m壿¾‡ÙoÍ}µ¥Í²4Ýêêê,**Jîv¤÷x®F0¤QtäB�ǃé ìÜö)>û••ÿ ›0kÆ „œ>…˜ëÿÃ_áahhh¨ªªb°©)‚ý 6#F@CC#†[ã—ã¿Â|ȨªªvHûÚSCC×E^7¥¯¯�eË–! @j¼¬m¾ýö[dff"99󽙌k0ˆ|‘‘‘˜x<´´´ðèÑ#±4æææÜk deeIÍ+##666PVV†’’ ñðáÃV×­éqmîØfee‰ÕÓÒÒ²EñŠÔÝÀÀ€{ݯ_?TUUA���`ŒÁÚÚ#GŽ„�� tuu¹ø .`æÌ™ åÕù …††B__ÇW(=c %%%X±b–,Y"¶^�@€Y³f!((HlÄA]]%%%\¸¸¸rËfŒ¡  çÏŸ‡………Dooo`ëÖ­X½zµBmêN²³³%Þ³¢Ÿ½ììl 2„ ‹¦mêÌ™3ˆˆˆ€��† †ÐÐP…ë‘™™)ñyé(òÚÜÚ‚‚‚PXXˆœœhkkcÒ¤I€ÚÚZ„‡‡cÚ´i]–ŸÐ¶mÛàïïߢm455áçç‡è§Ó?e9~ü8æÏŸ�“'Obüøñbq666¸yó&ŽŒŒ„��M‹ê!Í”)SP]]�ªª*L�:µÍùu6###Ü¿Ÿ §¤¤ˆ}öŒŒŒ$>›²Œ=§OŸF~~>¾úê+±¡¼)mƒ j—)ªŠÜEJ^›[ã×_Ÿqã.£¹}¥è÷�ǃ¥¥%‚‚‚àåå…²²2¹Û6W.Ðü÷p[÷[{´¹9jjjðôôÄ�7Z´éÝzMCؓ޺u+×ÑhKçBè�9spâôiÀÖ�7aïþxuÂD,]î{‘»iÀ8Ç×P^^ޱO;c_q@yy9_{­Muè,}úôAŸ>}~-�šš6oÞŒ 6(TæäÉ“ñ矢¸¸˜›oMOo?ÐÔÔDÿþý‘‘‘�eË–I¤ñõõEVV²²²àëë‹ùóçKÍkÅŠX¶lPYY‰›7oböìÙÝ€›››X=›þb-/¾#ë¾`Á¤¤¤ ¨¨ÇŽÃgŸ}ÆÍa¾zõ*¬¬¬ §§×eù@XXx<å¦�;w.bbbP]]�‡bãÆ�prrâ⛞HîÙ³k×®EXX$ò[´h6mÚ„´´4¤¥¥aÓ¦MðððhQýe‰��G|||·¼=­<®®®ðññAff&233áããWWW±x???dgg#;;»Ù_‡çÌ™ƒ˜˜Ÿ­X±Bâî$Bõõõlß¾}ÌÚÚšõë×�ÙÛÛ³³g϶¹Ž²Ö‹¾nzG�o¿ý¶Eñòê.­>оŸ~úé'fnnÎúõëÇÞxã ÍÅ­^½š}úé§ù6÷¾mïüclüøñìÌ™3 µçܹsl̘1LMM� 4ˆyzz²‚‚±òä•€ûnihh`}ôÓÖÖfÚÚÚÌßߟ544È,_Þ~—÷�ÐÝÈ:>UUUÌÛÛ›éëë3}}}æ‹‚= IDATííͪªª¸íªªªØ|ÀtttØ�!CØž={˜ŠŠŠX¾B§N�b£F�bjjjÌÎÎŽEDDpq_~ù%ÓÖÖ–ùÙª©©a6l`&&&ÌÐÐ�}ûí·Í¶EVXZ9MÉk³"ÇSRRb†††ì½÷Þc·nÝjQÍí«Ö|OüñÇlôèÑr·m®\yßíÙoо?Zû½.ú~VSScŽŽŽ,66Vîv¤÷�w ¯  €]ºtIlNoHHVWWoM¿¥ÛöÔ�ý™[çá± üQŽõ’yýåååÄ�Ÿ,M�qŸ>}¸k+Zúš"ݰaÃpüøqØÙÙuËüHÏqûömÌ™3§Ù©R¤gâñx½æ<„„BzŸ÷AÒrÝõ¼¤»Ö‹ô 4ß…B!„Òn¨ƒAdrrr�ǃ“““Ì×=ñö�„B!¤ãý+ñ:=vv8ÓŠ§vÒÝÑ­# !„�Ö¡)RD‚­­-בˆ ”X bcÅ:@ãIÙØ±c%òlÉT*švÕ:=iß·G]»‹ââb¸»»cÀ€8p ¶nÝ*‘&::VVVÛ(\:#?Ñxᢩ©)³=ááá˜2e 455addäææÊLùòe8;;CKK FFFXºt) ¸xÆüýýÁçóÁçó±~ýúf;n¢õÔÕÕÅìÙ³ÅFHy<>,±]hhh�|ÿBHoD "†Çã[¶4ÉÂûûž9ûÒÖÖÆñãÇ;¤~¤y=iß÷¤º6Ç××555HHHÀÝ»w‘��€ï¿ÿ^,MHHf̘ ñ„»¹ìöÎO/\Nœ8OOO™éàåå…ÄÄD$%%ÁÜÜnnn2ÓoÙ²^^^HMMEll,”••áîîÎÅ:taaaˆŠŠBTT.]º„#GŽÈÌO´Î‰‰‰>|8-Z$èÐ!Ô×׋­ÛµkW³yBéDRó-|MzY�m—¶È:ƶ¶¶Ì#-­ÙÅ6-�Ùº»³£G�²Ë—/3'''n{ìÎ�;lèСìÉ“'bë…ª««™��300`úúúÌÇLJUWWséD¡úúz¶mÛ6fffÆtttØâÅ‹Yyy9Æìì옚š>|8 j÷ýÛÝuվ Ó>|˜™˜˜0�Ç­Û¶m322bììÙ³lÇŽŒÏç³Aƒ±+W®pÛ'%%±wÞy‡ñù|¦¥¥ÅÞ~ûm–ŸŸ/µ.Í0`ËÍÍåÂ999lܸqbiXxx¸Ä>èŒüšrpp`™™™ ¥e¬ñ{¥_¿~ §/--eššš\øÕW_e/^äÂ/^dŽŽŽ2·oÚŽ’’Ö¿±ø5kÖ°Ÿ~ú‰[–/_®ð> „Ò6²Î9ƒƒƒYAA£ ½hΙ3pÒÑ‘ýâ‹/ÂÉÉ �€¸¸8ܼy‘‘‘¸}û6vìØàÙ}·Y“_e!�ÔÔTÔÖÖbóæÍ\üÂ… ±qãFâÔ©S Q¤É½NWìû®¨«PHH®_¿.ö ÈG�!!!Û·o‡››²³³‘––†-[¶ÀÏÏ�K7oÞ<¬\¹™™™ÈÈÈ€±±1Ö¯_ߪ¶ˆNÍáñx¸{÷.ÎËËCrr2^ýõ.ËOèܹs°±±�±±±Bé+**°ÿ~Lœ8Qjݤ‰ˆˆÀ¨Q£¸p\\ƌÅííí§Pù�?ÆŽ;$¦b®\¹Ÿþ9÷>ýôÓOéy„Ò�ÐFïÑÖŒ–Œ^–––ÆÒÒÒ$F0küÕuðàÁ¬¨¨Hl=cŒ™››³¸¸8.|çÎfaa!‘‡(kkk–˜˜È……ù 4ˆíÛ·�=xð  {°gëª}ß•uMOO—È·  €1Ö8Ò4¬ªª*³N%%%ÌÄÄD¢Žò,\¸�ÍŸ?Ÿåææ²ÜÜ\æææÆ”••¹øï¾û޽ûî»ÛÉÊ¿½óåààÀâããi7’¥§§ÇîÝ»§P9ÑÑÑÌÄÄ„ÅÄÄpëúôéÃjjj¸pMM SRR’[.ÆçóÙÌ™3YJJŠDù³fÍb'Nœ`çÎ�cÎÎÎrëF!¤ýÐQHKF/æ ‚ôôtn‘F__Ë–-C@@€D\vv6ÌÍ͹°¥¥%²²²š-6##666PVV†’’ ñðáC‘j�ADDììì0lØ0„††ÊoK/ÕÙû¾+ëjjj*±ŸÏ¨ªªJ„ŸNII›²!m †©©)RRRPWW‡úúz444ˆ]ä9zôhœ>}ùùùøê«¯ÄNˆžG�¹ï»ª®²ê«(¸»»sm+,,lU»ø|>‚‚‚PXXˆœœhkkcÒ¤I€ÚÚZ„‡‡cÚ´i]–ŸÐ¶mÛàïïߢm455áçç‡èèèfÓ?~óçÏÇÉ“'1~üx±8ܼy“ GFFÂÆÆ¦Eõ�fÊ”)¨®®FUU¦N�Úæü!„´ê`�¿ÆÚÙ‰-X¼¶{÷r‹�‡£¾¾033Ä àääÔlgCMM ›7oƆ ÄÖ»ººÂÇÇ™™™ÈÌÌ„��\]]¹x]]]$$$ˆm³bÅ ,[¶ ¨¬¬ÄÍ›71{öl.~Μ9ˆ‰‰á~¡~ÞoWÙ™û¾«êÚVÐÔÔDÿþý‘‘‘�eË–µ*Ÿ  %%EEE8vì>ûì3î•«W¯ÂÊÊ zzz]–„……�ÇãÁÑÑQnÚ¹sç"&&ÕÕÕxøð!6nÜ'áÝã ùÙÚ³gÖ®]‹°°0888Hä·hÑ"lÚ´ iiiHKKæM›àááÑ¢úË�øøøçþóN!Ý u0G8-A¸˜™™ÁÉɉ[´µµÅ¦F ™S¤„æÏŸ�””±u›6mÂðáÃaoo{{{ØØØ`ãÆ�\üºuëðÚk¯‰�4x{{cÖ¬Y˜;w.///üë_ÿââÝÝݱxñbðù||üñÇ jŸ�Òƒu־諸¶Õ‘#G°nÝ:hhh`âĉ˜0aB«òqvvÆ›o¾ |÷Ýw8{ö,÷Œ ÑÛÉ ‰>³BÚó+Ú;? qôbíÚµ µgñâÅðôôŸÏ‡££#jkkñã�?ÊL¿fÍÌLLL�ÇkçVveee¬_¿~ë›;>¢^}õUvñâE.|ñâEæèèÈ…ûõëÇJKK¹pII‰Ôòd)--eššš —×ÖxYdí�ön_S²Ž�¢õsuueû÷ïW¸>„ÒÉ:ç fŒF0ˆ˜ &ˆ=©[H8šáì<Ë—/‡“Sã´)WWW™yâ‹/¾ÀK/½Ä­›7oV®\‰ÌÌLdddÀØØëׯL›6 �pîÜ9¨ªª"$$ 0mÚ4…Û1oÞ<\»vM¡rÙÓ_+Y“_.›Û¦§ @\\nÞ¼‰ÈÈHܾ};vì�švÇŽHNNÆíÛ·!ðÛo¿‰ÅB  ""©©©¨­­ÅæÍ›ÅÒ„„„àúõëhhhè°6uGØ¿?&NœØê<âââ0fÌ.loo�¸¸8.<}útìÞ½%%%(..Æ®]»0}út…ó�ˆˆÀ¨Q£.¯­ñ-ÕÞíÕÇ'""ååå022€àîîŽâââVçG!½�`ôí5‚!k9zôgîocZ0±: Éh€¡¡!KKK“Yç’’fbbÂküåÓÕÕ•1ÆØ´iÓØÚµkÙÌ™3cŒ½÷Þ{,44Tj�òKcee%SVVV¨\YyÈÛ¦»iºïEÛdnnÎâââ¸ð�;w˜………ضBiEã­­­¹‘&ÆËÉÉaƒË+==½ÝÚÕS÷¹žž»wïžÔxEôéÓ‡ÕÔÔpášš¦¤¤Ä…333ÙàÁƒ¹òÌ�ôÉÍLLLXLLŒÂåµ5^Yû£½Û'Z^sÇGÑú)))± °ÜÜ\–››Ë\\\˜‡‡‡Bõ#„�Þ‚F0H»HOÏ„™™ ÒÓ3å¦eŒ¡¡¡÷î݃……bbb¸¸ÈÈHLž<|><ZZZxôèÀÉÉ ×¯_GEEþùç¬_¿ÿý7*++qãÆ L˜0AáúfggCGGG¡reiÍ6]�ɸ#;;æææ\ØÒÒYYYRóÈÊÊ’H+*##666PVV†’’ ñðáC±4¦¦¦íÑœ…1†’’¬X±K–,iu>êêê())áÂÅÅÅÐÐÐàÂpssCQQŠŠŠàææ¦ÐuN�³fÍBPPlmm.¯­ñ-ÕÞíj¯ãÓ¿ìÙ³zzzÐÓÓÃÞ½{¹‘VB!�¨ƒAäjIçBˆÇãqwWñòòBYY€Æ‹ÃÝÝÝ‘’’‚ºº:¢¾¾ ¦¦†aÆaÿþý3f ´µµñòË/ã믿Æðáᦦ¦pù¿þú+Æ�Ç…›+WXߦämÓ“‰Ý‰'%%ÆÆÆRÓ#--� §¦¦ŠÅ›ššrû¤¾¾ ûåy½ƒ•¦¦&üüüÝê#GŽ”¸üy}¿Bˆ,ÔÁ bœœœ¸ë €Öu.D™ššbܸqøå—_4Î�ÖÔÔDÿþý‘‘‘�eË–‰¥Ÿ6mvî܉©S§¦N�Š�;w*týE]]RSS±sçNìÞ½ü1'¯\]]]$$$ˆ­“·MOâêê dff"33>>>2¯Ÿqssƒ¯¯/²²²�••…Õ«W‹Å¯X±Ë–-CBB*++qóæMÌž=»3šÑ-Í�;111¨®®ÆÃ‡±qãF899)¼}Ó“ÓE‹aÓ¦MÜ]”6mÚ.ÞÖÖ_|ñŠ‹‹Q\\ŒÏ?ÿvvv2óÛ³gÖ®]‹°°0888H”/¯¼¶Æ·T{·OÞñiiç`ñâÅðóóC^^òòòàãベ3g¶¬‘„ÒÛÑ5½G[¯ÁÂÓ¹Ê[·n容hº ™k0šúã�?ØèÑ£cŒ]¸p�YYY1fjjÊöíÛ'¶Mrr2ÀnݺÅc,66–hvδ°¾JJJÌÐÐ�½÷Þ{ÜöBòÊýòË/™¶¶¶Ø:yÛt7ÍÕ­ªªŠy{{3}}}¦¯¯Ï¼½½YUU•Ôm«««ÙòåËŸÏgæææìÛo¿•¸‹Ô¾}û˜µµ5ëׯ³··ggÏžU¨½Ñ¹sçØ˜1c˜šš4hóôôd\¼ðý)ºˆjnhh`}ôÓÖÖfÚÚÚÌßߟ544pñÉÉÉÌÙÙ™iii1---6mÚ4–’’"3?iåà>ûòÊkk|SòöG{·O‘ãÓ’ú1ÆØæÍ›™®®.ÓÑÑa .dEEE2ÛK!½‘¼k0xìÒ¥Kb¿À„„„pauuõvëÌ�ŽU^^@üøÉ¢È1þ²wôèÏq º 88¸ µ&„B!=‰¬sÎ��L�:Ê]U1Òý±§óŒ›ëh;v ÇŽ£‡ºB!„ ‘O‘Ž!„B!u0H 4íh¯“¤Ñ B!„"D ÒbÔ¡ „B!²Pƒ`ÆÞä®®iƒ >úº „B!ê`™*N€+W®pOЖöúÊ•+˜˜Ô•Õ$„B!Ýu0ˆTÙG߇­�†=ŠØØXØK¼> [33ľ‰«ÿèê*B!„�n€žäM$\\mlÙÂ]Åmkk+ýuz:<ìì`ffÖ%õlOW[uHZÒsµô Ï„BiD "ÁÖÖ¶±# 60Pb€Xˆ�åÒ =)}Œ[Ak¾Ù—Ö½Œëßxàqòß\|W�œwT¹W[I,MËë¬6óx<Œ;Vêú–äÑÚ£®ÝEqq1ÜÝÝ1`À 8[·n•H +«Æ÷�Çã–ÎÈO4^¸hjjÊlOxx8¦L™MMMÁÃù¹¹2Ó_¾|ÎÎÎÐÒÒ‚‘‘–.]Š‚‚.ž1ðù|ðù|¬_¿¾ÙEˆÖSWW³gÏFZZšXüáÇ%¶ í‘ïBé�¨ƒAÄp£ H&Þ›öÌxØÙIDß Z‹Ô`ÜGg1iëXL^†Ô?ÿÍÅwÕõYîôÀ$±¥£Ëk޶¶6Ž?Þ%e·TOªks|}}QSSƒ„„ܽ{ øþûïÅÒ„„„`ÆŒO¸›;Ánïü„ñÂåĉðôô”™> ^^^HLLDRRÌÍÍáææ&3ý–-[àåå…ÔÔTÄÆÆBYYîîî\ü¡C‡†¨¨(DEEáÒ¥K8räˆÌüD뜘˜ˆáÇcÑ¢Ebñ‡B}}½Øº]»v5›'!„�ÎC "FtôNN°]½Z|±µåF/´µµ%NlŠÒ¢1ÌÙªºPî«]+G¼²ò.^ô×ü†ºÜým+þÜàÁ¶)Èøï/¿ü§\ú[^GøfGäÞ�@jØ¿ñçDluBaêM±¼âO |³#Â?vDüé4ÔÕH/·¾q'>i,wûxp-X¬ ùéˆþþCü¹Á—ÖÙ#ú»U¨©(jÑ~l:’!:ºÑ‘vïÞ��?þ555RãŸK–,AEEE—ÖUXÏÿüç?4húôéí۾};Œ��ahhˆsçÎaçÎ�0`LMMqõêUnûääd¼ûî»0`´µµ1wî\<~ü¸Åí8þ<öîÝ ===èëëcß¾}øî»ïÄÒ\¸p3gÎì’üšúâ‹/°zõj™ñ˜;w.ŒŒŒ ¡¡???üóÏ?2Ó_½z³fÍ‚®®.ôôô°k×.üõ×_\ü?üÀ½† ‚íÛ·ãèÑ£ ÕUWW6l@LLŒØú & 8øÙçöÂ… ܈!„�®G ½hΙ3pÒÑ‘¥5èE$]؃ÊÇr³I¹ô-ª ³ðºÆ~ø rï†K¤yRš�ñëC1lº/bôCuI&nŽÀPçUH8³óY^~‹òG)pô; Ç5'Q–�„Ô?J-7õσ¨ÈKÇëþç1vÕOx*ýý‡&}r“¶^†ª–>’Î)·=ÒˆŽhtƨƋ/¾'''8p@j|@@âââpóæMDFFâöíÛØ±c€gÏ7iú‹x`` """�ššŠÚÚZlÞ¼¹Kë*‚ëׯ£¡¡�[÷èÑ#$$$`ûöípssCvv6ÒÒÒ°eËøùùqéæÍ›‡•+W"33066Æúõë[ÕÑ�ÇÃÝ»w¹p^^’““ñúë¯wY~BçÎ�ƒ�� Œ��J_QQ�ýû÷câĉRë&MDDF�Å…ãââ0fÌ.loo�¸¸8…Êüø1vìØ!1såÊ•øüóϹ÷é§Ÿ~ …ò$„Òñ¨ƒA8b£2G/æÌ™ƒ &H\àm爆ú:üóõB\Zg�ØŸþÕ%yRóÊŽ:�ásÖ£¯–újéaÄÉ“»aÓWC¹¯:Œíg¡¾¦ æ}È…ËÝ{–WäyŒ˜»}µ ÐWÛ#æ~Œ¬¨óRËÍŠ<טVKŸK+êõµç0`è+PRé å¾°šá‹üÄ¿¤æH^‡ÑÕ¶mÛ†½{÷¢¸¸X".(({÷î…‰‰ LLL°oß>5›ßáÇqàÀ 2:::ؽ{7Nž<Ù-êºwï^Iä©©©‰  ¢¢Ÿ|ò =Q¿uë&Nœ555hii! ¿ÿþ{‹Û0}útøúú"//yyyðõõEyy9áÂL™2***]’Ÿ¨€€|ôÑG ¥åñxPWWÇW_}…À§×^ɃU«Vaß¾}ܺòòrhiiqammm”••É-›ÇãÁÊÊ qqqøá‡Ä⇠sssœ:u çÏŸŸÏ‡µµµBu$„Òñè6µ@ãI²íéÓòž9ƒ9C† ==]ê¼oU ]¼8o+0o+jÊ �v±?­ÁØU?I¤­.ÍC¿&\¸ß€AiTú5ž˜ôQ~A",:ª1¯gÛ÷×5Eu‰ô S«Kr%ÒŠ*yx‰çv¡4+µ•¥^%©y]w½…,úúúX¶l$æ¥gggÃÜÜœ [ZZ"++«Ùü222`ccàÙèF{]LÛÖºššŠ;àóùUUU‰°è«ÈÈHøûû#&&EE�Sà””dgYáíí kkk¼ð øðá««ËÅ_¸po½õV—å' }}} >\¡ôŒ1”––bÏž=X²d 7½LÖõ� .DPP�Øêêê())áÚP\\ ¹eËãíí�µkׂÇãIŒlBéZ4‚Až13Clq±ìåÌ  ß–öõ:Í%îH�ï«©‡Ê‚L.\Yð°ÕUoÌëÙö� ¯–¾ô´Zú¨,-÷�X|̾0qxN›Â0mO<ÞØq¬¡¾i6Šë‚;ÛøùùáìÙ³ÈÈŸªfdd„û÷ïsá””±é2Ò:¦¦¦HIIA]]êëëÑÐÐ q�mWÔUV}åââwww®m………­jŸÏGPP ‘““mmmLš4 P[[‹ððpL›6­ËòÚ¶müýý[´�¦¦&üüüÝlºãÇ�cþüù8yò$Æ�/gccƒ›7Ÿ]/ÉuXÛbÊ”)¨®®FUU¦N�Úæü!„´ê`�¿ÂÇÚÙ‰-X¼¶{÷r‹�‡£¾¾033Ä àää$ÑÙ¸~À�“®¡¶ª5EHýó ´½(µL£Ñ3‘pfûã=±ÌIDAT'ªKòP]’'vMEK�ž‰øS¨.ÎAuqâOm‡ÑhéÁ½< §w º$Õ%¹ˆ?%þëg}M%”ûªCé5TeãÎñM­®¼Ð_幩mÊ£¥ÔÔÔ°yóflذAl½««+|||�™™‰ÌÌLøøøÀÕÕ•‹×ÕÕEBB‚Ø6+V¬À²eË���€ÊÊJܼy³gÏîòº¶UEE455Ñ¿ddd`Ù²e­ÊgÁ‚HIIAQQŽ;†Ï>ûŒ»FåêÕ«°²²‚žž^—åaaaàñxptt”›vîܹˆ‰‰Auu5>|ˆ�7ÂIx÷8HvêöìÙƒµk×",, ù-Z´›6mBZZÒÒÒ°iÓ&xxx´¨þ²ÄÇÇ#>>žnOK!Ý M‘"œ¦S}^ø‹�X@zz:€Æ) Â×¢,ÞðDjØ!”dÜFUð-Æ`Ô‚/¤–g9uâOà¯Ïg@EMƒ__ˆÇ÷dß­¦9–SW ñü.\ûò€¡Ý4X¾±\zÚ7V þôüõù[PQÓ„ù¤‰=«c¤ËÄŸÙ‰è£>è«©‡!— çVëŸTn1åü/еU¥�:�jþüùøúë¯ÅÖmÚ´ k×®…½½=à½÷ÞÃÆ�¹øuëÖáµ×^Cqq17MÅÛÛ}úôÁܹsñàÁŒ1,~ÝJWÔµ­Ž9???¼÷Þ{044ÄÿýßÿµêÚggg¼ùæ›ÈÉÉ�££#Ξ=ËÝÑHôv²BM/àħµw~@ãèÅÚµkjÏâÅ‹áé鉻wïBWWÓ§OÇ�?þ(3ýš5k#FŒ[_VVuuuxzzâþýû=z4ÀÓÓÿßÞ½ÇFUõkÆÖc(03 ¥År“N-¾ŠA ŠHá… Šz¤h1Þ@©Ôh#^¨\ÊkT¢F$G¢&ƒÄ`Á¼ ˜“h¸UJ)­­µ¡--82ÁB×ù÷s:·vZviÁï'™„µ×Úë2kÓìßì½ö~ä‘G¢ê àâdóx‘4/óßïÖ„-ó_Ûs4}úô°yƒ òÿû¥—^RÜôÿ [®-~¯)ÑžwçiÜ ¡O“Bd›²R;» ˆ 55UëÖ­Ó aÞÓê ="�sæççkâĉ\Á@dƒ Ò­·Þ²½ùmQçÕFñyJNü¯÷X¬_¡ÄL8¯ú€®¤´´´K×@G À@Do¼ñ†zõê²ÎbÇŽþ{½^ýòË/¦öéæê¯ÿ]9C�gÿTâ?Ò•úÏÈ/@×G€�ˆþùz‰r£x¯Ãù¬+¸êÖL]ukf»÷@×B€�uµw< k#À‹„` H’bmí;Κ³÷3 ø çì=S?ÆgÂowPÒ•Øl¶�w m.ÕïðR�7yõµµÊÌÌÔ•W^)‡Ã¡ &hëÖ­þüÎzÓn[ÚµÙl!Ÿà:ºúƒ 4eÊ9õêÕKãÆ�Ó¿ÿÝþ—v›Í¦Ñ£G‡Ý~±ñz½š={¶z÷î­>}ú(777¤ÌÞ½{ý/Ë >¾:º¾pǵÝn�8žmÛ¶i„ ²ÛíJJJÒC=¤ºººˆå¿ýö[Mš4I‡CIIIzôÑGåñxüùÆåääÈårÉåréÙgŸm1pkÞÏøøxÝyç�ª¨¨È_³fMÈ~_}õÕEyüÀ¥ˆa�³Ûã3Šñÿ•Œ–dff*!!A:|ø°rrr´bÅ ~gýÜÖv�1ŸöÔÑYŠŠŠtÇwhÊ”)*..VEE…rssµråÊÎîZXN§SëÖ­ëìnœ·… êÌ™3*..Ö�T\\¬÷ß? Ló7p7?¶.D}ÁÇô§Ÿ~ª9sæD,¿|ùrÍ›7O‡RII‰’““•‘‘±üâÅ‹5oÞ<•——«  @±±±š={¶?ÿ�wÞÑÖ­[µgÏíÙ³G[¶lѻᄆ¾æ}>tè�†ªÌÌÀ'ͽóÎ;:wî\À¶W^y¥Å:�Çã1k×®5¿ÿþ»ÿÓ<�‹G¸ù‹ô žãÅøë9ÛS!uŸí©�íÍ÷éÞ½{‹Ç‹ôÿûž:uÊÌ�;׸\.“œœlV­Z�/É,]ºÔ$%%™¾}ûš 6˜¼¼<ãr¹Ì€ÌŽ;êÊÊÊ2}ûö5‰‰‰&++Ëœ:u*l»§OŸ6óæÍ3.—˸ÝnóöÛo‡´ÛRß%|ºšûî»Ï¼úê«-–‘dÖ¬Ycú÷ïol6›1Ƙ’’3cÆ ãr¹ŒÃá0wÝu—9vìXÀ>«V­2ÉÉɦwïÞfþüùæôéÓù|ð�6l˜‰‹‹3£G�6………­ö£°°Ð\}õÕ!u5‰fnƒÇÒ–c'šqG£wïÞ¦®®ÎŸ®­­57ß|s@™´´4³mÛ¶�ïàBÔ,--ÍTUUEUÖ˜¿þ®ÄÅÅE]Þçó»ÝîOßtÓMfóæÍþôæÍ›Í˜1c"î<ŽúúzÓ½{÷€ü§žzÊ|øá‡þmùùùfîܹ]òÿ%\Š"�s®]»Öx<à hºrÑšC½é‘#GjÑ¢E*++kußeË–©²²R………úî»ï´aÆ�2GŽQqq±–-[¦ŒŒ ÕÔÔ¨¢¢B‹/Vvv¶¿ÜòåËUTT¤]»vi÷îÝÚ¿¿òòò¶›——§ÒÒRíß¿_Û·o×'Ÿ|Òj_›3Í®h˜.xUãÛo¿ÕŒ3Z-—ŸŸ¯~øA���’¤{ï½WóçÏWUU•*++Õ¯_?=ûì³û|ñÅÚ¹s§~üñG•””\�’¤Ï?ÿ\›6mÒÑ£G5yòdÍ�;·Õ~\{íµ7nœV­Z6?š¹ ‹ý±͸£|Ý�üé£G�ª´´T·ÜrK§Õ×dãÆ�>|¸úõëUù“'Oê­·ÞÒm·Ý¶oá|óÍ7ºþúëý颢"�5ÊŸ¾ñÆUTTUû¿þú«òòò4bĈ€íóçÏ×Ë/¿ìÿ¸dÉeeeEU'àà Æ¥Ãª+M®¿æ¸¹þšãÛš®b\Íñ€}jkkÍܹsM¿~ýŒÃá0¦ººÚŸ¯f¿,&''›ââbº¨¨(äJ‚Çã1Æüõ+vpúŠ+®¨«¨¨ÈŸ.,,4n·;l»n·;¤lp»ÁŸà:Ô…!�‰‰1 þtð8š¶ýòË/-ÖS__oú÷ï°OóïíÀ�!ßñ‘#Güé“'OšnݺµØFSŸjkkÍ AƒÌñãǶÝÜ�¥-ÇN4ãŽÆƒ>hfÍšeêêêL]]�ÉÈÈ0±±±þü÷Þ{ÏÜsÏ=!ûEªßêúšKKK3ŒfXþc'!!ÁüôÓOQµ³wï^Ó¿³oß>ÿ¶Ë.»Ìœ9sÆŸ>s按‰ ý{Ü®$ãr¹ÌÔ©SMYYYHûÓ¦M3Ÿ~ú©Ù¸q£™4iR«}X‡+°TŒÏÈf;§‚bgÀöÄÄD­^½ZUUU*--Uß¾}#Þ·]SS£ÁƒûÓÉÉÉ!e\.—$éŠ+®IŸ>}: ®æû§¤¤¨ºº:l»ÕÕÕ!eƒ™0k0..—Kµµµþt¤1 80 ½{÷n¥§§ËårÉf³ÉápèÈ‘#ešon·;ä;îÛ·¯ÿßqqqjhhˆªÏ‰‰‰zì±Ç´|ùò�¼hæ6x,RôÇN4ãŽÆë¯¿.cŒ®¹æ]wÝu>|¸âããýù›6mÒÔ©S;­¾&_}õ•5tèШÊcT__¯'žxB?üpÀöp¶oß®iÓ¦é£�> ¸âУGÕ××ûÓ^¯W={ölµmcŒ<�¾üòK¹Ýî�2 ,ÐòåË•››«'Ÿ|2ª1.  „5b¨WÅN;n‡²ÙÎɘ˜~'$$(77W»w””ðT˜Ÿþ¹ÝýLJJ Ø¿¬¬,âíýúõ h·¼¼¼Ííuå§ÔŒ;Vëׯoµ\ðî¿ÿ~Íž=[eee:{ö¬~ûí·�´Áóí-6ÑÈÎÎÖ† TYY°=š¹=ŸùˆfÜÑp¹\úè£�ôÛo¿©¶¶VN§SãÇ�—$ýùçŸÚ¶m›&OžÜiõ5Yºt©rrrÚ´�ÝnWvv¶öîÝÛb¹uëÖiÖ¬Yúì³Ï4vìØ€¼áÇk×®]þôîÝ»5|øð6õ#œ &èÔ©SjhhÐĉÏ»>€u0¢)¸hÒdŒê•11’Bß�‘žž®¯¿þZ^¯×ßôÈ‘#ÃÖ?sæLegg«¦¦F555÷Å·ÕÌ™3•••¥ªª*UUU)++K3gÎ [6##C .Tuuµª««Ûõ«g||¼Š‹‹ÛÝߎô /hÅŠZ³f�êêêôÇhÛ¶m­îwòäIÙívuïÞ]•••zì±ÇBÊ4ÿÞ.\¨Y³fYÖïnݺéÅ_Ô¢E‹¶·enÛ#šqGã�PYY™Ž?®�?þXÿú׿ôâ‹/J’vîÜ©!C†(!!¡Óꓤ­[·Êf³i̘1­–½ûoß>�:uJ‡ÖsÏ=§qãÆù󃃺•+Wê™gžÑÖ­[•––R_ff¦žþyUTT¨¢¢BÏ?ÿ¼zè¡6õ?’ƒêàÁƒ]:ð€¿%Ö`\:¬Xƒ¼æ¢I¸õÍ×`|ýõ×&==ÝôìÙÓôéÓÇ̘1ÃTVVúóÕìÞ膆óøã�›^½z™Áƒ›•+WšË/¿i–,YÒ‡àOGÖgŒ1cÇŽ5ëׯ�j<7n4£F�2ݺu3 0sæÌñ¯cij¯µö%ùÿ¶466š§Ÿ~Ú8�Nãt:MNNŽillŒØ~[��¶ì °Fkk0l�ÇlÙ²%àžÞüü|ºG�ÖF4è0'Nœ�8‘Ïq¬-6äMÞ­iÏ>áìß¿_Ó§O?¯[¥Ðqx£uû¥¦¦jݺuºá†ºd}´G¤sÎüü|Mœ8Q±�Õ1ü½-\¸P999:}ú´²³³5}úôÎî`¹ÒÒÒ.]�~±¶ w8\uÕU5j”Μ9£;ï¼SË–-»`m ã`@’,¹Õ©-²²²x1ÖE‚Û£@[ð)–!À` –!À` –!À` –!À` –!À` –!À` –!À` –!À` –!À` –!À` –‰ ·ÑétÊëõÊétêĉºO8MóÖæíÕÒ9gØ+©©©*))‘×ëíÐŽÁZ^¯W%%%JMMmµ,s €öhíœ3쌄„IÒ�8½ˆ8�N¥¦¦úç¯%Ì1Ú£µsΰ†ô× h4'ª¸x1ǰÚe’äp8ø@»x½^9Iÿ 0Ün7÷ãh3¯×«C‡ÉívKúÏ-Rñññ2ƨ°°Põõõ�ÚA‡Ã!·Û­øøxI’Íãñ˜Nî€K/Ú` –!À` – yÑÞ±cÇT^^.ŸÏ×ýÐ�ìv»Ün·úôéÓ!õÇŽÓáÇ5lØ0Ùíöi@çñù|*++“¤ 2n‘*//WJJ Áp‰²ÛíJIIQyyy‡Ô`ø|>‚ àg·Û;lI‹¼X†€e0X†€e0X†€e0X†€e0X†€e0X†€e0X& À°Ûíòù|�Õ€Ïç“Ýnï�º ·Û­²²2‚ àåóùôÓO?)%%¥Cê�mžèÓ§�$éàÁƒÀ%Èn·+%%EñññR¿Íãñ˜©Àß‹¼X†€eþIJ0ÏXTÏxIEND®B`‚liborigin-3.0.4/doc/PaxHeaders/liborigin.dox0000644000000000000000000000013015205070455016012 xustar0030 mtime=1779724589.804867805 30 atime=1783607034.457657985 28 ctime=1783607690.1695244 liborigin-3.0.4/doc/liborigin.dox0000644000175000001440000000264415205070455017466 0ustar00dozentusers00000000000000/*! \mainpage liborigin A library for reading OriginLab project files created with versions starting from 3.5 to latest (2017). \image html images/origin_import.png \section license License liborigin is distributed under the terms of the \ref gpllicense. \section platforms Platforms liborigin might be usable in all environments where you find a C/C++ compiler. \section dependencies Dependencies liborigin depends on the following libraries: tree.hh (provided in the source archive).\n \section Download From liborigin sourceforge page \section installonmainpage Installation See the \ref liborigin2install file. \section relatedprojects Related Projects - SciDAVis, Scientific Data Analysis and Visualization tool. - LabPlot a KDE-application for interactive graphing and analysis of scientific data. \section credits Credits: \par Developers: Knut Franke, Miquel Garriga, Stefan Gerlach, Alex Kargovsky, Russell Standish, Ion Vasilief */ /*! \page gpllicense GPL License, Version 3 \include "COPYING" */ /*! \page projectfile CMake file \include "CMakeLists.txt" */ /*! \page liborigin2install README \include "README" */ liborigin-3.0.4/PaxHeaders/endianfstream.hh0000644000000000000000000000013015205070455015714 xustar0030 mtime=1779724589.804867805 30 atime=1783606986.673557103 28 ctime=1783607690.1695244 liborigin-3.0.4/endianfstream.hh0000644000175000001440000001242415205070455017365 0ustar00dozentusers00000000000000/* File : endianfstream.hh Description : Endianless file stream class -------------------------------------------------------------------- SPDX-FileCopyrightText: 2008 Alex Kargovsky SPDX-License-Identifier: GPL-2.0-or-later */ #ifndef ENDIAN_FSTREAM_H #define ENDIAN_FSTREAM_H #include "OriginObj.h" #include namespace endianfstream { class ORIGIN_EXPORT iendianfstream : public std::ifstream { public: iendianfstream(const char *_Filename, std::ios_base::openmode _Mode = std::ios_base::in) : std::ifstream(_Filename, _Mode) { short word = 0x4321; bigEndian = (*(char *)&word) != 0x21; }; iendianfstream &operator>>(bool &value) { char c; get(c); value = (c != 0); return *this; } iendianfstream &operator>>(char &value) { get(value); return *this; } iendianfstream &operator>>(unsigned char &value) { get(reinterpret_cast(value)); return *this; } iendianfstream &operator>>(short &value) { read(reinterpret_cast(&value), sizeof(value)); if (bigEndian) swap_bytes(reinterpret_cast(&value), sizeof(value)); return *this; } iendianfstream &operator>>(unsigned short &value) { read(reinterpret_cast(&value), sizeof(value)); if (bigEndian) swap_bytes(reinterpret_cast(&value), sizeof(value)); return *this; } iendianfstream &operator>>(int &value) { read(reinterpret_cast(&value), sizeof(value)); if (bigEndian) swap_bytes(reinterpret_cast(&value), sizeof(value)); return *this; } iendianfstream &operator>>(unsigned int &value) { read(reinterpret_cast(&value), sizeof(value)); if (bigEndian) swap_bytes(reinterpret_cast(&value), sizeof(value)); return *this; } iendianfstream &operator>>(long &value) { read(reinterpret_cast(&value), sizeof(value)); if (bigEndian) swap_bytes(reinterpret_cast(&value), sizeof(value)); return *this; } iendianfstream &operator>>(unsigned long &value) { read(reinterpret_cast(&value), sizeof(value)); if (bigEndian) swap_bytes(reinterpret_cast(&value), sizeof(value)); return *this; } iendianfstream &operator>>(float &value) { read(reinterpret_cast(&value), sizeof(value)); if (bigEndian) swap_bytes(reinterpret_cast(&value), sizeof(value)); return *this; } iendianfstream &operator>>(double &value) { read(reinterpret_cast(&value), sizeof(value)); if (bigEndian) swap_bytes(reinterpret_cast(&value), sizeof(value)); return *this; } iendianfstream &operator>>(long double &value) { read(reinterpret_cast(&value), sizeof(value)); if (bigEndian) swap_bytes(reinterpret_cast(&value), sizeof(value)); return *this; } iendianfstream &operator>>(std::string &value) { read(reinterpret_cast(&value[0]), value.size()); std::string::size_type pos = value.find_first_of('\0'); if (pos != std::string::npos) value.resize(pos); return *this; } iendianfstream &operator>>(Origin::Color &value) { unsigned char color[4]; read(reinterpret_cast(&color), sizeof(color)); switch (color[3]) { case 0: if (color[0] < 0x64) { value.type = Origin::Color::Regular; value.regular = color[0]; } else { switch (color[2]) { case 0: value.type = Origin::Color::Indexing; break; case 0x40: value.type = Origin::Color::Mapping; break; case 0x80: value.type = Origin::Color::RGB; break; } value.column = color[0] - 0x64; } break; case 1: value.type = Origin::Color::Custom; for (int i = 0; i < 3; ++i) value.custom[i] = color[i]; break; case 0x20: value.type = Origin::Color::Increment; value.starting = color[1]; break; case 0xFF: if (color[0] == 0xFC) value.type = Origin::Color::None; else if (color[0] == 0xF7) value.type = Origin::Color::Automatic; break; default: value.type = Origin::Color::Regular; value.regular = color[0]; break; } return *this; } private: bool bigEndian; void swap_bytes(unsigned char *data, int size) { int i = 0; int j = size - 1; while (i < j) { std::swap(data[i], data[j]); ++i, --j; } } }; } #endif // ENDIAN_FSTREAM_H liborigin-3.0.4/PaxHeaders/liborigin.pc.in0000644000000000000000000000013015205070455015462 xustar0030 mtime=1779724589.804867805 30 atime=1783607029.573647674 28 ctime=1783607690.1695244 liborigin-3.0.4/liborigin.pc.in0000644000175000001440000000054715205070455017136 0ustar00dozentusers00000000000000prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${prefix} libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ Name: liborigin Description: Library for reading OriginLab files Version: @PROJECT_VERSION_MAJOR@.@PROJECT_VERSION_MINOR@.@PROJECT_VERSION_PATCH@ Requires: Libs: -L${libdir} -lorigin Cflags: -I${includedir}/liborigin liborigin-3.0.4/PaxHeaders/tests0000644000000000000000000000013215223444143013641 xustar0030 mtime=1783515235.265948561 30 atime=1783607732.001506912 30 ctime=1783607690.177524378 liborigin-3.0.4/tests/0000755000175000001440000000000015223444143015362 5ustar00dozentusers00000000000000liborigin-3.0.4/tests/PaxHeaders/examples0000644000000000000000000000013215223444105015455 xustar0030 mtime=1783515205.310089579 30 atime=1783607732.001506912 30 ctime=1783607690.177524378 liborigin-3.0.4/tests/examples/0000755000175000001440000000000015223444105017176 5ustar00dozentusers00000000000000liborigin-3.0.4/tests/examples/PaxHeaders/reciprocal-scale-x.opj0000644000000000000000000000013215221714004021715 xustar0030 mtime=1783076868.859885084 30 atime=1783514760.908652328 30 ctime=1783607690.173524389 liborigin-3.0.4/tests/examples/reciprocal-scale-x.opj0000644000175000001440000013517515221714004023375 0ustar00dozentusers00000000000000CPYA 4.3551 167 W64 # „ øÿøÿ€ YzýI|æ#@  @{oNʶ~ê–m`}º “ ú !Q ð?ð? 0Book1_AÊ @ ð?@@@@ “ €ú”E!a ð?ð? Book1_BÊ @ ð?à?Zd;ßOÕ?Ð?š™™™™™É? „ Graph1¨¤q ;€ ;LineSymbèFdXXÀ Ìâ:çÅBA Ìâ:çÅBAÀXXÿÿÿÿUüÿÿÿüÿÿÿ)/`@${[0|3|SYSTEM|60|4070791265]}[167] 199=0 197="" 198="" 200="" 226="LineSymb" @${[0|4|_TTPreview|2818|1880868449]}\O\0\0\0\0\0\0\0j\9\0\0\0\0\0\0\0\0\0\0\0\0\0\0×>T�(\0\0\0\2\G\0\0™\0\0\0È\0\0\0\3\0\0\0X\2\0\0\1\0\0\0\G\0\0\0\0\0\0\0‰PNG\D\A\Q\A\0\0\0\DIHDR\0\0\0È\0\0\0™\8\2\0\0\0åèâ›\0\0\9\9IDATx\1íÁ\1n[9\MDÑâÊø´²«Z™\VWV\3\O0�`:3qú‹±,ž3’è8®6’è8®6’è8®6’è8®6’è8®6’è8®6’èxZ¶õ§\0=ÌH¢ãiÙ\6ôy¶\1=ÌH¢ãiÙ\6ô{n·[UI\2l\3z˜‘DÇÓ²\Dè\7c\CI÷û\TÐÏn·[Uu÷ÛÛ›m@\F3’èxZ·Û­ªôƒûý.©Þéܳªl\3¶\1Û€\Uf$Ññ´l\3ú�mIsΪÒÏn·[UI\2l\3z˜‘DÇÓ²\Dèól\3z˜‘DÇÓ²\Dèól\3z˜‘DÇÓ²­?\5èaF\I\TÇÕF\I\TÇÕF\I\TÇÕF\I=^w¯µ$\1:^ÀH¢]l\3:^ÀH¢]l\3:^ÀH¢]l\3:^ÀH¢]l\3:^ÀH¢]l\3:^ÀH¢]l\3:^ÀH¢]l\3:^ÀH¢ëtwUé�m@?°\Dèx\1#‰®s»ÝÞÞÞ$Ù\6l\3úp»ÝÞÞÞt¼€‘D×±\DH²\DØ\6º{­%é~¿'Ññ\2F\I]Ç6 év»UÕœ³ªôaŒñööVU:¾»‘D\FÐÝU¥ŸÙžs®µ\0\TßÚH¢]l\3’lÏ9«JÇ75’h\NÛ€Þu÷ZkÎYU:¾�‘D»Ø\6ôƒî^k\1:¾—‘D»Ø\6ô_lÏ9«JÇw1’h\NÛ€þIw¯µ\0\TßÂH¢]l\3ú5ÛsΪÒñäF\Iíb\RÐ\ZÔÝk-@Ç3\RI´‹m@¿Áöœ³ªt<§‘D�×Ýk-I€~Ow¯µ\0\TOh$Ñ.¶\1}†í9gUéx*#‰v±\D蓺{­5ç¬*\TOb$Ñ.¶\1ý‘î^k\1:žÁH¢]l\3ú\NlÏ9«JÇ×6’h\NÛ€þ�î^k\1:¾°‘D»Ø\6t\5ÛsΪÒñ%�$ÚÅ6 ‹t÷Z\BÐñõŒ$ÚÅ6 KÙžsV•ޝd$Ñul\3zg\RÐ\Fl\3ºZw¯µ\0\T_ÆH¢‹Ø\6l\3¶\1Û€>Ø\6ô\O¶çœU¥ã\B\OIt\HÛ€m »×ZsΪêîµ–Þ\1z˜î^k\1:þ¶‘D\N±-iÎYU¶%Í9«J\Vl\3z0Û’\0\TÏH¢\7èîªÒÏl\3ÚÂöœ³ªtü\D#‰v±\Dh—î^k\1:¶\RI´‹m@{ÙžsV•Ž�F\Iíb\RÐvݽÖ\2tì2’h\NÛ€þ\IÛsΪÒñx#‰v±\Dèïéîµ\M ãÁF\Iíb\RÐßf{ÎYU:\Uf$Ñ.¶\1}\1ݽÖ\2t<ÆH¢]l\3ú2lK\2t\\m$Ñãu÷ZK\I /Æöœ³ªt\\g$Ñ.¶\1}=ݽÖ\2t\\d$Ñ.¶\1}U¶çœU¥ã_\RI´‹m@_Xw¯µ\0\T\ZÎH¢]l\3úòlÏ9«JÇŸ\QI´‹m@Ï »×Z€Ž?2’h\NÛ€ž‡í9gUéø¤‘D»Ø\6ôTº{­\5èøŒ‘D»Ø\6ô„lÏ9«JÇï\PIt\TÛ€ÞÙ\6ô\3Û€žSw¯µæœU¥ã\Z\PIô§lë\T É6`\R°-iÎYUú`\RÐ3ëîµ\M ã\QIôGl\3¶\1Û€mÀ6`\R°\Dt÷ZKï\0=?ÛsΪÒñ\B#‰þˆmÀ6`\R°-iÎYU¶%Í9«J\Vl\3ú\Mº{­\5èø'#‰þHw¯µônÎYUúAwW•~f\RÐ7b{ÎYU:~6’h\NÛ€¾—î^k\1:~0’h\NÛ€¾#ÛsΪÒñn$Ñ.¶\1}SݽÖ\2tH#‰v±\Dè[³=ç¬*½¶‘D»Ø\6ôÝu÷ZkÎYUzU#‰v±\Dè5t÷Z\BÐK\QI´‹m@¯Äöœ³ªôbF\Iíb\RЋéîµ–Þ\1z\D#‰\U¯»×Z’\0½¤1†¤$z\D#‰v±\Dè%�1$Ýïw@/`$Ñ.¶\1½6ÛsΪҷ6’h\NÛ€^^w¯µ\0}_#‰v±\Dèxg{ÎYUúŽF\Iíb\RÐñ¡»×Z€¾�‘D»Ø\6tü̶$@ßÈH¢]l\3:þ‰í9gUé[\OI´‹m@Ç/t÷Z\BÐó\RIt\TÛ€>twUéƒm@Ç\Zd{ÎYUzf#‰.b\R°\DH²-\9Ð\7Û€Ž\Z§»×Z€žÖH¢‹Ø\6l\3¶%u÷ÛÛ[w¯µô\EÐñ{lÏ9«JOh$ÑElKšsVUwW•m@\Vl\3:~[w¯µ\0=›‘D\FÐÝU¥ŸÙ\6t|’í9gUéyŒ$ÚÅ6 ãóº{­\5èIŒ$ÚÅ6 ãOÙžsV•¾¼‘D»Ø\6tü\BݽÖ\2ôµ�$ÚÅ6 ã_³-\9ÐW5’h\NÛ€Ž‹Ün·î¾ß˜‘D»Ø\6t\\Äöý~¯ª··7}1#‰v±\D踚í9gUéË\OI´‹m@Ç\3t÷Z\BÐ×0’èñº{­%\9Ðñ0¶çœU¥¿m$Ñ.¶\1\T�ÔÝk-@ÕH¢]l\3:\UÏöœ³ªô—Œ$ÚÅ6 c‹î^k\1ú\RF\Iíb\Rб‘mI€ö\QI´‹m@Çv·Û­»%%Ñ\M#‰v±\DèØÎöý~—”D[Œ$ÚÅ6 c»î^kéÝœ³ªô`#‰v±\Dèø«º{­\5è‘F\I]Ç6 w¶\1ýÀ6 ã\B°=ç¬*=ÆH¢‹Ø\6l\3Ý]U¶\1}°\Dèø\Qº{­%iÎYUºÔH¢‹Ø\6l\3’l\3’º{­¥w€Ž¯dŒq¿ß\1]j$ÑElKšsV•íî\6ªJ\Vl\3:¾’1Æý~\7t©‘D\FÐÝU¥ŸÙ\6t¼€‘D»Ø\6t¼€‘D»Ø\6t¼€‘D»Ø\6t¼€‘D»Ø\6t¼€‘D»Ø\6t¼€‘D»Ø\6t¼€‘D»Ø\6t¼€‘D»Ø\6t¼€‘D�×Ýk­î®*\T_Ìœ³ªt©‘D»Ø\6ôåuwUéj¶\1}FwW•~Í6 \ZÒÝU¥\VØ\6ô¡»«Jïl\3ºÔH¢]º»ªôªº»ªt©î®*ý†î®*ý“î®*]j$Ñq\\m$Ñ\MÝ]UzUÝ-©ªt�î–TUú=Ý]UúYw¯µ\0]j$Ñ\M·ÛíííM¯ª»×Z€®ÓÝk-@¿Á¶$@?»Ýn@UéR#‰¶°\Dè…Ù\6t)Û€þ\VÛ’ºûííM?ëîµ\M K�$ÚÂ6 Wu»Ýª\AÐulK\2ô{l\3ú™mI€.5’è8®6’è8®6’è8®6’è8®6’èø¤î®*\T¿6’èø$Û’\0\T¿0’èøŒî–´Ö\2tüÂH¢ã3lëÝœ³ªtü“‘DÇgtwUIêîªÒñOF\I\TÇÕF\I\TÇÕF\I\TÇÕF\I\TÇÕF\I\TÇÕF\I\TÇÕF\I\TÇÕF\I\TÇÕF\I\TÇÕþ\3äøq)‡\4×z\0\0\0\0IEND®B`‚@${[0|4|Connectors|31|869555297]};\H\H\H\1\0\1\0\0\0\0\0\0\0\0\0 ‰ ð?@ð?= ×£p=]@š™™™™™¹?š™™™™™ñ?š™™™™™É?�Âõ(\�WÀˆél ";¡ ¦ÙÀ"S2Âÿ´ÿ!ð? ×£= ×£=@Pd N€BTüÿÿÿüÿÿÿüÿÿÿüÿÿÿ{®Gáz´?ÿÿ š #p öÔ ZÔhžQªÝ?ÔO?ýôÓï?H>>ÂÿÂÿ__LayerInfoStorage7( H ä�ZžQªäï?H>>ÂÿÂÿ__ � @${[0|5|_cart_object|41|1349474786]}\0\6\0Ê\0�{1073741893=0,1073741906=0,1073804142=0,1073743652=0,1073744281=0},{1073741893=0,1073741906=0,1073804142=0,1073743652=0,1073744281=0}@${[0|3|SYSTEM|12|563815523]}[37] 194=1. š #kIÏ­5)/¬íLÍ?8û¶GGÌÒ?H>>ÂÿÂÿ__FRAMESRCDATAINFOSI( H ä­/¬íLäÒ?H>>ÂÿÂÿ__  p š ãåb  M*}è@233333ã?€25[Ëÿ¥ÿ„YR\iÿ g „&{÷€üÿÿÿüÿÿÿ||||€  %(?Y) š Ò O Ï«ªªªªªú?-¤JP�ò?€2\8¤ÿÈÿ‚XTZiÿ g &{õ€üÿÿÿüÿÿÿ||||€  %(?X) š # Pf ´¨zM óÅØ? yfKì?Hi>>ÂÿÂÿ3Dÿ H çi´¨zMçfKì?Hi>>ÂÿÂÿ3D i  ÜGÒB33ƒÀpÁè¤v??m’½-„>Rb’¹é¤v?Ë&‰>Ó&‰¾-„¾  m?æGÄ®76ÄŒ ÑÄ€?€¿€?À�DÀ�DÀ�D€?€€?€¿€?ÀEÀEÔÎìF4bõF! ÏG‡€€ÀEÀEÀEè¤v??m’½-„>é¤v?Ë&‰>Ó&‰¾-„¾  m?æGÄ®76ÄŒ ÑÄ€?$@@ š Aâa ¡è¼â“í?x RPä?€"5[Ëÿ¥ÿYL[ÿ g „&{÷€üÿÿÿüÿÿÿüÿÿÿ||||€  %(?Y) š Ò hO 7«ªªªªªú?êUùvRö9?€"\8¤ÿÈÿXBYÿ g &{õ€üÿÿÿüÿÿÿüÿÿÿ||||€  %(?X) š #ddH">>ÂÿÂÿ__BCO2ÿ H á"dáH">>ÂÿÂÿ__ "  ð?ø?ð?,þtª�Ä @ ô @@Ä  @ÿÿÿÿð?,þtª�€@$@@ÀW@ š Îâ±c?QÈŒê?…5žäºº¿€ €8ìÿÈÿLegendVHÿ g @õ�úüÿÿÿ|||| \l(1) %(1) š t»ÞÌUñ?tI3²þŽ£?Ð>>ÂÿÂÿ_202X( « ÿÿ€ú”Eÿ�€?ÿ=ú÷ÿÿÿ ú÷ÿÿÿú÷ÿÿÿú÷ÿÿÿúú÷ÿÿÿúú÷ÿÿÿú¸ 2÷ÿÿÿ÷ÿÿÿÿÿÿW€?ÿÿð?ð?Ê ó X˜@³ššQaXð?,þtª�÷ÿÿÿôÿ÷ÿÿÿôÿ÷ÿÿÿôÿ,þtª�0p÷ÿÿÿôÿ$@üÿÿÿ€?€?€?€?€?€?ÿÿÿ@AüÿÿÿüÿÿÿâââК™™>"@€?',þtª�_ ÷ÿÿÿúÿpc ‚u `ôôôô<0€?÷ÿÿÿ÷ÿÿÿ÷ÿÿÿ÷ÿÿÿPÂÿ?Œ�þÿpc  š ÛeiÛeiÛ?Ÿè{¢ï‰Ò?Ð>>ÂÿÂÿ_232ÿ « =šÿÿ�€?ÿÿÿú÷ÿÿÿ ú÷ÿÿÿú÷ÿÿÿú÷ÿÿÿúú÷ÿÿÿúú÷ÿÿÿú¸ 2÷ÿÿÿ÷ÿÿÿÿ0ÿÿ€?ÿÿð?ð? ç X˜@³ŽŽQaXð?,þtª�÷ÿÿÿôÿ÷ÿÿÿôÿ÷ÿÿÿôÿ,þtª�0p÷ÿÿÿôÿ$@üÿÿÿ€?€?€?€?€?€?ÿÿÿAüÿÿÿüÿÿÿâââК™™>,þtª�€?',þtª�_pc ‚u `ôôôô<0€?÷ÿÿÿ÷ÿÿÿ÷ÿÿÿ÷ÿÿÿPÂÿ?Œ�þÿpc   €ú”E!acÊÿ�€?ÿ=ú÷ÿÿÿ ú÷ÿÿÿú÷ÿÿÿú÷ÿÿÿúú÷ÿÿÿúú÷ÿÿÿú¸ 2÷ÿÿÿ÷ÿÿÿÿÿÿ€?ÿÿð?ð?ð?ð? 3 X˜@³ÚÚ=ºFšQaXð?,þtª�÷ÿÿÿôÿ÷ÿÿÿôÿ÷ÿÿÿôÿ,þtª�0p÷ÿÿÿôÿ$@üÿÿÿ€?€?€?€?€?€?ÿÿÿ@AüÿÿÿüÿÿÿâââК™™>"@€?',þtª�_ ÷ÿÿÿúÿpc ‚u `ôôôô<0€?÷ÿÿÿ÷ÿÿÿ÷ÿÿÿ÷ÿÿÿPÂÿ?Œ�þÿpc    – Ó+ý• PÈð?ð?   ú N+‚• PÈð?ð?   ÷ÿ×ÿ«ÿÿÿ@ù ×Ë Pè÷ÿÿÿ÷ÿÿÿð?ð?   î  @É• €¿ð° PÈð?ð?   ÷ÿ Pè÷ÿÿÿ÷ÿÿÿð?ð?   î PN]N] PÈð?ð?   – Éc% PÈð?ð?   ú É›] PÈð?ð?   ÷ÿœÿWÿÿÿŸÿ@«ÊT¾ Pè÷ÿÿÿ÷ÿÿÿð?ð?   î  @T+É• ÀÀ PÈð?ð?   ÷ÿ Pè÷ÿÿÿ÷ÿÿÿð?ð?   î PN]N] PÈð?ð?   Pð?ð?   Pð?ð?  ÷ÿ P÷ÿÿÿ÷ÿÿÿð?ð?  ¬ÿ Pð?ð?ÿÿ  ÷ÿ P÷ÿÿÿ÷ÿÿÿð?ð?   Pð?ð? à Book1 VxÀP ORIGIN,FdXXÙ¯óæÅBA8¤eóæÅBAÀ@XXÿÿÿÿ<üÿÿÿ9H ‰ ^@ð?@&@ð? @VPg (V€ð?€ ×£= ×£= PdSheet1¸  ÿÿ=üÿÿÿüÿÿÿüÿÿÿ{®Gáz´?÷ÿÿÿÿÿ š # €„äÀÌÌÜ? Ñ?H>>ÂÿÂÿ__LayerInfoStorage7( H ¸Ú :äÀÌ̸Ú Ñ?H>>ÂÿÂÿ__ : @${[0|4|_Storage_Ebdded_pages_Data_|8|834556263]}\0\0\0\0 š # €„äÀÌÌÜ? Ñ?H>>ÂÿÂÿ__LayerGridStyle8( H ¸Ú B äÀÌ̸Ú Ñ?H>>ÂÿÂÿ__ B óÁ}Z‘1C ÿ²²¡°Sheet1ÿÿ CGXStylesMapStylesogPrintAreaMask ogSampleRateogData ogReplicates ogDataMask ogRowColLabel ogComment ogURL ogSeparator ogLongNameogParam ogCellCommentogUnit Column HeaderogHeader ogFormula ogCellLink ogFootNote ogSparkline ogColLabelStandardogUDLogEMBED ogColFilterogLabel ogTableTag ogCategories ogRowLabel Row HeaderogDataÀ$ÿÿCGXUserAttributeMapÿÿCGXEllipseUserAttribute8Î ogDataMask ÿ ogURLˆ  ogRowColLabel€!ÍogPrintAreaMask€ÿÿCGXUserAttribute 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0 ogLongNameÈ  ÍogParam€ ogCellCommentˆ Í"Î Column Header;àßã?ÿÿÿÿÿCGXFont@�ogUnit€ ogSampleRate€ ogReplicates€ ogCommentÈ  ÍogHeader €Ç�P_Origin_Default_font_"€€7.0€7.0€5.0€3.0 ogCellLinkˆ  ogSeparator€!Íàßã?ÿÿÿ ogSparkline€ ogFootNote €Ç�F_Origin_Default_font_"€€7.0€7.0€3.0€5.0 ÎStandard¿¾ë Íÿÿÿ?ÿÿÿ €Ç�Z_Origin_Default_font_"  ogColLabel€ogUDLH  Í ogColFilterH !ÍogEMBEDˆ  ogTableTag   Í €‰nogLabelúúÈ?ÿÿÿ ogFormulaX Í÷÷±?ÿÿÿ ogCategoriesH !Í!Î Row Header9€(Íàßã?ÿÿÿ ogRowLabel€ÿÿCGXDataÿÿÿÿÿÿÿÿÿÿÿÿÿÿ CGXPropertiesÀÀÀÿÿàßãGridd=Ç Current Cell.ÿÿCGXStyle 1Í Invert Thick.@Invert Thin. Invert Thick. Thin Border. Thick Border. No Border.�``�&&ÿÿÿÿ  !€$D!€$P/$Nÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ  !€ €À¼ $Rÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ2ÿÿCGXDelayedRangePoolÿÿCGXDelayedRange$)€$ÿÿCGXSpanCellPoolÿÿÿÿÿÿÿÿ'€)€$)€$)€$,€ÿÿÿÿÿÿÿÿ,€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ  š …ëQ¸…»¿’$I’$I¿>>ÂÿÂÿSCT(ÿ  8 š #ddH>>ÂÿÂÿ__WIPRÿ H ¸Ú d¸Ú H>>ÂÿÂÿ__  ÿÿÿÿ š #8tœ333333Û?ÞÝÝÝÝݽ?H€>>ÂÿÂÿ__WIOTNÿ H ¸Ú €œ333¸Ú ÝÝݽ?H€>>ÂÿÂÿ__ € 2qqqqÿÿÿÿÿÿÿÿÿÿ   A !Q Cð?ð?    B !a Cð?ð?  ` ’jí:çÅBA’jí:çÅBA ResultsLog   Ñ  Þ6 ‚NóæÅBA’jí:çÅBA  reciprocal-scale-x  $ G  M    ™¯óæÅBA«Ÿé:çÅBA  Folder1  $ G Q M5@${[0|4|FolderLastUsed|16|991565563]}          .4 @${[0|5|828|10625|961623141]}\0\6€�س\5\6\V\Q|žÈ9\JÆM\Q=eä¶VƒOŒ\R6rب1cfK]úðlHš3iÜL¡óFN˜3e|ð@rÅ\9\H\V0x¼ôǶ±w¹\RSÆ6\A\Eݪ¯\2>3rà¸Ù\MŽ\O8‘Z©—o"�@’fîoò¶\GbË\G"A¨\4ÙÂ…\8— /^´h1\5M™2tb€�\1\3Æ�–=3[‰\1Cg»¹›\7]ºÞCú\U½$_¨P�"§Œ�4eî–$\P7hÈàS³Ý\I\1ƒÆ\C™%‚Ë\J.0q\7r¬Ä\FÅ\T¸æƒ\A$”2C\6—£ù°Yw —+3õ\3Ö÷fd±Õ­^M\SH\4ÅiS“\7Q¨Oˆ$ABD*®—\L\6§t\1\6*\GC ç\3È®¤'\FÞŠ+\Nloù[ROÜ\Fx÷Xù\1\2\7[\S3ÐhpQÒH‰“@–ì\LƒÅÏÎŒfò¤xëÑIi½\LydÊœ\LjѺÕÛcO\6�n5¸Ð(Û‡¤D+z„4Õ¯…ZLæY\AÕ\2E‘6è\Sq)‚ŠÕ,F"Ü\LZ÷.\F\UOþॣT·iCx4[W$‘\N.9¸P1TÍla\2¥\P”%Ñ\\uâqìÄ\9.F\2iaecQ24†¸Ø€"êŠ�Cajeabd\65)´Öœx\M/Y²! ¸4YÕLŒ\CM¡‹\9%t• …ÁÒ¶\9“¢WRí’×N[²9|äÈãr\4U15³012ƒ¶P+¡§\4\T.O¬l*F†Æ¸;hذáGozÙ\Rvèg­\N×\Sp]Îþà\BÆåFÜŽG<ä¡�YgÌž}¹Ä‰\J\ZzÑ2‰Ñº\KÚjM:‡�\S¹\G¸¸T\P•&É%d.ºéª³)Ç\S+tèÐ\BÄeÆ—þ•õäϾm³\Bè\S(²ËŽ\N_tòˆ#–„ðAÃå±f\DôÒ¢„ž\It0�+ÆÞA‰\Ioš¿~û\\|ñÅ\6\6/>èà…‚ƒ‚n;!\B/^uÖ„/ñ\DyÓM\BÚB(NÏ»YXMùĉ\7\N\Qׯ&\Hæ=ùÑ�\E?|±ÒVŸÚæ—Œ>ä¢ÁéÓ¯ß�w_"uª³­Í­\Iôž aÂDX}N\H.D@\Hy]jŠ\Cwbðoá“\V[£ö°¹7²Ä\L-Dú½›÷�Ïúz¯\Jnذá\I±c�½mn¸XÙa‡[¶Yg~q»uGß¼Tøšbj0�Ýœg<øÁ\R!‹O¬/ß¶ôñ¥Ž\QõBDO�y¯þ´ÉqÇ\V7a\\j,Þ\9»wŒÖÅÒÆÂÄèúâ\I\5(Î7áoµþzá\2]ZîÜIv+ÏškgZá¹F†Æ'\SqÄ1¯¯xâŠ|#–dÒ‹/ºø•óÕkÚ§'ÅÞ¨¤\1àé\F‹d‘†;\G%ŠÑ\J€\B—'I\ImQEɘãê¹\JNX¾'?º\Vh8\B\PSMö˜é§¯Î+^òÔ\V0(‹Wµ\QºÖÔz¥/Ù\9#ãnpaJÝj5<[ôÂ\5\Vù¨dñ…jZ:µ\Tî|íóD¸cÚ©'\\¬ä�ƒïÍŸ=¶L™27ˆ‹‘\RÍ>Ýã"ÃÕqDÇ Ç…2.N¢\9r×m\N—\Pø|ñÛ\7¬Ú*ñ%'FŽ\1†#öÆ\NPU\BÚ¢ \5š:~ùæÕïè³Ï^±ú¤…ã\N´\U\U�°aÃÒ8\S´tè¡·nŸ»%ÁÞ�µ\H \1ˆK’Þ]:¸\CUÓgIT—\Ty\S=qZ‹\5Emä\OCU\AÍ5'žÆMšt\8HKç}ýÍ@%ìÑ­Qð\\úeLjÚ\IFM^½h#\OyÊ5ÏÙ.P–žùØ\MFF‹Áë·\S9VA\Bæ\57N6ÖÅ@UNY%KÎ:\VTLŠ\4iÑIg1²"‰órP:]IG,•9GjH\B?¸(\9AÉË«AZ”)\J‘Ãæ:Xsï—¸F7¾|á'*„\8‘5ók[¸a‡ìµÛ''ya3‚\BLçD¼#\\p\8“ÅŽ\J\TTÅÞ½\HAHÚº:P–dÉBâ˜1¡Å\4E´\Lá®ðŠgnÝ¢/4ˆvÖ\A\Eíâ—:-ïfaï8ó©�Ÿ|»Ïà\A#ÂÔ“OQh­9“'O¾B\\„œû–g{™\0\7/Ü�c�‹Éºnû,\V\8JLhic)ß褕Z¢HÊ>ÏÜ—èÊÓÑÉ\D4PAÞõºeŒ�¿\V«šÉ0Ã\CÛ .7¸\Oá\1‡‹\MØ\Qh\\fB¸NÊLW‚\DÍÍ*_l¨Ì2ÓÌŽ‹;þÆÕ*abž4&áçH`\S®ßºã\IÄ�ವƒ]°;³,_\0\PW>å1—}a¡\F\N¦Û,(yì±Ëœz/XtÛuç[\MZ3Ú˜c©õzr‡�\C|Þöî¼’~*\8P¸=ú-«1¨“Ž:ºÒ™Úä\E×è2\Jül\J5jÔ\PSÍ´Ä\I±Œ\C�\N_Üaª±Æžã¢ó‰SŽ9¦X±#·ï}%ÀŒ�\B\6\5\E¾Q�*Y²ÄÆ\R¿èE¡æi ÄÛ\B\G�vVË àˆE:ÑÇ}!À\F\A\C\Q|ð�\PrÈ{™‡³Æ¥¬ÐãÛ¢¥\K\A¥sm\\¸À\J&„ß5.4Âd±ãD\75q÷npA"$]=\T¨J±b!iÌØÙ-*Nœ©àÇÅ\9¹Åý‡IÔ\V@1”È‘#cÚM{r«\\¹L¡,­¸¢EÇ\T#T¸,-fµ8ýàb¥Y¬Øsyªà�k‡\E†\D·åç–Þ2gƒš”-Û¸¥.YÕj­ÌæmLqož3BÃeFÝŽè\T::¹J•*å}\8R§�6.L~¬jÕªÚºzµ;ôôâRµø%!T&[ŽtP\M}ûF„\BŽR×Ö�²$K\M\IG�\A+#^"°ä’qF\Tµ4<ž-‘–­×ž_˜|ômˆ\V;ôÐ]»×í’X+\CW%au]6`É)ãŒZªix<]"5kÏ=¿»² ‡*i.`”œÚ¤£Œš`û‹Ðˆ#ŒhicYm‹Ú¼óölH0hðÂ=ÞeQÑ[ÀÁ\8‚ÅR§I\\ŠÔÂׯ\9!¨—­ˆš\K+\M‘ÆU\5\CZ�*­˜cÊI'cóx‘èÔm×½EPpðà\N혋.ºèÄ\Jõ\E[¼1&FeS3‹Ç=vs>ýñ—çÕ¦½\Lµ\7Üß#ŒKLx-”\DxqÂýrÇoY§;Ý*áá·m\\5.N\\ ©$\Dß©\Jœzì±?›\KkÜ1&Ff/ °ð“î\O\N«\L‚\6\K)ê<å\OY]€@°Xæ,É!-üü™\G‚¢—\N.7jQªTD\E\R–"ìi3f®yíåáñÃDÉ:ã/]üU\M\U1Ô¸(©Úáç\N\N-Ä’·´¸ÄøÂqï]º\N̾ÀzÛ$_K\KÉðÃ�\G1b$\B\OA°Xì8Á…ŠšxûÇ\LBÑÓÛ\I5)Vk+9{\0t0áq”¢¡1r(\Eíq£O\H;–Ò«y¶Ú\KºõÍϱ_>¼É8ÑïÝ©'Ÿ¸D¡�\6Þ\EG·šrɬl*\J<Â̳N;ŽÉb\VKãB\B-.Oá¬H¹e—n´ÑóË–-;úèWõƄۯ?ß\3\Zè6\3\D4LÑÆ\\kµlSŒ1ætÕÉ3Ã\C3n²ÊÌã¢ä\9�\\e–™¯Í&¸ÚZ\TcŒ1ë÷¥Ý»9ËZ\4\2\2f›­Vñâ—\4O<Êõ»_êk\1S.7]¼1~Õ\C\P^œ,ÙÔ\7\U¸@óÎ=kòÉ“öq§©0\6ü¸3\\†I�\Lmltâ‰%.Kx½#¤EH(3�\S)B\4\A”%]º\\c”â„‚\BL²d\P\RÒ¢F\DB�,aÂd\4U)^<\S³Ù€fCu‡\I%ݧ\5’¼S¢îÚ«o¹æœ\J5jÔ®:ë¸Ø\0ŋ߾\TïxWÑ/0\\œ0É’e\\(Ë‹8!H–0a2²ÔyáRå8ÁŸI�‡³ÙQìØ7ë\7òèËÎÒôæñùgë\F\N-„”w\M±\T¶žd’Qéܘ8-v�ýG\K.F×f\\Ž\8Ñ"Fl3+œç�¿|çÞå:¬Àä\E\4/FR°`Á\3\F\\ðú˜÷)fgƒ´vxÑ“®d‹SP-Ô\N\\/[ÅùÖe˲K/ºÕ¹"ZùäF««²1ûÜ;åI�200p.�Š’Mj\4G\TµT¢;òÍ/ƒ\5µC½h�ùæ«ï\OÙ8c�†=Çdƒ+eË–ýÚçŠ�4Rɹ5¶ÈÝÛ7·ã’‹®Ãn%ýpqAâ¤“ŽªSÕE†Ï `ààΔ±ðÂ\B“(\KžÎ�sÖiÙ<žØº}2d¸¬�“slÙ‹^¢¦¥_…à\K§‘nÖ3\V뤕Z\6/üE%LÏ\Da©¦œRÜaîÙ§·�\Z'GnÖôñ²¯Þº[yæ™ÃÝA‰ò±\4ÃÍ�\KÇä‹°urß\Z�uòæGP¯\9\O`@yy]s Ù›eê´ãŽ'\V}ô\8#Ä%G/=õ\7ý‹·ã^–Î8ã”}\JG*É$k¬²Ì"“L’ùÎ@\Fö¼ëõ…O¼b€—\C3Cñ\U~C€c-\F±sóúÈ\Q³\3\G1b¤B¥\OúhÎ\S3Í4Õ\SnF£É3O=¸H\1,¶\AÎ ö\Lâ\M-ZtËNŽo~öµz~°üðà ۾{ï~衇\M>g‡+š“Ï…C=uÕµ$à´r\I2›·Ì\9\Rî\7p0\5\Rƒttr!C\6—$jRµê%\S\A2dG\Q4h°ñ*7â]ºé³`MXˆÍ!@�ÒÌÉ%'š\P{ï¾ýÞeÅ\Pg¬\7?xÃ+‘eÌ\F´gÓŽ;î8ñÈ[JB'\T—&�XwèÓ§gP0hÒ¤É3·é��uÖÚxã•'\K\Kdjj™ A‚\P¦\O##\\\1\Mé|Q¢gçVw,zôè¶rßdç¸h�^aŒ²Ú/\Zì@ð\DΑAÃÂÇk·R´°˜\1$Ož\SÏæ]=éR¨PÁ%Š\C2HĈ\H?i¶n^><žþ \BuÈÆ\Rï»\O§=—$I.ÝxŸr‚ËÑŠc£\FÌØêú„+ÒÈ\1¾„{(]z~ðƒ"‰Ô\L/y¸Ôdß\2\7,e\9K\T™–*V¬ø�\N¼Å\PÖfQ±Á\6{ÖÁj³ÍV´Ñ\L¼p{\2s\Kh\\ÑŽg>ö±Ý�\M\Q¸ºW�)Ë«:HC¨~4jÔÈÇÇW³M?ï\QÚ5¯ˆý¦ù,/ñô­{]W�Êd.#Â�? Õ8j2\0Yý\A.R¤È\R~Ø|òÑ3ÙÁ'_¹K::¹KtÂ\JîªQ\I&Lx˜ì\AéU\L)bÝV]kV¢”»L3¤“\6ÍÄ‹\NïœíxÇ-לSÅÄ\EN\N³À/ˆ‘Qqè¡‹¶ëÎ;\R™˜Tîðñé�¸b‹šv„ƒƒ©L–NN¥Mo|åßVõÐC\FE‹–I\H¬Åq\6\M§µ¸X¹µoÛœsÏzä#†F‘h²q¦‡Z ‹4"eGß1[²ñ#UMã'Ï\9)6Xm¹åÆÆ¦fnn½Ë6ëT¬XñÏïjƒ5æ\O—"šL\Fö!\NÉrÇŸ~ë¾Þƒ¤\TA1ìû–Oˆ©få”\LÒÊv…‹\M*cÆŒOhYÁ\3¾lñó\9*fk\Zf\BŽ‹;¼øI[YýÅQì–%\VûØÍ\Up¾\F±âs²š]Ó'5nÜxùå§_²I'N8á„\Fø>°@€�ãŽ;.\\ìØ±ÑdÚœsÎÚYkµ�|ýí³×n\Nšh¢|õÙÇE\6\\L¿r\M0Ô°Å\PõÄ\J>'§Öq¡I¹¨``àn@æ˜c–IFÙ9\E˜LS�û9ùº{iccS777©\9.ÓÛ\Bh¯¾ü\QsÌñNyÐçhÏ)R¤àñxd\L#´ü\S¿šääž¶µ\R¼t:weGd´qqÅ…6f–ZlQ±bÅž{îz”Q\UÁ’reT¦IÚØØØ]Ω¹ðcKN9e‘F\S1GŽ\S±bŸÔ\\åœùÔÇÖ›o¾k\KÃ\H8áVÂ� AõÎ=ë´\5\M˜hýî\N\1˜4‡Æ\Oc”«�­í#GR{æÈ‘Û`"LKH*00ÐÌÊÆÎÎî\JrV\1MýX<>õª]Iß�¦6|¼z\Hx…Ì™2<%Fm¹Á¥)+1gŸ~|-“\T|Â\9+D�\U]L\M©òåË››['J”œKqÑ¢Eûzà"t\0Ã\IK,2áˆ#>�Ïø\EnР�H"\D[¬1ïp�\FãŠiÝ•*U*�¹mÞöÁ´s+²EÕªÕUwh\O�ç\OMÛÔ:¨ræ™'.TpÀ\1Ÿ¸8�µ1öˆ‹•?是Ðë)§\FL9^\F9ä\G:—Ï_¿}£*‹P¢C\E>.R·Q+®¸Â2Ï\R—¨#™A6ƒdö\CnP(W®Ü§ö‹™\T~ºÝ_\O\2žm2ë¤\Pú\AY4ªð€\2\5\M—\Ojr驧攓Nºè¤ã"£v¡Ä\BÝyBe—%ÃN°P\\š²;\3Ò\Iç\Alìâ¤E‹dC\Cñð!7\1¨\I¢\P\V}éNm±Å&Ñ£G_ÛMNRGf\4ÕªU[+¥¼sË\4\JL0Ø`/%0ÜÜÚ\5\A\Kà‚sð†<\U\\Œ"0\GãâW87ýð�Ct|\1sœ‚h\8Hî\L/x«ìI�zÔÀ\5\R”Çó|'AçŸ/*;4ýøã[½|­×\8ûÁhæšm\Q'NœÔå\GLœà҉Ͻ.Ù¸hÙ–/[—;%ws3‚%™dr\TÉ\MvèÄ\Hǵ•.\U\U˰‘jðfìêæ3ºÎÓy<_×+K\R.M&Eã2”íÝXEÅK-õ,n\8M-’ëÙ\F4ûôã»às´´Ýzó¥M›v¸âŒƒŽ‡?Η¨YgM˜‹(]Äé#Ö¸6òO¨sâÔ³¶u\Rá†\D\R>å*]Ř–\R‚¾½û’KN‰&Ózì±Ç7ìei\2E"i\9XT†{ù\Vv·®Úê…x,Þµä\IåRDmÕ•\N´¸$Õ4aºv ·¯\ZΨȑ£¤½q\3¹Î\\TïœüX?_;O\M}¡ªõVa\6´QG\U!B\\š\9k¦\AÞ¸vè`Øp£\2Ù²­\B\V\\¸è¢“zéE£É8#»gG†žvÇâಖjŠW«\D*Nœ©ÜÎ}ò£kL=µÅ�šÜòP¥sxå¤YÍØ\4\Ks1ð ]`ê\E6€²H\KÊ…*M¦·\R�N\9&8\L%ŸžÝ\A\5âç®´¼\H-~þ°A\Bu¿lÀ.\LVNM/\7µP(Þ'…JÃ%ŠšxxTà¤DEœK¸žtR…H‘â\6Ø\3ÆE‹ÌçÍ\0æ\2ëu¸A}ý\M$\4!SiP\L\R—\A<ÆFt\H祗Ž;öXådæ~À̪ié\0i-\3Ek\1\QÍ2V\B\FÏ3‘p"¸–p«R©òÒ§¶�f]`‡Ë@UtKx]šL/”ŽM\9Ž#޶A�<Ù\It„ÆÈ\V6è í/üaìÒp˜2+GŽUЮC\SU[Õ\5Êò6®ÔÑÑ…\AÕ*¢&'ž(æf15ø¼}Ã\L¦œòŠ@ÝF¥•»3GŠ\K\9Òâ¬Ón«v-N’!C\6±X^\Bºì´Sum=¬ué„��¯'vØpÑ"n^Oc`º\7¼\7\E\Eã¸þÁŒ+Ø¥5Õ\M½,ì\BÅf€áâ„•“Óõ£öt+Äåˆ�i4¨‰‹G\5\EË™$" ˆ¼"doJ—.½úM\U\6w\ETeøâ虺j¹žô¨áÏÔ&7BVÂær>Ý™eé…\M|"ü˜…¯\Zåh8,\U�\B”Ff·áçœ\H?µì´Ó‚ªd˜\7utt!C†\4U9yå´8j\\i6 \S­Š?ƒûFœ8SÄš¢;¡,\F\Q\DA³æšë\I„Â3F‹\T[WO…"\Ph �\CÁ\8g( \IuoÞ³\VïêÌy\5\6\4Ž4ÒÈÖ’�àe@\7è‚ú\KÂ\H‚F“!-+tɨI°tî¸$¹S¥L9L1Æ´²±(\PÚ\I\FcôÙ\H7/ŸÍ\6‘;$(ô`1+\\¤è ç\NdÚ¼¦ª\U²\7\S¿|s¦�:e/ýìÖMø\Cûì"\S\UDSå¢"µ\UŒ%štÂÚ«g‡´\8\B\7»Œ� \4¤E00ˆÆŒ\LJ.,œŽ\BW·ožvüq—ì„‘©+†špª‡qñøÌk\Mm—;%,RÔyÆ)r\1\9¯šs¥Šõ\2Ó!o}®¥‘Ѳ¬C DO $qòÉ+1+\T×"\E«·ÞˆéîÀ‡\FϪfbdh†W\NÑì`ãM^¤{ô+XÍ裘ðŠH(‡\8\N+æÂ žôí\9Â)\9‘ Ta\C¡ uŽ<òÓç[Ÿ”µbÏO¾bé¦�šfÆyŠ\BŸÐ¹d\E\It³-V¿ÐÍ_7˜{çkÅŠ\N/þ€\B\KfÓ�?¸ÐD\J\B£]‚\I¥OŸ^r’d™¥­\C\DMÝJ¸S¥LYŒ1Æ´\A­\8_B©S“&M¬m­ŒŒÊn\Z_˜Í0Ãªš™˜¥¢y…c'¨Z::@Z®\5Ž\8A£É�\M\Už«™‘,P®,Y.\V»º©…TËTm›uæ\U".HF\E\7-\0šøá×ïÞ·\M]Ô›Øp1S5V´±¡ƒ\H\N%'ž°úò‰‹‘Z„†…-­\3ï\2i\H\K¼ŽŽ\P¯|X9\9QW\4©³Ç.[\F1Ä�VÂ\LW\\¸¤ØçŠ\D\QePhɆmš"õ\TV^ÅáRÕ—š£}>>½¸q§Ì3/½¤�y\M\K6Á\F\LªT©RF¸rñÅ\TÌ×+¬¤Ê9UvÞy«äc\F—"Z²Ãç⺴찳«\QÚ†Ì@åÊ•7ÉlÑË6\7šrø}\R\N(@êÔ©gRÏ<\D²\AŸ‹ê\MmÔ—ow¾\UN@@ÀQG¥\OàýÀŒèð´ª\F½ð•Yp…\AåëÌ3/ƒÃí\8û5ëܼ\UO~ô\Vù"ôâ\N?Y¤Hq¡ñ+å°\M\StÔQKiÀA.t»O\H&Ý»n\8ãD�ž!cƳ®\8ãb7s”ŒÊ°G?ôˆí\Sr‘­Ö\Q.Nj™i¦éÄ'¾5÷\B\Q7n¼ê¬³\MkÌ1#Dˆ€oè\G\3.Zw¹+ð\0"ë\F\R6Ü\ZI¼7>›ø\9ß -ï¸÷îÛï[X\\PÐ\A\4µOLñøŒÃEHoÉù#eÓ�7~æ5/\33\2\11ÚáÇ�\F�àà\S|Â¥\67(]vÙ\TÂVì\L>|ã\Uí¯Ú¹Ó\F|Ò¤II\Rl°Â\Mv©êwà²:2ã¼³¨î‡:騣Æ�\Rcµ|å3ÇEÊï¡\\ô¦=94,\C\N.«\\¹r\R^\Dj\E4í܇à²>DâeƒpÁ\Uˆ¬²}Í$µê†´rù\Lpõô¤ÑäoÙ\NrØa‹\T\GŒ"Qðöo2LjN˜0aäÈ‘qgÊvŽ\6u‘E†KŽgóðMRöìÙ�MÍ\B\N\G#;^V\8£eÄ\9ÊZPÝYX\HÝm\E\U™6êh£ø)\IÞA¸³ÐÃG�\Q\L5Ã\C×Ï\KÓõ•£pé€!(\O¸d“N\S¾ŽÅI\6ÈÀÅ^i©¥\CìÒ\8m¡äC\F=tÝî|ëVú"ÐRáÂ…Õ\A\OøRè:Â\1üÀ³Â\7Þµ_þËEëãÆš«.›"EŠòåË\VrÈ"íy×ë\I—£É\6â\T¨;‡Z\\¹²®žþ#¨×=o{ÐÔ­·{¦J•*ÚQ�]¶yÉN|.]‡†qAš\3øê\EÍ\9—ïܧ_ûÜíºÖj˽{¿\B™^¸pá\1\7,\G¾lÛÞüj\N\F�ô\Exç*}úôÆÆfñ\F^¼p©¢¥†\D\R~â\L/&—^|ñ$£ìö\4\A\A*Uª\Kâ"E…\9\J¦Ž<®\N4åk|ˆE\E\P|ðÁÛâ&\N—\Q­ëò€ì�óî\H7nÜÔŽÔ§ž\K\RL2É(AMʼn\Jç¬myÓ\9F\O.2\0ÁÁÁKM5\Lƒ‚q�\1*W®<ãŒ5’Åâw@‹{Ãú�Âõ\1¬P(\V\I%$t\1\0¨Ä\IK\\p\8\2d¥nçÄD3dÈP½zõ‚\5\B^å,mq—뜧[Þô¬+uÉ‹"FŒxÀ\1¿Ñª#EŠ´e/\B6.P @{õågù\U¥ðs®Ó\T.MZh¡Ò¥K·Ygž\Rx?€`\A\E\O-Z´\TRu¼° ²{´f߉&š(mÚ´¾�1ÒˆK”b0˜¡‹6êÄ\JOœ*wtêÔ‹N:i¯~ùÓ{Ú\Np÷öM“&�K\L<à\2;ø‹Ó\V/ù;ÌÌÊ\PCE¶ƒ\\¹r¡ªÙk·ý„ê¡ã�7ÞN! ¨î„ݨG>T¼xñiÆ\P'¯¼ôž%]Pï1A‚\4±cÇN™2%õ\O`ƒIF\P¥ÏÓA\7\T4K-¶VzÀÞåJ‰Éoá84l••V2c\A›£¹\8ÜpÃ\Dkb€\V·9Ϻïý\R¡hÑâr^�@mhc²dɦ«Îúó®\A\F\Sl°Á\A2ˆ‹Í\2‹FêMQ;mµÕ\Ko`||z{ ÜèFgŠ\O1â\BâÝZÌ\J\B\E(]ºt¤H‘æ�÷›â/Þ£¿í6\D\S°-ozU‘Ú\1\5\AõÜE¦j\7®ÐóÅ+“@Vªwäî¸ã-Ï9|ñÆ×å¹\A“n<\D‚„ªÒ¤i\JŽÅ­\Jaá੪²:Dp©\1d¾C“&.Q\S�ƒ7Kœ81E¢\Ok<Îàô8®;N=öØpá‚KQl2oýËïï^|ñÅmÖ™'´t²áo\K \RßøÌ=9†\T.T^ @\1gW·Ú�êt÷…ó\QÌe:Ã¥i\4ëcŠ–¦\Tw\\MKÇHñ‘\5)S¦\\}öÙ¹µ­s‹…\9¸xǸXy–,YîcƒK\CÎóÂóp¯|éS\R\BÄe*J‚\D{ÆÇÇ×o »öºæ‘äX�|òÊ\M\Inç†\G!₃–\A\M,˜ A‚èÑ£'Mš”²Á\6\R\C7Üp���hMµëյ喛pÂkÜTWó\E\\VÒv´iÓ>„kdêž±\Q¸Ððöwf Øâ“éf‘\A\S¼¼¤¬_�Ébq¢DÉ¢�?å»Õf›\L,Xk@\A9h¡†.Pyã–kN¼3—\H„0�\HÊ…¿ü#Ø;TQF騣Ž\Q6lˆ¾ jÕzc²¥ŸŸ\V~B•*UB„\8Ñ\FÊ•‹\B”_P¶lÙ³®Õ-ý\Dâ'䔓N&˜`‚D‰\I!+ï|ís'¾ØÅ\PA»ƒ÷çf™i¦ÎZërä�=B$üš^>°\\¹røRV”\8\T:¸Dù%\A\M,\O!;|vÔ¨QèÃ\C_?lùz×Lïî9pÄ\F$)℈+!`\4\1\4ü\3@${[0|4|856|2675|2694521955]}@${[0|4|__STYLEHOLDERSOURCEINFO|1800|342887032]}r\\H\\H\\H\\0\\0\\1\\0\\0\\0\\0\\0\\3\\0\\0\\0m\\H\\H\\H\\1\\0\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\C\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\0\\0\\0\\1\\0\\0\\0\\0\\0\\0\\0\\1\\0\\0\\0\\Z\\Z\\ZB\\0\\1\\0\\0\\0\\0\\0\\0\\0\\0Decay 1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\0\\0\\0\\2\\0\\0\\0\\1\\0\\0\\0\\Z\\Z\\ZB\\0\\1\\0\\0\\0\\0\\0\\0\\0\\0Decay 1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\0\\0\\0\\1\\0\\0\\0\\0\\0\\0\\0\\Z\\Z\\ZA\\0\\1\\0\\0\\0\\0\\0\\0\\0\\0Time\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\0\\0\\0\\0\\0\\0\\0\\0Exponential Decay\\0\\2\\0\\0\\0\\0\\0\\0\\0\\2\\0\\0\\0\\G\\0\\0\\0\\Z\\Z\\Z\\Z\\Z\\Z\\Z\\Z\\Z\\Z\\Z\\Z\\Z\\Z\\Z\\Z@\\0\\0\\0\\2\\0\\0\\8\\0\\0\\0\\3\\0\\0\\0a\\0\\0\\0\\R\\0\\0\\0A\\0\\0\\0\\0\\0\\0\\0\\0\\0ð?\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0ð?\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\0\\0\\0\\0\\0\\0\\0m\\H\\H\\H\\1\\0\\1\\0\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\C\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\0\\0\\0\\1\\0\\0\\0\\0\\0\\0\\0\\2\\0\\0\\0\\Z\\Z\\ZC\\0\\1\\0\\0\\0\\0\\0\\0\\0\\0Decay 2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\0\\0\\0\\2\\0\\0\\0\\2\\0\\0\\0\\Z\\Z\\ZC\\0\\1\\0\\0\\0\\0\\0\\0\\0\\0Decay 2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\0\\0\\0\\1\\0\\0\\0\\0\\0\\0\\0\\Z\\Z\\ZA\\0\\1\\0\\0\\0\\0\\0\\0\\0\\0Time\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\0\\0\\0\\0\\0\\0\\0\\0Exponential Decay\\0\\2\\0\\0\\0\\0\\0\\0\\0\\2\\0\\0\\0\\G\\0\\0\\0\\Z\\Z\\Z\\Z\\Z\\Z\\Z\\Z\\Z\\Z\\Z\\Z\\Z\\Z\\Z\\ZH\\0\\0\\0\\2\\0\\0\\8\\0\\0\\0\\3\\0\\0\\0a\\0\\0\\0;\\0\\0\\0A\\0\\0\\0\\0\\0\\0\\0\\0\\0ð?\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0ð?\\0\\0\\0\\0\\0\\0\\0\\0\\0\\5\\0\\0\\0\\0\\0\\0\\0\\1\\0\\0\\0\\0\\0\\0\\0m\\H\\H\\H\\1\\0\\1\\0\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\C\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\0\\0\\0\\1\\0\\0\\0\\0\\0\\0\\0\\3\\0\\0\\0\\Z\\Z\\ZD\\0\\1\\0\\0\\0\\0\\0\\0\\0\\0Decay 3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\0\\0\\0\\2\\0\\0\\0\\3\\0\\0\\0\\Z\\Z\\ZD\\0\\1\\0\\0\\0\\0\\0\\0\\0\\0Decay 3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\0\\0\\0\\1\\0\\0\\0\\0\\0\\0\\0\\Z\\Z\\ZA\\0\\1\\0\\0\\0\\0\\0\\0\\0\\0Time\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\0\\0\\0\\0\\0\\0\\0\\0Exponential Decay\\0\\2\\0\\0\\0\\0\\0\\0\\0\\2\\0\\0\\0\\G\\0\\0\\0\\Z\\Z\\Z\\Z\\Z\\Z\\Z\\Z\\Z\\Z\\Z\\Z\\Z\\Z\\Z\\ZH\\0\\0\\0\\2\\0\\0\\8\\0\\0\\0\\3\\0\\0\\0a\\0\\0\\0;\\0\\0\\0A\\0\\0\\0\\0\\0\\0\\0\\0\\0ð?\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0ð?\\0\\0\\0\\0\\0\\0\\0\\0\\0\\5\\0\\0\\0\\0\\0\\0\\0\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\0  % 5 (,& 'Wá,\  +c¢––›dÇ>¹$z-ÅÌ?A˜“¬+–ddd–d+£Ê2d–`  @ \  +c¢––›dÇ>¹$z-ÅÌ?A˜“¬+–ddd–d+£Ê2d–`  ` 0 ü !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞ` D `  ”` @ 0 @ 0    >   ] liborigin-3.0.4/tests/examples/PaxHeaders/reciprocal-scale-x.opj.1.dat.orig0000644000000000000000000000013115221714237023571 xustar0030 mtime=1783077023.483799631 29 atime=1783514760.91665228 30 ctime=1783607690.173524389 liborigin-3.0.4/tests/examples/reciprocal-scale-x.opj.1.dat.orig0000644000175000001440000000027415221714237025241 0ustar00dozentusers00000000000000A; B; 1; 1; 2; 0.5; 3; 0.333; 4; 0.25; 5; 0.2; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; liborigin-3.0.4/tests/examples/PaxHeaders/reciprocal-scale-x.opj.out.orig0000644000000000000000000000013215223443341023467 xustar0030 mtime=1783514849.096130875 30 atime=1783514854.900096554 30 ctime=1783607690.173524389 liborigin-3.0.4/tests/examples/reciprocal-scale-x.opj.out.orig0000644000175000001440000000113415223443341025132 0ustar00dozentusers00000000000000opj2dat 3.0.3, Copyright (C) 2008-2024 Stefan Gerlach, 2017 Miquel Garriga Project has 2 windows. Origin project Tree reciprocal-scale-x 2024-11-07 21:34:57 Parsing status = 1 OPJ PROJECT "examples/reciprocal-scale-x.opj" VERSION = 9.95 number of datasets = 2 number of spreadsheets = 1 number of matrices = 0 number of excels = 0 number of functions = 0 number of graphs = 1 number of notes = 0 Spreadsheet 1 Name: Book1 Label: Columns: 2 Column 1 : A / type : 0, rows : 32 Column 2 : B / type : 1, rows : 32 saved to examples/reciprocal-scale-x.opj.1.dat AB Data: liborigin-3.0.4/tests/examples/PaxHeaders/data+graph-7.0.opj0000644000000000000000000000013215221715134020555 xustar0030 mtime=1783077468.887609323 30 atime=1783514760.888652446 30 ctime=1783607690.173524389 liborigin-3.0.4/tests/examples/data+graph-7.0.opj0000600000175000001440000005741115221715134022221 0ustar00dozentusers00000000000000CPYA 4,2656 220# ' üÿüÿ$@XJ +‡@ s ú !ð?ð? 0Data1_AÊ , ð?@@@,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� s ú !að?ð? Data1_BÈ , @@@@,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� à Data1ró XP ORIGIN,Fd,,Ãe‡©W¯¸BAe‡©W¯¸BA ÿ ^@ð?@$@ð?@él "$FÄ"DÅAˆ (€€ð? ×£= ×£= Pd,€ g #Ñcÿ5ÇÿfffffæÔ?ïîîîîîÔ¿(I>>ÂÿÂÿ__WIOTN ( ¸Ú IÇÿfffffæÔ?ïîîîîîÔ¿(I I èïo9«2 â ‚A ! â ‚B !a â  –  PÈ â ú @ PÈ â  "&@%µ Pè â ú  @$´ PÈ â   Pè â  ô P PÈ â  –  PÈ â ú @ PÈ â  "&@%¿ Pè â ú  @$¾ PÈ â   Pè â  ô P PÈ â  P â  P â  P â  P â  P â  P à Graph1cä ö  ä ö LINE¸ Fd,,À©Ö®W¯¸BA©Ö®W¯¸BA ÿ è?@à?’$I’$„@ø?@ð?33333ãvÀél "O( OÙp1 e S2Âÿ´ÿð? ×£= ×£=Pd1¸ g Z�¼8ß™ETñbÞ?Ý£´ìe@$>>ÂÿÂÿôûD@YL  „&¤p  Y Axis Title g ´' \‡ 6Ïfhþ@šþåµ�ð?$>>ÂÿÂÿBXB  &¦p  X Axis Title g # \nÀ©ö&Ðò?Î*]aLµØ?(i>>ÂÿÂÿ3D ( áiÀ©ö&Ðò?Î*]aLµØ?(i i  ÜGÒB33ƒÀpÁè¤v??m’½-„>Rb’¹é¤v?Ë&‰>Ó&‰¾-„¾  m?æGÄ®76ÄŒ ÑÄ€?€¿€?À�DÀ�DÀ�D€?€€?€¿€?ÀEÀEÔÎìF4bõF! ÏG ÀEÀEÀEè¤v??m’½-„>é¤v?Ë&‰>Ó&‰¾-„¾  m?æGÄ®76ÄŒ ÑÄ€?$@@ g #, �mÚ#'Tðá?ŠK†`mò?(">>ÂÿÂÿ__BCO2 ( Ò%"mÚ#'Tðá?ŠK†`mò?(" "  ð?ø?ð?Ä @ ô @@Ä  @ g Š i— Éf€åšJPê?N°5€‹»¿$ €--ÔÿÖÿLegend  @ p  \l(1) %(1) g C.þß?À>>ÂÿÂÿ_202 ¨ ú €? ú÷ÿÿÿú÷ÿÿÿú÷ÿÿÿú÷ÿÿÿúú÷ÿÿÿúú÷ÿÿÿú¸ 2÷ÿÿÿ÷ÿÿÿÿÿÿ â ú !a#È€? ú÷ÿÿÿú÷ÿÿÿú÷ÿÿÿú÷ÿÿÿúú÷ÿÿÿúú÷ÿÿÿú¸ 2÷ÿÿÿ÷ÿÿÿÿÿÿð?ð? â  – ‘(Ø O PÈ â  ú ð(y O PÈ â ÷ÿÒÿÌÿÿÿ@¼ˆ­ ç€? Pè â î  @OO ˆø? PÈ â  ÷ÿêÿ³ÿ€? Pè â  î  I@ PÈ â  – O– á PÈ â  ú Oß ˜ PÈ â ÷ÿ¤ÿÑÿÿÿÐÿ@ç¯È€? Pè â î  @(OOè? PÈ â  ÷ÿÙÿc'€? Pè â  î @ PÈ â  P â  P â ÷ÿ P â  P â ÷ÿ P â  P @ ResultsLog   ®  Þ6 »Üþ\¯¸BAxl¶W¯¸BA  data+graph-7.0       liborigin-3.0.4/tests/examples/PaxHeaders/data+graph-7.0.opj.1.dat.orig0000644000000000000000000000013215221715161022422 xustar0030 mtime=1783077489.435600544 30 atime=1783514760.896652399 30 ctime=1783607690.173524389 liborigin-3.0.4/tests/examples/data+graph-7.0.opj.1.dat.orig0000644000175000001440000000050115221715161024062 0ustar00dozentusers00000000000000A; B; 1; 2; 2; 4; 3; 5; 4; 6; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; nan; liborigin-3.0.4/tests/examples/PaxHeaders/2folder-with-graphs.opj0000644000000000000000000000013215221715366022044 xustar0030 mtime=1783077622.955543494 30 atime=1783514760.860652611 30 ctime=1783607690.173524389 liborigin-3.0.4/tests/examples/2folder-with-graphs.opj0000644000175000001440000025274015221715366023522 0ustar00dozentusers00000000000000CPYA 4.3478 212 W64 # | øÿøÿ€ YaU½üN³#@ tû^b"B6ht\þ.`àU “ ú !Q ð?ð? Book1_AÈ @ ð?@@@@@@ @ “ ô (#E!a ð?ð? Book1_BÊ @ ð?@@@@ @@@ “ ú !Q ð?ð? 0Book2_AÈ @ @@@@ð? “ Ð(#E!a ð?ð? Book2_BÊ @ ð?@@@@ Ä Book1£2/txÀP ORIGIN,FdXXwÃê}]åÃBApSŒ]åÃBAÀ@XXÿÿÿÿ<üÿÿÿ9H � ^@ð?@.@ð? @VPg (V€ð?€ ×£= ×£= PdSheet1¸  =üÿÿÿüÿÿÿüÿÿÿ{®Gáz´?÷ÿÿÿÿÿ ‰ #jOγ@33Å? Å?H>>ÂÿÂÿ__LayerInfoStorage7( H ¸Ú :³@33¸Ú Å?H>>ÂÿÂÿ__ : @${[0|4|_Storage_Ebdded_pages_Data_|8|834556263]}\0\0\0\0 ‰ #jOγ@33Å? Å?H>>ÂÿÂÿ__LayerGridStyle8( H ¸Ú Ú ³@33¸Ú Å?H>>ÂÿÂÿ__ Ú óÁ}Z‘1C ÿ²²¡°ÿÿ CGXStylesMapStylesogPrintAreaMask ogSampleRateogData ogReplicates ogDataMask ogComment ogURL ogRowColLabel ogSeparator ogLongName ogCellCommentogParam Column HeaderogUnitogHeader ogFormula ogCellLink ogSparkline ogFootNoteStandard ogColLabelogUDL ogColFilterogEMBED ogTableTagogLabel ogCategories Row Header ogRowLabelogDataÀ$ÿÿCGXUserAttributeMapÿÿCGXEllipseUserAttribute8Î ogDataMask ÿ ogRowColLabel€!Í ogURLˆ  ogLongNameÈ  ÍogPrintAreaMask€ÿÿCGXUserAttribute 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0 ogCellCommentˆ ÍogParam€ogUnit€"Î Column Header;àßã?ÿÿÿÿÿCGXFont@� ogSampleRate€ ogReplicates€ogHeader €Ç�P_Origin_Default_font_"€€7.0€7.0€5.0€3.0 ogCommentÈ  Í ogSeparator€!Íàßã?ÿÿÿ ogCellLinkˆ  ogFootNote €Ç�F_Origin_Default_font_"€€7.0€7.0€3.0€5.0 ogSparkline€ ogColLabel€ ÎStandard¿¾ë Íÿÿÿ?ÿÿÿ €Ç�Z_Origin_Default_font_" ogUDLÀ€ogEMBEDˆ  ogColFilterH !ÍogLabelúúÈ?ÿÿÿ ogTableTag   Í €‰n ogCategoriesH !Í ogFormulaX Í÷÷±?ÿÿÿ ogRowLabel€!Î Row Header9€(Íàßã?ÿÿÿÿÿCGXDataÿÿÿÿÿÿÿÿÿÿÿÿÿÿ CGXPropertiesÀÀÀÿÿàßãGridd=Ç Current Cell.ÿÿCGXStyle 1Í Invert Thick.@Invert Thin. Invert Thick. Thin Border. Thick Border. No Border.�``�&&ÿÿÿÿ  !€$D!€$P/$Nÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ  !€ €À¼ $Rÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ 2ÿÿCGXDelayedRangePoolÿÿCGXDelayedRange$ÿÿCGXSpanCellPoolÿÿÿÿÿÿÿÿ'€)€$+€ÿÿÿÿÿÿÿÿ+€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ  ‰ …ëQ¸…»¿’$I’$I¿>>ÂÿÂÿSCT(  8 ‰ #ddH>>ÂÿÂÿ__WIPR H ¸Ú d¸Ú H>>ÂÿÂÿ__  ÿÿÿÿ ‰ #8tœ333333Û?ÞÝÝÝÝݽ?H€>>ÂÿÂÿ__WIOTN H ¸Ú €œ333¸Ú ÝÝݽ?H€>>ÂÿÂÿ__ € 2qqqqÿÿÿÿÿÿÿÿÿÿ   A !Q Cð?ð?K  x Axis s Time   B !a`Cð?ð?T  y Axis m Length Ä Graph1h@d� ;€ ;LINESYMBèFdXXwÀ?é“]åÃBA?é“]åÃBAÀXXÿÿÿÿ?üÿÿÿüÿÿÿ)+@ � "@ð?= ×£p=]@"@ð?�Âõ(\�WÀˆél ";¡ ¦ÙÀ"S2Âÿ´ÿ!ð? ×£= ×£=@Pd N€B>üÿÿÿüÿÿÿüÿÿÿüÿÿÿ{®Gáz´?ÿÿ ‰ # Ê&.|É"vLá?ÇV"Õ?H>>ÂÿÂÿ__LayerInfoStorage7( H ä�.É"vLäÕ?H>>ÂÿÂÿ__ � @${[0|5|_cart_object|41|1349474786]}\0\6\0Ê\0�{1073741893=0,1073741906=0,1073804142=0,1073743652=0,1073744281=0},{1073741893=0,1073741906=0,1073804142=0,1073743652=0,1073744281=0}@${[0|3|SYSTEM|12|563815523]}[37] 194=1. ‰ nåÖ f§×îâ"@@€25 Ëÿóÿ„YRi g „&c÷€üÿÿÿüÿÿÿ||||€  %(?Y) ‰ } ¤Ï@ìå+‡m#@€28òÿÈÿ‚XTi g &%õ€üÿÿÿüÿÿÿ||||€  %(?X) ‰ # Pf ´¨zM óÅØ? yfKì?Hi>>ÂÿÂÿ3D H çi´¨zMçfKì?Hi>>ÂÿÂÿ3D i  ÜGÒB33ƒÀpÁè¤v??m’½-„>Rb’¹é¤v?Ë&‰>Ó&‰¾-„¾  m?æGÄ®76ÄŒ ÑÄ€?€¿€?À�DÀ�DÀ�D€?€€?€¿€?ÀEÀEÔÎìF4bõF! ÏG‡€€ÀEÀEÀEè¤v??m’½-„>é¤v?Ë&‰>Ó&‰¾-„¾  m?æGÄ®76ÄŒ ÑÄ€?$@@ ‰ ¾n–Ö Ž±Ÿ(dFå¿N|j·Â@@€"5 ËÿóÿYL g „&c÷€üÿÿÿüÿÿÿüÿÿÿ||||€  %(?Y) ‰ } h¤7@Cô°—¯ì¿€"8òÿÈÿXB g &%õ€üÿÿÿüÿÿÿüÿÿÿ||||€  %(?X) ‰ #ddH">>ÂÿÂÿ__BCO2 H á"dáH">>ÂÿÂÿ__ "  ð?ø?ð?,þtª�Ä @ ô @@Ä  @ð?,þtª�€@$@@ÀW@ ‰ Ìá̰c?QÈŒê?…5žäºº¿€ € 8õÿÈÿLegend@H g @Ôõ�úüÿÿÿ|||| \l(1) %(1) ‰ à?Ð>>ÂÿÂÿ_202A « ú”Eÿ�€?ÿ=ú÷ÿÿÿ ú÷ÿÿÿú÷ÿÿÿú÷ÿÿÿúú÷ÿÿÿúú÷ÿÿÿú¸ 2÷ÿÿÿ÷ÿÿÿÿÿÿB€?ÿÿð?ð?Ê u X˜@³QRð?,þtª�÷ÿÿÿôÿ÷ÿÿÿôÿ÷ÿÿÿôÿ,þtª�0p÷ÿÿÿôÿ$@üÿÿÿ€?€?€?€?€?€?ÿÿÿ@AüÿÿÿüÿÿÿâââК™™>,þtª�€?',þtª�_ ÷ÿÿÿúÿpc iuLôôôô<0€?÷ÿÿÿ÷ÿÿÿ÷ÿÿÿ÷ÿÿÿÂÿ?Œ�þÿpc  ‰ ÛeiÛeiÛ?Ÿè{¢ï‰Ò?Ð>>ÂÿÂÿ_232 « =šÿÿ�€?ÿÿÿú÷ÿÿÿ ú÷ÿÿÿú÷ÿÿÿú÷ÿÿÿúú÷ÿÿÿúú÷ÿÿÿú¸ 2÷ÿÿÿ÷ÿÿÿÿ0ÿÿ€?ÿÿð?ð? i X˜@³QRð?,þtª�÷ÿÿÿôÿ÷ÿÿÿôÿ÷ÿÿÿôÿ,þtª�0p÷ÿÿÿôÿ$@üÿÿÿ€?€?€?€?€?€?ÿÿÿ@AüÿÿÿüÿÿÿâââК™™>,þtª�€?',þtª�_pc iuLôôôô<0€?÷ÿÿÿ÷ÿÿÿ÷ÿÿÿ÷ÿÿÿÂÿ?Œ�þÿpc   ô (#E!acÊÿ�€?ÿ=ú÷ÿÿÿ úú÷ÿÿÿú÷ÿÿÿúú÷ÿÿÿúú÷ÿÿÿú¸ 2÷ÿÿÿÿ €?ÿÿð?ð?ð?ð?o í X˜@³””=tFTQRð?,þtª�÷ÿÿÿôÿ÷ÿÿÿôÿ÷ÿÿÿôÿ,þtª�0p÷ÿÿÿôÿ$@üÿÿÿ€?€?€?€?€?€?ÿÿÿ@AüÿÿÿüÿÿÿâââК™™>2@€?',þtª�_ ÷ÿÿÿúÿpc iuLôôôô<0€?÷ÿÿÿ÷ÿÿÿ÷ÿÿÿ÷ÿÿÿÂÿ?Œ�þÿpc ’ Ä ˆ’ Ä ˆ   – Ó+ý• PÈð?ð?   ú N+‚• PÈð?ð?   ÷ÿ×ÿ«ÿÿÿ@ù ×Ë Pè÷ÿÿÿ÷ÿÿÿð?ð?   î  @É• €¿ð° PÈð?ð?   ÷ÿ Pè÷ÿÿÿ÷ÿÿÿð?ð?   î PN]N] PÈð?ð?   – Éc% PÈð?ð?   ú É›] PÈð?ð?   ÷ÿœÿWÿÿÿŸÿ@«ÊT¾ Pè÷ÿÿÿ÷ÿÿÿð?ð?   î  @T+É• ÀÀ PÈð?ð?   ÷ÿ Pè÷ÿÿÿ÷ÿÿÿð?ð?   î PN]N] PÈð?ð?   Pð?ð?   Pð?ð?  ÷ÿ P÷ÿÿÿ÷ÿÿÿð?ð?  ¬ÿ Pð?ð?ÿÿ  ÷ÿ P÷ÿÿÿ÷ÿÿÿð?ð?   Pð?ð? Ä Book2;hǪxÀP ORIGIN,FdXXÃ4ð]åÃBAýW^åÃBAÀ@XXÿÿÿÿVüÿÿÿ9H � ^@ð?@&@ð? @VPg (V€ð?€ ×£= ×£= PdSheet1¸  Wüÿÿÿüÿÿÿüÿÿÿ{®Gáz´?÷ÿÿÿÿÿ ‰ #jOγ@33Å? Å?H>>ÂÿÂÿ__LayerInfoStorage7( H ¸Ú :³@33¸Ú Å?H>>ÂÿÂÿ__ : @${[0|4|_Storage_Ebdded_pages_Data_|8|834556263]}\0\0\0\0 ‰ #jOγ@33Å? Å?H>>ÂÿÂÿ__LayerGridStyle8( H ¸Ú 0 ³@33¸Ú Å?H>>ÂÿÂÿ__ 0 óÁ}Z‘1C ÿ²²¡°Sheet1ÿÿ CGXStylesMapStylesogPrintAreaMask ogSampleRateogData ogReplicates ogDataMask ogComment ogURL ogRowColLabel ogSeparator ogLongName ogCellCommentogParam Column HeaderogUnitogHeader ogFormula ogCellLink ogSparkline ogFootNoteStandard ogColLabelogUDL ogColFilterogEMBED ogTableTagogLabel ogCategories Row Header ogRowLabelogDataÀ$ÿÿCGXUserAttributeMapÿÿCGXEllipseUserAttribute8Î ogDataMask ÿ ogRowColLabel€!Í ogURLˆ  ogLongNameÈ  ÍogPrintAreaMask€ÿÿCGXUserAttribute 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0 ogCellCommentˆ ÍogParam€ogUnit€"Î Column Header;àßã?ÿÿÿÿÿCGXFont@� ogSampleRate€ ogReplicates€ogHeader €Ç�P_Origin_Default_font_"€€7.0€7.0€5.0€3.0 ogCommentÈ  Í ogSeparator€!Íàßã?ÿÿÿ ogCellLinkˆ  ogFootNote €Ç�F_Origin_Default_font_"€€7.0€7.0€3.0€5.0 ogSparkline€ ogColLabel€ ÎStandard¿¾ë Íÿÿÿ?ÿÿÿ €Ç�Z_Origin_Default_font_" ogUDLÀ€ogEMBEDˆ  ogColFilterH !ÍogLabelúúÈ?ÿÿÿ ogTableTag   Í €‰n ogCategoriesH !Í ogFormulaX Í÷÷±?ÿÿÿ ogRowLabel€!Î Row Header9€(Íàßã?ÿÿÿÿÿCGXDataÿÿÿÿÿÿÿÿÿÿÿÿÿÿ CGXPropertiesÀÀÀÿÿàßãGridd=Ç Current Cell.ÿÿCGXStyle 1Í Invert Thick.@Invert Thin. Invert Thick. Thin Border. Thick Border. No Border.�``�&&ÿÿÿÿ  !€$D!€$P/$Nÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ  !€ €À¼ $Rÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ2ÿÿCGXDelayedRangePoolÿÿCGXDelayedRange$ÿÿCGXSpanCellPoolÿÿÿÿÿÿÿÿ'€)€$)€$)€$+€ÿÿÿÿÿÿÿÿ+€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ  ‰ …ëQ¸…»¿’$I’$I¿>>ÂÿÂÿSCT(  8 ‰ #ddH>>ÂÿÂÿ__WIPR H ¸Ú d¸Ú H>>ÂÿÂÿ__  ÿÿÿÿ ‰ #8tœ333333Û?ÞÝÝÝÝݽ?H€>>ÂÿÂÿ__WIOTN H ¸Ú €œ333¸Ú ÝÝݽ?H€>>ÂÿÂÿ__ € 2qqqqÿÿÿÿÿÿÿÿÿÿ   A !Q`Cð?ð?e    B !a Cð?ð?n  Ä Graph2jdfÁ ;€ ;LINESYMBèFdXXÀZÜ ^åÃBAq= ^åÃBAÀXXÿÿÿÿYüÿÿÿüÿÿÿ)+@ � à?@ð?= ×£p=]@à?@ð?�Âõ(\�WÀˆél ";¡ ¦ÙÀ"S2Âÿ´ÿ!ð? ×£= ×£=@Pd N€BXüÿÿÿüÿÿÿüÿÿÿüÿÿÿ{®Gáz´?ÿÿ ‰ # Ê&.|É"vLá?ÇV"Õ?H>>ÂÿÂÿ__LayerInfoStorage7( H ä�.É"vLäÕ?H>>ÂÿÂÿ__ � @${[0|5|_cart_object|41|1349474786]}\0\6\0Ê\0�{1073741893=0,1073741906=0,1073804142=0,1073743652=0,1073744281=0},{1073741893=0,1073741906=0,1073804142=0,1073743652=0,1073744281=0}@${[0|3|SYSTEM|12|563815523]}[37] 194=1. ‰ ãåb Ç+yÒ%ü@ÿÿÿÿÿÿ@€25[Ëÿ¥ÿ„YRi g „&{÷€üÿÿÿüÿÿÿ||||€  %(?Y) ‰ Ò O Ïÿÿÿÿÿÿ@[8M]$3@€2\8¤ÿÈÿ‚XTi g &{õ€üÿÿÿüÿÿÿ||||€  %(?X) ‰ # Pf ´¨zM óÅØ? yfKì?Hi>>ÂÿÂÿ3D H çi´¨zMçfKì?Hi>>ÂÿÂÿ3D i  ÜGÒB33ƒÀpÁè¤v??m’½-„>Rb’¹é¤v?Ë&‰>Ó&‰¾-„¾  m?æGÄ®76ÄŒ ÑÄ€?€¿€?À�DÀ�DÀ�D€?€€?€¿€?ÀEÀEÔÎìF4bõF! ÏG‡€€ÀEÀEÀEè¤v??m’½-„>é¤v?Ë&‰>Ó&‰¾-„¾  m?æGÄ®76ÄŒ ÑÄ€?$@@ ‰ ¾â–a ÆÊG‰è¸À?Vè’fd @€"5[Ëÿ¥ÿYL g „&{÷€üÿÿÿüÿÿÿüÿÿÿ||||€  %(?Y) ‰ Ò hO 7ÿÿÿÿÿÿ@²Õ[Šó9`?€"\8¤ÿÈÿXB g &{õ€üÿÿÿüÿÿÿüÿÿÿ||||€  %(?X) ‰ #ddH">>ÂÿÂÿ__BCO2 H á"dáH">>ÂÿÂÿ__ "  ð?ø?ð?,þtª�Ä @ ô @@Ä  @ð?,þtª�€@$@@ÀW@ ‰ Íá°c?QÈŒê?…5žäºº¿€ €8ìÿÈÿLegendZH g @õ�úüÿÿÿ|||| \l(1) %(1) ‰ à?Ð>>ÂÿÂÿ_202[ « ú”Eÿ�€?ÿ=ú÷ÿÿÿ ú÷ÿÿÿú÷ÿÿÿú÷ÿÿÿúú÷ÿÿÿúú÷ÿÿÿú¸ 2÷ÿÿÿ÷ÿÿÿÿÿÿ\€?ÿÿð?ð?Ê u X˜@³QRð?,þtª�÷ÿÿÿôÿ÷ÿÿÿôÿ÷ÿÿÿôÿ,þtª�0p÷ÿÿÿôÿ$@üÿÿÿ€?€?€?€?€?€?ÿÿÿ@AüÿÿÿüÿÿÿâââК™™>,þtª�€?',þtª�_ ÷ÿÿÿúÿpc iuLôôôô<0€?÷ÿÿÿ÷ÿÿÿ÷ÿÿÿ÷ÿÿÿÂÿ?Œ�þÿpc  ‰ ÛeiÛeiÛ?Ÿè{¢ï‰Ò?Ð>>ÂÿÂÿ_232 « =šÿÿ�€?ÿÿÿú÷ÿÿÿ ú÷ÿÿÿú÷ÿÿÿú÷ÿÿÿúú÷ÿÿÿúú÷ÿÿÿú¸ 2÷ÿÿÿ÷ÿÿÿÿ0ÿÿ€?ÿÿð?ð? i X˜@³QRð?,þtª�÷ÿÿÿôÿ÷ÿÿÿôÿ÷ÿÿÿôÿ,þtª�0p÷ÿÿÿôÿ$@üÿÿÿ€?€?€?€?€?€?ÿÿÿ@AüÿÿÿüÿÿÿâââК™™>,þtª�€?',þtª�_pc iuLôôôô<0€?÷ÿÿÿ÷ÿÿÿ÷ÿÿÿ÷ÿÿÿÂÿ?Œ�þÿpc   Ð(#E!acÊÿ�€?ÿ=ú÷ÿÿÿ ú÷ÿÿÿú÷ÿÿÿú÷ÿÿÿúú÷ÿÿÿúú÷ÿÿÿú¸ 2ûÙ½ ÿ€?ÿÿð?ð?ð?ð? í X˜@³””=tFTQRð?,þtª�÷ÿÿÿôÿ÷ÿÿÿôÿ÷ÿÿÿôÿ,þtª�0p÷ÿÿÿôÿ$@üÿÿÿ€?€?€?€?€?€?ÿÿÿ@AüÿÿÿüÿÿÿâââК™™>2@€?',þtª�_ ÷ÿÿÿúÿpc iuLôôôô<0€?÷ÿÿÿ÷ÿÿÿ÷ÿÿÿ÷ÿÿÿÂÿ?Œ�þÿpc ’ Ä ˆ’ Ä ˆ   – Ó+ý• PÈð?ð?   ú N+‚• PÈð?ð?   ÷ÿ×ÿ«ÿÿÿ@ù ×Ë Pè÷ÿÿÿ÷ÿÿÿð?ð?   î  @É• €¿ð° PÈð?ð?   ÷ÿ Pè÷ÿÿÿ÷ÿÿÿð?ð?   î PN]N] PÈð?ð?   – Éc% PÈð?ð?   ú É›] PÈð?ð?   ÷ÿœÿWÿÿÿŸÿ@«ÊT¾ Pè÷ÿÿÿ÷ÿÿÿð?ð?   î  @T+É• ÀÀ PÈð?ð?   ÷ÿ Pè÷ÿÿÿ÷ÿÿÿð?ð?   î PN]N] PÈð?ð?   Pð?ð?   Pð?ð?  ÷ÿ P÷ÿÿÿ÷ÿÿÿð?ð?  ¬ÿ Pð?ð?ÿÿ  ÷ÿ P÷ÿÿÿ÷ÿÿÿð?ð?   Pð?ð? X ›bÔ^åÃBA›bÔ^åÃBA ResultsLog     Þ6 Ház]åÃBA›bÔ^åÃBA  2folder-with-graphs  $ G Q M5@${[0|4|FolderLastUsed|16|991565563]}    ê}]åÃBA?é“]åÃBA  Folder1  $ G Q M5@${[0|4|FolderLastUsed|16|991565563]}       õIŸ]åÃBAZÜ ^åÃBA  Folder2  $ G Q M5@${[0|4|FolderLastUsed|16|991565563]}          š <__XF>pef_slideshow £p @${[0|5|857|3209|2484850535]}\0\6€�س\5\6Ÿ\P|¦d™B¥HÓ\Mpð‰!³\D\P8hĘ1£KŸ-1lÜè¢ FŽ\S=`~áF\F\H<ÂÔ¡óƇÈgà$fj\FhðùB…\A\K9eì¤)s·êrÀ¼+2lVA\D\O6jä¬\I.O¸ÀÄ\SpÂ…(v(öÀ5\VT ¡¤;ŽæBf��\\žÌÔ\FX¸Èôˆ˜È}H\4Åiu–› \\¢þPŸ\GI‚„ˆT\\/+\CNé\2ŒrèÄmö‰!í’\G\9B\5oŵ\B\Mƒ\L§3z<…Û·hÅ.\H‘Äœ‚3\7œ‰F1ìqi¢d̾¿\L\0\7\SP.°™€\I\6\MœÉ5%Ìv\Lˆà"„‹\H.V © b\4Ê:AHB9�s»\0\0\1�w“¨\K)æºAÔHíh¢(J\8DU¤\Kyc‚GÎÚÑs'E$q?~<ƒãk�š*Å`0kU…\B“a0nYmkÈ0nZª\M2Cæ¬Å9±ÌÆ�J$\S™Î‘d²Z$ú“²\Càðƒ©M\I.Sš¬RahR™-\\’Übã‹‹\M{úÞxÓ#¯Ü5.Nâ9ë]Ožjec[Âd@"ûŸ#ÓT)\AG&›¹o‹¸H­\3b\\n¼ó\J¬Õ‘O^ðW‘�/q†¬±±©\9\H2æÜÜš]�F¥-cpdÙ¬›dñ\B—b�þˆ\Rtç\N8k£ž¼|I>Q†q!Ò*V‹d¶Hl“„C³–·5O²ò�ëö\2W=tÓ+ë�œ`3Ó\E.0$±Y"\Eíy‰e�á*3¯ß­kæY›ôâ—/DwÜ\L�ÇÃV‰84Z©âòĉåŠߒLDà\D'~ñ£*ÝEI”c—2õº\3´Ð-mPÐ6Mj-‰ÁÁefUaQ|z\C9\3úCKKP¢ð­ÑR%&eù®ŒÀUÅ¢xñ24\3š*E¥°Y"\6‡‹ÍJŠÅeiÉ/S΀¬Ráh˜=\QM¸ \9Ö²\9X¬˜È·ê\4\G^s^\8\A[�+\2‡ f´zmk‡Çp…c�ÌÜ+ìnLÛò�KŒ~«öý¡wêo½\4ƒ\5ø\QM\9bÆ\8ázÉ”mϹTiK\4—#ALV\MÙ\Mßp“G¶%\Nî/½æ\5Ûõ\5κQϼYÞ$4½d#�1ó¶Ÿ\M\8Rs\DºG>öl\HƒõêY\I»ßá"D\P9.Zø=ûÆäMßúã¡�ž˜y‹\MqÁaˆKMM„X¬˜È»ò\4Ð!.V¾Íã´^´Ì,\A[åÝ25�R_�¡Õ~\K':‚ø\I\7d�ŸC¯0ù1ºô9"-1Zeml¡iÂ\A\V\N*¹\B¨AÖkáˆt�\F)r\U½ÂÖE\6‹×2ª\K[\AÓ.ÆîÊ(\6c´FŸ%i\\ªLáb\4_”\\gf•¹“ôΘ—Ý&í±YØ\Ls')lA~”ùbÆ®\N—\P’p­n\4—"v.—·W®¥1ã–õ,\M±Ä•ÉÇ%H+.P¼t•\C8v+›¨\Q±Äàé*~\5g±-Ó\R\K-\\d¾Éïn\Hçû"•ó„%Æ%ns¸\SYaè²” F>Å»ƒLKÜec“­k¥6€‹“ërÖ™†)êg\I—ÖBó3ÔõL4ò…Æ—X»ÛyÊ…z!úB\T™”Yƒº4Eù\I\7T�#²²ß\GZæÂí{¢îÏŸ[ùŠ\LáBc\O\N«7a\S,.D�ˆßÞ¯\Rö0é\1\E•Œl}üô\B·ç\QÐ"¥Îߥ/_xðÃ_¾†½ßpV\A6.6d̹µ­Œ™w�N™JZ/42qC\4bÒ .8dä®Oq!rF\8bZjD #_À×\N¿ŸUcÈ[&?Æ‚>³ü\G�”¬ñ³r>}\D(níæ¯@ÖšÛúHòŽ\F<÷…´;GÏÚ�G>zÁ;ÙìBë×édÉX« %â(e÷%nzè¥+ô#\N\O|=Õ´q’ÅÄΧ/ðy«\1í—îj�úãb䇯cðörˆ\8jf©[‰E±R×G=\IÞ‹†“@¯ i\AwW�MÜ\IÖ.F=@áÜ«Þ\GׄÒ\U¾{ŒpFÅ÷¼Añ%T�a�Õ/˜©´Gß\D4Íàœ\M�³ªùÞü€¹sd\F³a¿€¬q–U®ÍKÖט;É:I¾\PÁ+gVu\D4¾Í\9d�[�M-·\6\\”¬p\6uÝ÷bÆžw€H˜›nçƒkv½\Cûcv\7„ã¦æ\E3bW¸L-[],íáRDL±Ü‡f,’‰\\'¬pRÄ==8*-;“fV9°e+³(ÕÚ}\H—!w¬Êž9hcž8‰¶›óÆVš\Jâ\U1ES\B\\µ\07°²þ˜ÁÆvY`ç"Ï”ÚΧxjä.VÐý´¼Œ³�¶c\QQqqIÞדRve½f4ÝQÆ™ÐsF“:y„[¿K¯Wñ³ª£âm}’¼�eŒÌ½|õ\E½ë2�ú\\\7¿d\\jbŠ\5r\Z0�æ¦7Žº1´ŽQã2Ã\R\C}åQ‡Ý"\H¿œ\U1S­çò\CãÁwÎëë\SPým\Z‚Ï\N?}âÁ\R·‡“ouo~T|‰Ñ�\H–xæ’§\2æ·ANúùÐ2�‹MñYx|‹ƒ8Í\A+\\>9ÏÌ,é\1Žºø�Ill±s‘³ �Èq¢UüÓ‹\N÷è½�¦iF¤=bŠ%\LÑOr\Q/Lîu¸(\Lg·Dû\AGŽ!mcÔq‰qB5ÉN¼HÕÃ\K—*08YÖZy1ô\A禇¶Z¢x2=ì\SÛÅZ²äêôÄ\L*¯ÊŽS\R[Ä\N\P9ZjÇxÁ–\\8㪧-AHù\2sC0Ä]üH\0'H¥vÖm�‹‹£Rt\Iž˜¶_75Û¨J÷¸È�ótaÂæÂ„\Jªa­w)a¿÷\3™¹}o^mŸ\Bùƒ/^\FC“Ïã9(ÄÛ“­_ãÃÅhãäÝûso�çÕUqÇ\N\N¤\L๓à^-Uâp\M®\L:N¶\2œŽCð³êŽé"�ƒÞ²õ¯ÛeÎÚ‘O½ZÄà±ì\AšfÝ\N$+\KÓâY·n­z�¹Â\I9‰*Ùñì\U¼~'þô;wÝŒpÅÀ{ôãñÔ\I\CN¢Å\B@\D]Óî‰ûÃåÙìðbâœO\0Úç•�3)Å¥\Aœ³ê¯b0\BnMÖ]ø)\O“ìaŽQãRT†aJªqá\E´p7ùð\V\A¹\6ã¨V�$n|\AYã–’`[gÛl»ù"¹‘)<\Srž\5a…‹‹PÚ\GG#îáS\\úî\4å¾D7“„§=qÈÄý&oż얚Œ‘_™…Ú�dëÅõÁ!³©eÑòò:\KØ\H³óDÏ\F¬pø�»éê\N¯\Vžs^›¶|›\G‡��MÝÜ\S›™âÈ:ôîG¾}¿öÕxRï•û:ˆöÉ_Ùº4-\L·’[!cæ\T\N*Ȉ\U{è:¥\H\7:¾@꺽|®ÏâŒ~ÇàÕšÛÌ€¶c\Q±ÆÏàRtÕ‡+ú7‚Šj]ۃƋ›w\8gêaÔgn^\Gî¸ò°óñË\V¼^kÜô¡—m{H{Í\DâÎ0\Pýäé\RvÏU®zÑμY‚5\7\826þÔ=ó3£Wý‚\8~¨\Q|ó�Ü”4Ãá;D�¶OÜ&ái‰æ\L!†Q�[ÆÌÛÞ„sõP-zSˆÀXýœ\I3F\8âb5ŒÇ\B�ø\LNÀư˜¤+\H\6eݬ9JÆ\C\H\O\V™K\H\N$ÌTþ$\V\P³\L÷‰\P#.8¼Lf$+ÎñL­ÁÂ\7Óã9`oÂæÉT\A\HxKûw.ïÏ'‰fÞɽ_Î_ŸtLdL³çæÖ\O\J™Òì¹µ-žæÂ¸Üž±5=\J&ƒ‹\IÄ\LÈŒ¬ll¸À,P�\4ã2U9†º§h%¦ºUl�{+Þõ�s.á§Ää­Ö“i\\–Ö\2/.E\372”{c»Å³¦JQ\OÌct†Â¸Í\M/R�BóŸƒ'‰-.1£s¢\F�*CÆ\4´=—ˆÁ/§¾d¨�ç\A[ø¶â\Fr²éÅÈB�‹Ì\L\N\O|C‘!å0@(ù˾_¡¸Ì �ãÊ0ó\K\O“¤ˆ\J"®„€\H\4\Gð\F@${[0|5|854|9882|1210902271]}\0\6€�س\5\6\V\Q|¦Œ‘“\6\E\T>1bÜà3#\7Ž›máˆ�£K\V\UO\Rs&�›)tÞÈ\9s¦Œ\Fžz¹½—<\2Iš¹¿ÉÛBˆ-Cˆ\4¡\Id\B\N"\\‚¼xÑ¢Å\K4eÊЉ\1B\6\C\O7ZöÌl%\6\C�íæn\Utéz\Fé»—Ø.sI\Rs&Œ›4zÊÈm­f‰¸a#‡�\Q3f¶ŒT\L$Wœ\Gñ\1ó†æ#\CÝøB…\A\K9eì¤)s÷LªYÅ\5\JÍ‚½rpV’ÍJáò„\BLÌ\1:'±?±\7®ù \2\9%Ýq4\N6ë\Cäòd¦~ÀÂE¦G\Mè¨}H\4Åiu&E¢þPŸ\GI‚„ˆT\\/+\CNé\2\CT †@Î\7�]I�,¼\L×.\O\N¡…ZÝzø\1ï\T\N*ý‚¨+ãêž3|JŠ\H™¤\4I‰\M´˜ÙXVc\O“%ô¾©\H_²Ø\\»Á…É®mθ\Cá"eÆœTv6—\L\QahpA\2…Ù1!�,izTMI’fÆ¢¥ð׈\\/½¥¸ð¹á\Að¯+JK\ENÓr¶ãÌM­=¶rÁÑÕÇ\7%\KHÐÙ`f‰Æè2@£\K—)<è€.ÄŽÈСƒ‹\D%)´e®$RB¸Ô@\H\5\I´6˜Z¤12ˆK\E%9ð \32\6\4\P:t+‹’\KZ3†¡AR¸À€"\AD¨m0¶Hc\\S\\”P’\3\FZ c@�¡CÇå\9ŠRhÎ\OŠ^P–>& \B\M!·ÂØ"Å\5\A\N"&ø—\S-[¶Ü{÷íF\Tõµ\I¶£I³&»¼õ¹Áƒ\7¿\R¿òp{wï\\¹6›`„\H†/~ýÀ›Â¥\8—*: ï_p>�joi³R/^¼!çœñQr(M\DÍõñk\B½}öìÙj³ÅÚ½2uæœ{\H/Ÿ›s½f…Aƒ\F^–9\\šÐc—½j~ÂR\9\L*\\tÂ\H‡—/_>rä«4é”Ó¯\6\N\P'žt¢Á%\A“w½®ð¹‡*ê\RØÐÀŒZ‰Z#ÞLiÓ¦™¦K\\´¨á7mÉ#\U:ZÙ²e\6\F\Hröx1+¶Ìš'\N;kÉT»=³œq‘r�}½×\\\CùMàGITçVŒ\CQA\5\G—¤·+G7CÙ$™½Ã•‡½Þ‚ùò£ÏO™2§ü¶´¿\O½é׮ɨ`Ô´iÓ\LcÆ\Orˆ"Í8ãcN=uÕþVÍ\F[èŠq¡Á\FÕ Ã%½\OØ\GbäÈ1pGÚ!ÛF¯Ø¹S&~ØÛöä‡\F^`¢W’?I’h�¢G¦_3\Tã>y-\KdÐÁ£EŸ©1‡îõ¡\3Š\S\N"Û¬ÂS\D,³ì–§>?Îå{!ç–¹3l¸�mŒ\B.\\pÁ)§\8Ï8#Íæ<{ÖêWÖâòlÜ1.Mza®\U+u\9_Ò¸PɳÉU•.Y$Qb³g\PŽ|±Òp‘Ò&Í\U%O¤ÑÁ¢nÍÊ"¦\9\V6F™æ<®+o÷¢\5’tƒÍ–xS\KÙ1{ì\GI\5…K\C%\\–� [+f–hŠ\6FØ“\S¼¥¨¢dÆ8Où\Bµuûî½›—�ϼs¿ }úÕ®ÚÕÒ�G\S±8J†ÔK×í”.SzŒMy2îhE’ö⇚#ÞL-ûÆï\Rþ:šEãÍÚz‰3gn½ØbuG\H\Q\T,êÕâ„‹‘&|Ø\Oc–»p+ònÇ;\U“8‰1ö\KÕ\2ü(gè~%è€öêË\F.0¾TúSnWŸ-¼D8Á\4\F\S,xa›âìÓ�?èF\DúÃ$\V\N%~”\5\RÂåæ\QdFˆQ£ÆÀ\Rå\AÑ7.\\zÉ/D\0y땾\1&˜¨,?¡¢¡ñ”©Ÿ°K\\œü\2G§#ºå Wgœ:B¥V\TêVƒKR8\SÚ='Ÿü±\BuHL´túê­kÞ1Ìpc†=%��¿¥•Òåӑǵõè}Y Ó‡K•\Ufxø/5EvÌ`dˆ\AêbQò¦$Ñ]3³J4C\3#HÊëd„\B\L´5@ˆ‘#G�¤¢\7ƒ ©\8\M°RJ×_;f0\B\M)¡¸È \I'J\A]�ÚäÙZ\6N°($ÅÇŽ.æÖ˜à‚d„ÑòñEg­=iœ†¨X±²²º\PÛSl�%\N{kMI\Q6ìÐo€zé‰\2Ei1«2º‹óƒPɲ`óReÊ’´!mÚÖD\8JVV—8nî 8ª6Ô¡\2¿\Cyã³®Q�5“†\8\HºÓÚQG\T¹xã¸háÓ®f„vçM¸ß�ha-qÚ'Ž[ .F~@[W\Z\I4á…ËÏ .Çâ„ìXÜŒ\M>�Ÿ|ã w¬ºòŠH‘"‡;î­»ö\EX0.3–\\b1c‹4qâ̸ûvÏ\Fóý�\Ht8º°aG\K\A1X\4ðõ롇\U—'0À\0ëvç‘þóJÏ=w½È¤“ÕxVqînš¾z¶Ê,¯•{íö–$e•V¸¹WŒ\B•�5W\3Ž:jIþ\0ûQ/Þ\9.\\\\ÍÛc��—ZjêÙoض$Ï<ùùõC…\A\Tu\E³À©ññã^®h`dl‘&éZ/~õ®}á2\3Ç;9.²ð®Þ\Aôì”\P3%‚¤¨U«\D!(ZZOlÄÙ5$g9/×–*pØe›µm\\>\T*TèËvæÌ;\KÜüQ£wJu‡š5k^páÂ\B–™zÚ.ùùDKN1UãN8úF©|íœcÄ¥êÂVMØ\SA¨màañ)ÁÀ\8¹\L/Ý©cóäáAQìÜ:tÑ«#tã–P’råÚau?ì¨q�:_•e\J»\S9V¿&‹›÷\B0aÂÆxŒË5˜Ðb”–\\âáç\N\N-þö\T\3_2²dÉA\6y9áÃÅ*\\¹&ì‘ÎE–"EKzé©g‚\G“Oþ¨ÌíèÒµP\P\6£×ž{nÐv¨Q#MM­@@€ŒŠF¨P¡\Q4hЮ\2C†¼EóÞY\Gi»õæ{¡`K“æR É}IàÒÄTÛ�­Y»ÏÉù�\O`lñòdOw¡¶«Ýýõ‚Í\HŠ(„œÂ«b”±Iºdb:#×i\V\Vf˜b7bÛ¼í\T\\f\4\2¦¼(­ò´Ç�½IOœ¬aƒ\6×8G;K˶K'zÑ’S½ \I#†K\L´;\5\Q(\Q\P¢Ç.\V÷Âj™2'Õ’Õ½L^t‘É"oÙšw¿þ0Y2gþ÷—mþð\TûñIG\Uy޼Ü!|z\Gùd£ÝmXí�\VÊB8P5[¹½02(¹\M\\…&\\q†\9+´È†Y3Z&=©\I%.K\Uq™’çN0{ü¢Œ\IyUJÍ{£ÃÆyâðmX¥ɋ>ïz‰Û¡§[,:Éd(\I\D«\5ᇪI¶,óÄ�[SK\R?~mÃrø\P׌Ψ`d…2%*”fœñ£“æB\Ræ‰\1̆õP‘"uCÐ�‹\M\KÚvñHwïÒ‹?3ÜpáÂl›­_\\¤’÷VYqåËNûBl™ì…%-³\B5ª%ÆÓ“fÌ”\8’¢fÍö’\MŠ–ÖÚ¡$ÎÎ!9¬¸TQ\1$‘ B\\¬TùòåלsŽ\Cw\K½¬ÇÎ\K\Sðˆ%\Q÷‰�¼xØâŒ\JçÉS®6[܉+¶ÄV›e]xáIæ­×\UOzÔ\Oã‰àE¶¾q‡�\Ot�BøøôŠ\K¹^ˆ\GqAZ\9ÆÞa‹Õ'ž¸’Å«œ\B/¼H”(W©ÔÒa\FýèMZwíU\B-”`ÐAƒ\JÆâ¸\P\C�ñZfÉ„¨m¸ðÄã?7a\7E\9.GÐ\\Cƒ:\I-ˆ’\\uV\Nî,\\ ³ÁŠWŒ\Hcln¤\R†#ý\2‡�5…¤([6œT!TªTétwËÀÈ×\Bu®v¹Óe§�–÷\5Ï>{íë\C\K/~«ö¼ëý*-”ÏFÉ03$E�:„ 9‚\5Ë\AŠR¼xp&åÙ‘$Iâ¬Y³…\81D¡†\S²_°=3³o\F\N.ܘï"VvÜk·¢Ñ£O§¦¥‹×ÇŠ7L‘bV†’T«F\G¢C¨P-!)Ê•\BOp\58”(Q\\\6ʼÛõ†îZ©\Z½³’\F\5#.Eæéé½¾rñr¨•1F§žxÒ‘M›4)Y²pÉ\1FØàºðgG{mÁ„·5ÝÜÜë6ÊH³EŸÞaã4c_ö\2=˜\4•\TwÜᑗ웑"Eí\OçvΔk¼³�2+\K%]:„ 9‚\5Ë\AJR¼p©âœä\DF‘"…‡\S²Ý\J@\\bà°qŽ™\V;Ϊ­ºÒÅÅ\9\KjÒI*cf‰6h!†\6\J‹Á\4\F¼`ßœl.ü×®°E±L³Î®\4Š\M=.O|Ðl\7X»m·l¼±[\0EáÂ$\V¶1¿rðÁ7rj#\C?B‘F¼3v/Kž1FŒ±­\AWޏ\S‘Æ\5é8~‰(EéÒ¡¹â\I+ñNèC\7†\E\Lz�îÞ\L\RP°à\QãŽ\Rþ\G]|>Uºa†\C3CRÔ©ã‚#\4\N*a´‚¢$O\UœötÔd•J„Ά\B/<¾Àê×6î\7\Tt»\V\KæìµƒÉÌ\H´6ðÒ—­C#¸ÜP\IOO/Âõc(ì:îÔ´b±tR¸’£gçö™Û¤\8\Tº}Ñ\I=¹…³”äÜ\PDytl^ðàLÐht„¹\9ÀGÅ’\8-p\C\5�ÆiÇ\T\N2dH2•†Ž\S\T]\F¹ÁÊå,âÆ+ÏœùåàÈ7_}&×Ù¥Q\\”|r\J\7‡Ü²G#gGÔŽ\HF\OW\V\D´Á\M^][ZIaWf6‚…££ãš«.»æœs\M¼\AnŒš4-�8¬\5-\B\0]È\N\6Û$Ñ©7î‰\F'J¸pqä„�®bá�—>&�tÔa†)Æ\KSL2ÕX»VÅt$„"±å \Q¿ü¥>е*Œœ89µhL]†^uRß!íÞ\IÉØ\A¹¸´öv$ï°±ypÀµu%\8Áà2d\G¨<ûÚÝ:÷ìÓ\F<ðÀb3k\T•+W.ùú"‰\Iî¦uÂGgѰȵ‘¢E‹Î¥ÀŠ\S9²š™á2\3\\=½E(dU\C\3�ƛߪ.%çS\CžÅ§\J''\\œ\SS\7ZužŽÆ\Tî^t/5cNˆÆ”cÅÏaCÅëàk\5Ûa‡%&‚Ìá‡/^œqÆb^`lÖp‘êÔ\9$…——\N!\8?\BE±ttâ°âRD\5�\M[4!r3NÔ>!a„ $îÞ¾\Q\\¢4Aƒ\6\5%iР!',÷`0\VÝÄÁ!\7$…—W—K“ðÓ°6èèÂaõ˜´‚¸–Â…\B}êV¯ƒä—¨\HE¢Ö¼æ\T\O]rÊ)b±<ø@M"ãpèìðâ'_¹Ø�ó…OÜ"tä1­¬¾Ô“%¯~åùÖgTóð„#�ìöL%™d¢U—]6|øàR•\6\68”Ž\Vkžzì\H6lØØÎõH'\NŽª\NuÛ¨RÊ–-ûÅOZ?~óæ\EM\L›\MdÖß\L°¹,ÆwF&®! âáá±ïÞ»O9æ˜ëvç{\1\5œ\J{AÆÕ4iÒÄ|y³§\\¹«'õœ\NL'\C\84V\\q-DÄ\GCd¹ƒòLeãiJ\92§­öôêý\QñˆçN�é\7jbzâ²’¤Éjñâ\Eý\2³ãÝ55µ9õ@eû}™\A§Ln¾ùjSKká�§—׿à\O^Q8\Sý4«‚\7\Sºh£¢wÄì\Søˆq\5"jv¼{·²\SÀÐC‡\Q1l‰‰@ñÓOϘ1ãPE\P=uI4ô\1õÖ]{\\(ÕP—îÔ'#'±Z\J.O`©E\J"·âDë\J\A\Mìq¿xûúWE#\J4hpY¢$\D\Q4ä\9Ò­\R\N›¶•«kÂÁ)‰‹Ó\\´;ØeÛµ\5\NŸ<ÕT×Ò�á¥\3Ü´\M\\Š\Sí\IdŽxá ¤tÇ3\Uó˜�yÔ³†IµGÆ\DwÝvÝI&©$ŠûìÈUg�\L"D\8›d�2g¯0G|%¤˜bŠÄ‰\JÛØØÄ\5Y»[ß|Ì1ÇüŽDKŽñ}ãæå\V`\O\1ˆ�6Z߸Ȥ¥I»Â’D¢÷\M±êÙ4ÏÂìíPÚÙÆ®ff†â#ÄÉÖŽ&Mšyê±Ë\Q«¬¥�°ÉÁ°65³gŒ‹”·×Z„ݥΔW¿üéëtÇ[\M-Z4}ú6³Ç‚ʇê3…ò�4ÕÎ9ë´Æ�Û½ü\Gƒ<à\2o¨Iå I–,\P�œÜPC\D%ÉÒ”9å\CÔ6l´ÒŒ³tÇ\M�”\5Ï pÆ\7`µí€¢ä•—^V\\ai\6£O¼%GJøóWuŽ»ÐxöÉÛ®Ó+Š,¸à„©Û1e\A\N%”\B\OmœØµ<ôl\M\Pb/¸P©\N.\Q\N!èlÈ»¥½x01'$Ÿc�\BµzE; \GQ£F]¬1GäÈúÆ\5\A\C0 ü¤/ÌŒ<ò\2´¢ò™“’GWŽr¡\I=2Rä\7Œx‘Žq‰AîM­w*˜\L�FÅŠ\LíÞüÙ~\0ÍÐYâ¬üðòêz-FÐ. �®\8g\B¨$Kæç\C0@�ð•\Q僇Þ\QêB®Åú:\Oò\E]½m§Ì|›ó­\V×\2¨\6ˆ?«ú\\\9ãB�‰\R7n±bÅf™¥\Mèhøáò|¡Buü„”)S\\ªì°CâľÎÕ˜¼\GwÉ‘>xèk¾@B2+M\J|°Û\I\5%æ•9Õä\F—&@üYÙçJ\O×\E\QSMó\D9\L¿`-øô‰\I%\2å|O=l±FäÈö~sð´Ì\SùE‡Ú¡#/@-iS‡W7mÚtñ)^âiöÀ(ii\\\U¢üðû�y¡B… \HR¦Ly<Ê'iR?g€SËã¯\F\Uz\\dèBâm\7\N)jzÕ¸á†Ï>f³^0Ñă\BSˆUb\H-[´¸ñ^Ú\0ù¾”ÐQ^JÑ�WžYo¾ùÆ%\B»l³NŸZå\KU¯¦i\\œV\3¥6ãìÆKXéƒïQ·]\\‚€¢tÊ“\UU¾|ù�\PÀáÃÑ8\JL0ÁKv²þç¼KH&Jøöð“\M%K–lèlØ{÷ívù,Œ”dÙe§íÞnΜ\P‚žœš¾w-\8rÈÁ¡B‡2~ztøIo\K\1k\Tts3H\A™,&\8GÒ\L¡T©RçÑ\5\U|°‘Jô\8Ü%Ç‚e\Vh¦Àìñ\2¼œ`ÒQ/q\K\2—\O°ä™Ù½4)…L\MÓÁ\4iK‹’xxTb¸¶8žîø™×¤è¶‡K•[FF¥«¶º‚P’3ÎÐeCmTáB]¬º\Ps$LP“M²@Q2Þ9ádO]5.BkÏN»­Dî/°Ïº\1òÑG\VÚÉèÁ\SlnmŸ·Êby\S�F“!)¸TyZ§\8äM\F=ä੪²ÆD\J=\\ž\0ªtc[;\R(ŠX*»‚h2\DŠ¢cS‚c¡\RspȺæªid%|¯œîÙÒí+‘$ѲhÉ”mjg‡‹\KJ"–É\8AÈT\Q\KÅÆ¥\2��9œ™gŽS–Yfgf·q0:Ã\L\Lul�aõe–ž\M¾Æ”kfg\N\N"J"•ÉÄåˆ�i4(‰‹G\5.3gn†ÃÐ2™å�\9:\R>úÑ\R×jË-!)üüú2*\Q!C†[©WLR�Ô\MQÈ”iÃ\K+\E—\P”¤|ùòmÖ™çG\A�\K¢ðT&=\TÕ’w„L\M.Un¸­Á Þ°9\Q"QpÈ!‡\CÔ\E.7òõñwîÓ'.B€Ã—.ÄòxËRµ‚—3'7¦±I2ƒK\K¦0öHmg³l�o\E¿@©¦|„³ˆïhAÅ\2î”ì¹êòÎË/?m¢‰"\Kzì'&s¤L\T:t°´4ŸÄH\E\T“\5Š•#G\\ЬªÆ\MJ=S´ƒ\F¾Q'>q.\B páB·ê•/~˾0.\4ŠÂé¿n……Ãç´Ø¢\9‘›qŠq\H’/_\U(J¦L™ddt™\3’ÂÏ\VÀæ\9Õ\AI…/"¸…\RÆÅJ�|äh\MP�;ܽ,uJÆœ\G5\P¾à£»Ck>ŠåkÛíE��©Û5'ÎL\5\QÜR‰\I.Žœ„˨¡@ÕºÆÞÝ{õåÍÌ}ý(\\•kª|èC\7EŠ89td#¤F\L.Z¸ÌÀ9\UÜs³'\9‘ Tqé#H–Î\EVVf\5\3[˜@éÚ¡ÏORÔ6B{š8'Ÿü±\BuHlá€��¯7¾R!rä‹‹UX¸8TÝvÙ\J÷ëš5oÆ`0#†\D\B\Zƒ¼¶rðc7k\MüB+G\Uyä2Í8\R\GŽ�O¯Ž<âR%t\7\Ke�4q‘ÒKϽ`ÏÂä‘"eÉšu§>ñ=²‡=\Tr\NnÝ«\Ua;¸.ަ蠃H›¬2Ë\Oq�2\3Þ\BmÛ¶}Ûó®÷Ý0Dˆ\G¸/\\¸üòÓoÖ3\V;úè£cÆŒ)+«ËÊ\H\Q7n¼é¦«Z;;O>ùàBå—>ßÓ\I¼êYÛZ¦^”ìxñr&A‹“)S¦ÝúægѧªõÖ‡žž\U~€D‰\I\DU”Q";/á\7P\9îÈ3Ï\\Í*\R·Os‡Œ\P3&w졇.š7oŽÞí˜cŽÙµ/úå;÷éy©9—¾H\O9]XÝpCµƒžºjëüí{÷³”ÑÃ\NoüŽ\0ß3>ñŠ\NZ#Ž8¢¦¦\M>'EŠ\K[ôÂ\N>mk^Õ[w½Ô^\T^¼xLJFn^>©\TræÌ‰÷Ž\B\D.2\2©R¥‚\V+á\Túî½{ÄÅ\AÔQÐŽ©\Rù\S@Ú\J\9\I$ \BsK{ˆ\T;~ˆÉ\S‰�áçw¡&¾‚V„\F| \0�U°ï GŽlãÚwœzò‰K•\Pf˜q¡r‡[ 'gžyêE'�4`�¸ÌXÜqëÍ7GN\Uýð‡?\H\ShúT\H\UxàRM9e�\Q5ú)Ò\Ff``\Eâ\R#�T’w¾ö¹\H#FüçËŠ‰'ž\O½c“MVù\A§…ß9M5ÖÀ[õ'Ò¥Kgddâããë !7n\\è¨eËv™è¡‡–/_>;[\1\2‚Ë\HÔ…œ°g*X°`õ·¦ü¡#\N\F�ò\ESN:é ƒ¼atT¸páˆq\7"DH;@oî? nÜørÒIv‡á\3Ί�3ÎO\8˜\R€ì�\3B[Þ‹p\Hš\3½¼¼SViåaÄ%\6øáQ—\\tQ”(Q¾ùW‡Wši¦ö¸Ë]´\099=@®Q2²7öhꥧžžt¥.‰î°Â\AKùä\5]…\M\1”èi\G\8X²I'î¹ë¶\FݨGÎ2\V\0@¦vØí�#G\6 û�{í\9\3\N\\¸à‚\V uù‚\1w^gÉ%\Nň\Hã|>.-«“O^yÍ¢Ê\T9;\EG›\O{F~ý�<ãÂ%–ØjðS�Ë\Cù�…Ó¤gç–\M§dÍš\Lû½S<\AK�*øu\G4ZkÝ·_?übã«f¼f”–-[â¾ÐìT?½\ShÂE‹�QјqÊ1Ä\9.6:Ù`ƒ\D–›n:ø1�_ù”Ç\\¦\GC\C�»ò\3Ä‹\NÏÈÈÈÇÇ\Nå\EnÜK\D¿\T­;n×ý2»�"uç�7|\\b\Kï<Ñ#\8~ §\Fh=\7`¬ò\5jŒ5žqß>�¤ˆ\J"®„€\H\4\Gð\F@${[0|5|831|3652|3090312441]}\0\6€�س\5\6Ÿ\P|¦d™B¥HÓ\Mpð‰!³\D\P8hĘ1£KŸ-1lÜè¢ FŽ\S=`~áF\F\H<ÂÔ¡óƇÈgà$fj\FhðùB…\A\K9eì¤)s‡O�\Q0lV‰\D\P0«fæÍ¬\I.O¸ÀÄ\VPŠr”ÚÇï=“Y.Öî�v \RÑ®\5\N§:íxž;c7sZ:­SÂ"Ò\HãÛ€¬’ˆ\LáÉd•¡xĨ\4¾Ù’šeA\U²|w�ðƒìQA\V•W\2ü–Å"Ô¸\C\PñdM…?�\I£…\9�VUlÖi\5©ìa)9zˆ\P\H÷K\U\I�%âñQšÂ¼y6MK™‘e+G\UR§îMsÖþ~q‘y–7\1‰øSý\\#ÂK\Cìe¶|.V?\MìgY“Õ&\EÌ‚T¢cküåÉ\\t\F’I'\Z}�\0\N¥ço\Jô‡Ø6(òÐð€7l\8\F´åëÊÍ}\M2fˆÀ§/¸öˆ\P\Hoi:rþ¨­š©[ÞŠ(nŸXPj®Äk”GË*¼ä'\UÚc˜\Iõ£5g$§‡ñôéä)ò&Ùˆ±…œ�á\5j\5"\NÉ“·';nï-“\IïT\UaxÌV•#\U2,�.ØŸ\Ḧ8ÃÒ£®éñs¸\KM2p!šVq\HzCnn\1ÙÙ¦A¿’M[÷Çz9¸Æ†„\R´ì¨¾I-ŠeuwÇcV$<_å\5?¥�€²\4ÞJ颃#¥ômh\QôôDâM\M¡åþŠ\B�\NØ�Ð-R<\I•\0|¡Àuå\QÀ®\U.N\FŽý\5Oà2ü\A\I:W\Kmö-êGëx=§\T»¥¤\D\3ÃE\A–k5D\Mš1\DO\Råƒ2\7\N­Oö«ãqùá\6\TÁþýÜ\5y-Bø Ý\AE.\Q\Up‡Ý\M^˵:\\bÆqpåž|{ªY£©\H±ÃTz_ó\4o(ëx%`ƒ‹ÓU\4(¾q§Ç\H×&#”âͬ–wªD\P3DK\U¥LsœxB"n\5ò¹<\Spkç\8\Fʼn¢­:\Vé}ád.\H\9\G3Îq6;òü\C%×i{²‡E�M§j)º•\D\9ý.šÝñÎ\H\E|!ž·ØÄE\8\N#Áüh?\Zœ)ÇfGær:˜‰Ž\6G<¤y#ÕÃr…�£²\PSòN6&Ê\6µ½f\\ˆnÏêàÑD‰Ø_Û8.V\T5ÞÊ’�†ƒË�ífoâWõ¡'…\D\9/Ê=Ù2~ÇKV‘%Y\HwM\MGÄe\A›%²ZúÔU\B¹Ë”—Åd\U\N-¦¬ÄÓŒÐ\Og!9bÞn¸þô¶Ëœ"’’è®�çt\U\8K ñ^Ò©¶ÍV»}Îf1c¬ÞîòrËÇ“µE¬Jš7D\N½ˆÞperÆŒûš˜±\D\GÉ<ûåùjF\9q±¢|\V’{\Z©lÆÈŸôýASQ\JßÌl:!\9�تBƬϷ¼Ñ\T_\K\N\AûU?\MäE�¦ê\9—(=Ë„}*'\U3[¤gÔä\H\DÏç6êmæƒî«Ð‡Ól­\A\ZQò˜¾Gþý¹\Ty’Y5[\R—÷*\M1?Úò!ÆÅy4ËÒ�ð¬I#Ä¥b\QX\K�ÀÅÉüµšà——.'�\4ï£á0ÚU¿;!éò\I‡øB\4îê{¾)›¦¥ØZ)r\Ub\A6\7v)B¢|nªöùÅEfYºmW¿DFh©©\S~+m\N~"u\\÷ì#\N\9肹•ù\BI…oÞàœ¥#nþ¼Ù—æQ\9\S7%+ó\G›­8ŠŒóÞ'™­6â¡ùÑþÆ}:¯R\L¥=—"e\2B\4\U3[$œ�\\8\G\7vfÒúÀÇÈp™Û¯É^ˆ±k2dÌ\GÁfi\1?¦B"Ž\F{¦\EWà`âêBfF\KÜÀ\U›þBÂî¹\O>*»}›%ëF\FrxÀEa\Hë“\TŸæÀ\H{\S¿Ä�]»Àõeošû+Ç\N†„9k]µ©×\IžÖöÆçNáx»,t\P¾°v»\B\ZH\52\\<\3ï\\T|Wl~ܯ/ÞkG3"š]<òsZ˜\N|�z¥\Bq\SGk"[ÊÐ:?Ê«-Ó)îqZ\M=h÷\Bšl칄\U†h\Q9¥ç�Æ(Bò\Q¦hÁ‘k‰\\“reÌqâ¢\4\I±\J士¶³Ï÷BTO\8O¿ðq\PŠõ²¨…£i\Ci¯ÐÕ˜ÔF®P\P2fˆÀ\F­E\ICtJ¢£$�\C[m¶Ýëlœ­«@{Æ\5:ÊB9\CÓk×pâà*¼–c\Gzê\EQÝ\4/°'Êûpw8¸<ábÔ”ƒsj\2ÑãpºÜ€ô=vøgX¢\3­\2ÈôÂÖ�ž¤ÃÆi�WN»lµ­%’Ãï·uÌ\GÏj=Âf‰l¬ä(F´1\\¤@"2¨\T3n÷:ͶûË^uÖ\3\B½ÑÕu¶\K ~O\R ç볋u)«Óe„ ÇB“&7ô^\FIhC¹‰c½«»sÇí5صãv•qëÖi;MÛ"y¹O\O\UËMî\U\2 fVÁ\R¶Yóòä�Jbf\3DÊFˆ˜\H¸8ô>y¸À\S\M^.¦H^Ý]½){šÙ\NÁ¾\0ã"³…°GhøN×´‰;Ä\Z\0¯ýÁØ\9\J/³Ó\4x$w_<"‘•×_?çÀl‘bF\UÙ£æ�ZL\Zëø6 c\2Bd\5P‚¸xÞæ£9¯‡cî&îî(vÍ<\AKdœ€q˜rëÎ9›ÏÚ5‡‹”*źu˽Ýo\87?Šè’2È×\P\H¯çc} I\H'D\\\9\1#\8 à\V@${[0|5|828|11975|3971500516]}\0\6€�س\5\6\V\Q|¦Œ‘“\6\E\T>1bÜà3#\7Ž›máˆ�£K\V\UO\Rs&�›)tÞÈ\9s¦Œ\Fžz¹½—<\2Iš¹¿ÉÛBˆ-Cˆ\4¡\Id\B\N"\\‚¼xÑ¢Å\K4eÊЉ\1B\6\C\O7ZöÌl%\6\C�íæn\Utéz\Fé»—Ø.sI\Rs&Œ›4zÊÈm­f‰¸a#‡�\Q3f¶ŒT\L$Wœ\Gñ\1ó†æ#\CÝøB…\A\K9eì¤)s·ÊfVFÌvjØ Y\Gåˆa\3f¥pyÂ\5&æ@5—ØŸØ\3×|P�„’î8š\B›u\6ry2S?`á"Ó#\BtÔ>$‚â´:“"Q¨Oˆ$ABD*®—\L\6§t\1\6*\GC ç\3È®¤G\MÞŠk\N¼V¨L©7î\7¼{\\¨ømT\SvºöD\PÁ…\9%&ÊÎ\UY-¦ÉbÆeH�\KÅ”q¹Á·~úé#ä\Aܵá\5A2cf¤¶u\3Z\B.B¸ )^/‹ˆÌ˜1ŒfMM¡¶Ž\I¹m î¬\JÄÅ\8ž¸e\2‡!\UýžeËÑiÞ;Ri~}Ù\5Ç™ž^(¼™\0Õ\D‰–z^¨±Â�¤\K<4ÁÀù\92ìÐ#@Thé"G¤\M\N\R\\ª\0\I×¶hhkDªÊ»"Í\K\D¢ZH=âÒ´|¹ãâ„\6\Vü•„¤Èª%N¨¬\1_ä¡Ó‰a}ð±83\B\4¼7¾*7\2Üé"sæM7U;ä ùÃo‡!qóΰà–ÊE\N.V\B¹\Uöò9âB¥\V¼ËøÆq[¤#~ã¾ÖÓ7g�v<Ût\BسgïÐEo–’%K¾üécêÖ­{7¸Ü°÷�•¯|ò–½ârD\8œ\NZºÈ\H¥u_a\4HüR\G£�\Hiªî‰2S,œ\Ne\\jø\Rvï[\9b{ô­>\2ªp‘\I�ˆ2U7DyÙ\2/š±\QÓÌ0Û�¯™»#ûk.Ò²~�œéKò¢—¢_TðÐ\2\3ç\N¨pÃŽ€óêü1E‹\M=f™¦Í0ÃKUµ\I?æÑ/ODn½-\QQr¨\P¢OßáŠÐƒ‚Ö\R4\\´ø/ã°\K™'\N4Þpá2í\F0(%¸(ÝA<Á6\EZ°Wô\B\56þÂí{ce\T—$z¸Ø(DŠ”¦Í»")cF�x—\3\E—&RÓÈ\2Ö‹\P§zÚ°Åz²H\\=/Áz­XñªÈ‘gUP {öã[�|ÊÊ•[&Ž\B\C4u’%R[BÜ£\6\S·eç>µÉ6éÖ¨#P^9‘S\CÖ1#þàõ¯ç®\R›fùðrG\S¾\G»z©i¢ÅÒ«WoØÐ#׳QÎĽà´\GjY츽@ƒ\F\U\N$¸.Ýú–gM>Y8‹Ç›}í®}¥5XrÉE'\SQðé[_@Ä„¯\6¢òM9Á„\H;.T\B\C}ö\B:!â¾Ùà\7\7ߦb˾õ™áÆyYXg»@á³ë|\9{óª™\NRþ>\Lábå̟¸@±Â\A‹�=vh¡ðr)\P™\Rn¸— \Ux� Aƒ®tiqÂ\9\5Ÿ~õ2?\5\V�sŽJ,º$^ý ’\JêÅ)G×ÕD\IiW‚¬,\D�\B6F|Ä¥«‘âM\J=éªiҤ\V[ò´SVmU¹\V�~l+µŽËŒg>~p©‰\B\E.SpÀk2eΤߥGKªSÆW\5½´¶b¾Ð˹†þ@•*b @�w&׎C\\\B\7(Ún½A‰œ&üš\\[ñÊÆ�\R=¸\SÁ^Þ~í\2“£\7\Sxcp]\I6ºl\CÚß/¬ø,R&U?ZWC8À^8\R.N<ñ‡\F߸p¸¸\OEvgAT\K:º-³q\Z\9Q|ðáBƒ”¨j%N¨ª\1Ųä\D\N%ÐÜ�h¥ç…\Q«…\J)©4r€¨$šQ®O¤GvÆ�{âÃ�½Bé )˳,Ý¡==à¡\RÕ\FD¥>ûì™ì\8^WP\BÉžÍUÄ'Ó¥\T‚Í‚¤¤M›µg\N:l‘\4QáÅKŸã+UõÜ—Ê\Oòò‰’'.HKF**U\B%%BR–\A\PHJáÂv(jq\2~3x5\1Ö…×/3õ”qa¢âm\7·[„�¯\S#¸hq¶³€ƒéÒ\Cú5äÕ\J%Ï\G\Lû\M'ž¨6×\\½3óÌO¬;ï¸Ü\8''�”<}úµó×o\8œ\NUª4#\\b‚\Kâ2ä^;{íLÝûöŒK”\O¢«nÞ³GÄÞÙs×/Œ4R§àp±¢hñj©"õ_Q6\CÔµ\J¥Î\G\JçBž<.EzèCónÌ1\M“N.CpQ³¦ƒ‘1Nºt\SaÆ\\¶Y%úè£ÇËO7?úè$\JV(Ò¦\Rï\\wtª±F\S°@}à\MµbÅ|0\E\7«&Á�¸~5V]q\5%Ïž½•\4M�äòTMs™údއ\F\H\0oÛê9Ó\Ní‰�Znúi94ÎÚšWÍxè/œËsǯ~öÖ;•\6\9\I¤‹N:Ùµµ©ß¼s-\F…\H"Lô©uç\96XaX\C3tè\H\Nšì\M�€"ç\E\NPnÞE\RµŽ[®Iá¤L™³¦|I0rÂ\9\VqÛÞ<Ý\UÐ駯S·]wÚm»�Î\\3]'>×’\StP"�àÂe\J�t©ç„Ô\5Ú‘J•\Q\J„¤  ƒk\H)\IsÆŒ™äåwùqѨQ“w¼&¯Gªø\0…\A�8j©ž|ê±ï›2%{¤Ha‡ŸŽNî~\S{´E•*76jÔø¥OÝü\Q\J'¶´\P]›Á\KMr'ž?MÕ\B*=/^¼rÓMW\F~p¾�9æH_¾|Í6ý\2[¸ÔK¤¦™¶ZÆ—\4BÄØs×mÞº×e¡\9\N'_°ùê_èÁ(TèØºNõÆyÊcMLŽK›öe“UfÙ­6ߌ蠃êÕëò\2\3\C\O¨\T—\\t±÷gÖ\V¼«MK\Ny°\LɶM\M§zÎâÖ\C\N*9äpYZ5½|¤è1²bKE¾óõÖc��\Tz(mª±FÌ-7,\0Q¢Ä¬Ø¢S)*ù+UêW‹/ž4aÂ\5¾àù¤«Î˜rò\SÉÉõíúTнyóºðÂW¹Èaá–¤J•\P!(\9\91¬\B\N.¸ Ø±ÇîÏ9f‰\0-I’¨\T±Äuc¾¨Å€'mÉ\R^ð„qQº¹BÆ�\A\K(\K-ÚSoÔ#yœœ\PJ1Å\O�xĸ\SáV$N,.FFq\P\2ˆË\DPx6·£eÐ\By>nmkW¿c™%\NÇ›—\PM$p+væó¬È\G.9Òùàƒç\7¿¡¤Œ©\K¹\IrÖte‰«·®Q“&4šìË—/|óØ­zeçŒ\P5 *iÓf}aˆ\A´X#\AíBåÊÕ:nY\SýqVi…_ÑaÊö‰,˜Ú\PqâÌÒ#\R'€¨¨Q£…\N/TN9-\B¤ä­{}Ï \I’\F÷ð«NŸ;˜˜XãÆ�\T\T�:é¨#ì�ÚΣ)HÑ2ÓHH(àU”®^’ô5\H\B’RI®ATñB\2®`Æ\Q×C”(3°Xâ„Ð÷ÔF\5¦\Pg\\ø¹#�Ü£G?K–ks\CøFJÈIe'[ɸ¤¯œ\RØpÅ\O¡²\CÙX&K\G¼m¡†p©áÌp3öW\G)”˜Ö\\�\Uj¶Ùk3îss^ß�\JëÓ(}β¼ã2冻l‘F\Sá\I\3ÚºIÒfˆ‰wƒK\Eaµ\UùP¶\6\D\Q>éJÅ\Oe„\B\Hc}V³åxS«–#T¨n—íêヺ pR®Ù¦:þüù=ÊrÌ�ó\TÞ¼�cƒ\6£=沩ïXwmÅ“O9:¡²>I0ËŒ3}îv—\2™óACøÈK\K�FÓÅ5\N´\89á¢E\E>x™ÜuÛÅc\U38š,�óU•ð\Q·´i9¦ªj�´Ê:N]'Nî\5=\G¸ˆ\HgŠ\Q5œõ‰`\CÜÀ+âí|!&\FÍ/?ýžqê1§�º*¡k\7“>)äÞüêg§Ÿžréfœ^ â\I¥•‹,µä5úôÇu\0/„„Üxã~X”ž>Rô\OaáÏÔ¦\Rë”(Ágºcq9k\J+Ö”8ßT©ÒÄ%g•îókÏÝ–6­†¡a–D‰¢D�¾\\n\\ÔËbå—‹šE«È½Ö\O)\6h\F9s~ÌÔòÇ\3\C0`—¼hÒÕãÌö™\0%^P?°\Itü\9LJ›ü\2hqéR²‹N2YÃŽV\Z¼Å”SFì½ûYê\0«¥Yô+•,iþâ\Tûâ�W–\Rk¬—Œ™\L„\7¡}VªTcÂ\5G)(Èà|sÓM\L\N-èF½¸âŠO“Sûˆ´òôjZ\VQVž\Të³Â…½0”7Ò”z6c\F»(ü’b™š_´âL1B�þI\L¤�˜uÖZÌ1ǬK?_!¡”FÏ~a«\5ÃÞ�K.úÉ ƒ\6Û!ã;�¤ä½K-ºøÉ'¯L))™6íšáÂMIJ•Ý“\3\F\\2ë\TñÆ\D›"E\6\N'/<™ºvöš\L/\\–4i´,Y>S_~yË–mŸ7à\2WŒã\D\C\VzèKË\GC\\Š4Â\JGš¥\M™æœs¶MV‰9î¸åÙe§œ/xˆuÙ%wUs«Ì\IsÜrÍsÄ\F\E©³KÃÚ:4æž»\NC„¶¤ÉF\R}öÚm3O\Voï’xãôã‡ùáCW\\—\6O3Nè:ó\C$s1îÊO”iÙ²…‹•?|€Ykõ¥ˆ\H\V³ê¬óVjÉ(iÓ~lÑECݶ7ØU[\NL—Žc§>ß)œ\1Ìß\3A�Ë\2®ÅT´d‘E®ïfµbžý\S…¸uÍ“ŽzÓæ<ëá�ܤ!>úÑ\3Æ/ßÔ´\3\M¸R-¶ØÓ³gòB’\Jå\5R"ì%\CÈ3OÝ,¹h<ƒ1©‡\U:{ÈEòŠdŠÚ\P²r*ʪQ *mº±…\V?\TôÔ•\2ÆE‹²zëìÕX#»~ˆ\M­\UrÈ�àv\O³­\5æÖ\6Ù\P‡.Ú˜\M­¸\C!%nÝŠuÓNíÛ÷îE!*êÔSžn� yhnH-4’ �¦z¢ƒvI#\HëÍ·'Á‚uš7oDˆJ’$�ä~ôé\2·\0q\3‚Ÿ™qmJ7A_ý\A"\CV\N<[Ò¼ƒä\B_·R_üV_\U”û%Ij�p‰òÃ\5›bŠ‚@"†-Ö¶4Ú^üøÁ%‰”\K)¸ä\G«l\Sµk\\jœ\BÇÅF®O~ä\4“[%Ù\MéºÇ®^·@|„ð\Q:…A…Ú¨3¯¸H©rm‡\TzÓz�’†æZ\TwÌÀ=N‘Æ\T+Ô\AK\C.8$\NëúØÑd_¹sG„¨(Q"¨`\Jút�ãÁ\DĽiOXqÑÒÂ\B-z­,Y2Gì–¿1Þ$ý‚ãŽR¾Xªúíó}øY©a-\Sê‰+xóÖÑi§¶Ô\Rºu¨\H\VùÉ©T†HÅ\R'Ìjµ<áB#\9ãR°«“©~òQ“\2Ò¾t'ŽùÁ��\U..NöÔs7*ÏždÞÞ<³ÄE\8¿Ý«\9!G|Ä£'ªÔ›>ùòØIVl~h!C]vi-×SmaF|âÛ, ªB¤á‡\B\M\N&+[\BÂ%ɘcnN¥ùÅ�\V\I$¥H‘@,\K××\AÅé\G\N)äüèKöŠO\M~Û\C­º¢BŒ9&ÚöµËF¯––c­¶\\zYPÙ¢SD|á²$êmz‡Æç¨@).Q$\P{\\º¶Ä\IÃå\8‰\OvØÙÑdoÙ³G„¨(Q"˜\P¡zu‚åÁ\L,јC®¾üÒ‘GÝšæ\TéÖÔštÊ—­;÷œ]\H%ê\F\B\UÜ\F‡QG|õÉ£‡Î+o}à\T…DÒØ)'\BŽ)txˆQn\C¾.ÖŽ­óòi\MæR#臒\Q$ê—¤öSVLªq¹áîZ«Mßî}ûâ&MšNŬ§vÆÒMùa\7\TôÚ“„‰G\Uj¹æ”¸òJ{�÷ɇ\Pf`�ˆ³Öâ/Ö"éˆ×\9\M¬P�ˆA\B5ä\RŸyÍdw4Ùd£—>u« \N�cY‹ZÉM»¾js,\S\S~ò–d\3\Mh\G8Q7Ð13ÃE\9·tÈ"�\OcŒQ E(\K\H.&šL…³qÆ\Pç}åú«Ò²rpÂᬞQdÂ[é�jDåÊ•?´²q/9ç°a*\4'z¡EÇÌì:s»¦³Æ¿ƒ\N/\U¸\G‰BÂ\5G¨4\\¢¸\B\M‡›â}“\TvØ¢õÚs\7\N\SN…¢È¦8€ÑA¬%\Dǯ~pè\TƵbØ<þs\0�ŒŒàZÆ¢� \4�f[÷Àåñ·è…/L1Æ\O¹ç®[8aq¸41’L¸Ñ\M ÛrÙi§ÅŸ§n±b\M§ðœ%IJ�³V3Q\B7󇋯–Q{«\L›%íËÛ.;-þxø\O9Ã\C3ZVØQ³fÍ¢?*C{øà’Ä…žAÎØØ\8ÖIÞ¼y§˜d\Uöä$ê¬GŽ\G4š\Ck»Ê²âƒ\7\TtP�e\\.ì\A­•#%B‘ˆ\G„L¥ARh\S\BF’\AÏzÖ\5³GAvÅ\9…��\J§Õ]’¾|y1)\Pß\E\G•4iÒŠõ\CÞ@ÍØÔ\4’bñ\D!¸0q4\B†Òê_\B‰/32´9ñâ=0³\Nþè¹Û•XiS޳1±°ØrÓMÇ\U{ìBÎ\TŽÝ\K‰Ü'd\Q\Dn£jÕª×èfÍ=‘A\6\P»l³±E¯žT¨PáÊ3K×—_þ´t‘#Jk£€¼�–©™\9\\MüøñG)Å\K***ECÃ…\6HÍ\J\\GõŠœ9s\6\9\I$lØðÒ‰�\7SJ;üèK…¯Ò\LÓDmÜQ©Ru\KÊ[Ÿ{]ëN\K\A.I„ Ñdh\R–VÖ^ùÒ§F\Q©¤\5È\FþÕ\7\JŸUc;´i\P·é\D±ed—Æ\I¢³=çÖ­Ûá†\RN²\J\\¸øâ“ç™§\UO|ä#o)Úp¼ƒ\Ur"u\C‚L\P{ï®ý\1\7,hp\Q\P€\TYp6õÛwï‹.:)dv\6!\1̦°Täï\Ofˆ\B‘\L(ËÅ\J\SpÀ`ÁºæÇW\9I™2å<õÊ?¯r�‹\L\O2ø�œ\I\8rÆÆ&ð]7Þ¸ZµjÒ²r1;\RI-\3š6mºì²Ó曯>_øÄ+Šw\AnÐ׋ŽYÙ¸ÐHMíšTj£Pq©1oì�\I.(||š4¹`HEíÚõ$�Õ\S@RÊ”)Ë\K\C\D�³œ°±9¬\2Ó®u3¶•Z²ÌR±èWU|Y³H#ŽnËN<ñÄÃ\Eû‚�FÐ\Ulíì´.\FR�…(:î¸/½†^p™r&\C%–\2\L£\LIy‡î\EH�¸\S5�[Ì@‹Ž0¯Ê&J*ªã>HÉè9:™Æ\5Ê\C3LÜv@íÀƒwŠ�\TGÃÂa‹—Æ\9”g â�û|ñ¥#i'\L\4� vìø~šÚ¦4ÝtÕyÑ‹ž\K8p‘\\ÅÜŽ²\TnÜ9Ã…«r}Ðãb£S66‚vT±ZèEid¬Úª«˜>\OSS»ætÐA\JMTQ\4éÞÁigÙ«Y]>ð8\JÖlÓ\E.VÙ\L0ï8Úœ>t¸hñ×/y'é¿`—›UVZiÚqÇ\T¬0ÃÈÉɉP\R.EŽuêŧœùàB•Œ�•£4C¸®MäVÝ”\Pgœ?£è\7l\0ÇJ¨pÎâl³Õ¦—œ|òd•‰3ÊHÏ\AÏRºø\G¯å&Pï \K)ò[9òàœâÞ\1º\3\Uü\2\MÁr\P3fô¸¹AêÕ\JDOÐqËZ<Ù\OT.EŠ;\\yé­Ê¼�%Úñ¸ÈݹaÃf±\G\4#�4Ò³\P~£@ñôŽ*Q¢ø\5ãrc×ÔC®¦4eJ׎¡ÅkÆ2ÙD\KÜÊ\HG|©lJŸ}ö\AW/Ñ„N(x\K²3fœñzÙôÃ\R—!©÷\Nƒ¸\S\H÷î}ÃRqáÂ\BßWMÒ­’�vÆb�9r«Í2CT§#Ê?`Ýúj~Ò//ÅPd\T)Rt»PBsSü\5Un\\j<+G'…\MZ¶ÃªÄ\G—/þ 4˜,\HnåS·ê•�vÚ¸0\DôA\I%ÊM&Ò‚‹”UÕt•YÆ¥Éà‚°Jœb]\7¢jjší“·(Þ³\U?g¢\K‰&{’E\N�ôs\0Â;°XâR“9–FÁÀàÂ\JOœ­6ÛÀãÙž|éN‰{uïݺk¯þô\Qå\VDZ¸½Ø\V˜á‡\VÞR?ôàýt4U\DãŒ5NðÝpÃ+Î8CÑÐ\GÆD±Ã©©�ÍDenLE‘À;\OR(Ô/ùòv\4ï¬3\S΄\J\H3òtýÀ\N?™Îm‹v\3Õ\Phø\Bò¢J‹3I“&m¡†\S2Ý�\F\ZËY°ØY^TŒŠ>œ\IŸdNêÔêåËûÔÅÓ\F~W8…ú\TU;¸\C\P†/_þYYš=©\N¬\7ù\I¦\E\L¯\Nò¢¹!Ç\E›¥Ìu�ƒ””.]º—\H.7r¯¿Š¤â'oQcûò‚ǘ\9ÚÅgŸ/m›jÕ¬\H)©Zµª¿A™7o\G\LeË^ÌÄHW8\Lax1vm²8Ós\EWœç\1ú\J\I¯ÞºkóëÊêr\\”ŒJ£‰‹MæåŒ”’R„\8\H:í´Õ\1\U\QšP\UP\Jx1nv ìàY¦Ë"‚a!´ãX\Vz‘R˜\9&lnÁàÆ\R÷ér–IŒã™Ê)«tÊI'¥ãA6Ù¡\S\B_l\NðÆ�;w‹l±\0\6¼ðÆ«\4.HÜ7áJ\K¯ckHb$Å»�ÛfÁ¢*ªH2\M¨ã\Z0mÚ¼ÓYêƒÕÙS\KÃ#Ø�’%K¦^-–ey_An¸Ë>�Š\H\D~úéñtnpÇ8qâ+–€GÅÁ\7/\\�=ö÷L-²È"\P\I\I!\9aÂp”!ÃFÈΘoWö̲e&ˆŠÚ\T^;üv@R’'_Y5\Oy¾�\RÕ\DY¶X-fÌã¢\4Ié]ß�C\\´”¨;.ú�"h’\G\9Bµ-9¹‹–”|å÷aR\9æ�†\D›k\2\S ¦œn4†pßôиqcOž¼aH?H\Q=S¼;Æ\SsÄb™p\S\PÂä:óÆO°»Í»Ôbqù«¡~¨±`5ml¼ñ®œ\Fw\Kþ1BÜöz;4,Æ\SsÌÀ�\3‹â#¨6(lõi‰%¤hì¶à\4N²w\C¾.D¸D‘Avc\2“Â\IzPQQmÝ«_~ê©«^P}áÃ\5‰K<³;gUî]öŠ.^³\BM†i\Q¡ LÁÅV?|ØÅ:¦¹ó.\LÝ¡==0{lb<†­yÑŽ˜J1Å”�uÖK¥t2Ð\3*:ÈÁÁ!²\3¼àB¸\E))%s’#wGÐŽð�x“²³ú^5Úâ‹‹Œ_ÓÙUÌ«vå«D}åImcˆKê�à–‚[m¶Ù°T¶\Gj¡…˜,–(ä:LZ§”•µ£MSvØ¡³Í\M\R$嬵ںÛðÝ\1IY½uU5cœÖŒ'!»b/Ô4ãbåíÜ\V7\\A¸àˆwïÞ!*.¼ð{IÐ\OØ\B¢]Ý|"ð\8©T©’¥¥õì\\™¬%Ÿ\KÂx<û’Kn¡\5\CX .3Ê£\HV8žmóµÏÝ.ॷþÖq¡Rï\L/™•ÌŽƒr‡ïJ®(kw¾õ-�Q\8°nê„£¥\3Ž;ŽV¡xñ\8\H&RÕJœPU“P©ÖM¨\L8Hxx\5íqá2eÊŒ<òÈ"\08T¬X1ëV™\Së:�3Öc‡\Sr(©­±öê˳y|™\0\\æ\I\DñÁ ê\8\2�wÞ\BM¼c„šò¡ÝÁ«Ÿ½mzzy[¶Œ‹P|G"m¹å¦\T·|é*­¸tŽY"wÙfpÁÉÉÇ¿cÄ\HGŒS\Be”Rbq¾dÈ�a±Å¶A~Žƒ\8 ̈"/›,™!D…��\T!ˆ¸¸4D…Õ‚\B*áùàp˶슋'|Â\L�÷#…®v©3‚¤˜›ÛeAèð\BRbjYЉ¥ÚzÔQGæ—Ÿ~ϲàÊ3ç|qB\ImÍ4iŒ )êææ\4!dåäÖ�š\Mc‘âÇ\Vµ)c¬µZ²„\9Óª€$ꚩҥ{‘³«{‘Ã\HiYùꩦÅ8ÉéTîȶMövËWžYZ&á¿y\\–ô²Ñ¢ySR\Fq\I‚ˆ\B\N\N‡¨°²&“$\JR±îXµzA"gO4u’‹Hõ±\S\O)ô´Ñ¢¹ôI‰µ­ýŽZ\P),­ÊÂ\3v\2QäU“%3„¨°³«s-ˆ¸´ü*­ªÅ\O\3\C„'‰´Àø\Pœ,i:wËM3AT\3Úì\T\OxfÑ,^¯îÈP^Õ\KW“BO\R-\Q#«ëÖö\T´ù–XZ–c¸\EI;òÈ\V,`µÙÅ\4\Eº}‚–\\rÑìÓ-À;G\O3öbå¨víÚ™·;$YRZYãGoJœ$I’\N�'<2mÚ5Ã…›’ðÅ\8 Bn¾ùjóÊÖ\RÈXYYƒkîýÉ“‡\81’\2Œ‡Ñ\N@®õ\E%Ь–\P8çp)’'\F\H¢$ZºÈ\H¥µÂÃ\O? k¹ƒrK­´´\U¦Y\VåÊ\N¬=“hé"Gt„\3(Lö\2ˆÜ\Lš\H?û¸Í\PßùÑ—†\9\Jfþúí;ò¸:\Q}kã�W¾}ï~=Z´hØ/$V¬X2*z<\Iá\Ef̘à¢Q£æÑ:<‰\R¯0899S¤\8—\Qþ¢øïè²ËN¡ÅseqÄ\HÃ\Lgœ\Uzè¸Ä¸¼·€Þ\1¹\3\T:4*vìØû4'—\Owxëµ÷¨-l±™"iÒ¤\HŠÄ\N¯%½k:æ5 �J–,\P*T¨÷ta -|ÈE\U\E\1‹å\P<„áT4´\NÐ�:þB\3\C0@%–X⓯ÜådæX\9\Tt¬²Ì²å¦›šXXŒOOL[uåuR´ö§Ss}´µ˜ÕÚuç}íôлWSµjõA¦\FÚ\G.Fšp.Ð�pÑ¢o\I+V,\Q\P\P\7·9Is@ÆŒ\Pá$}úô÷Ø+¶¸,ÜC\N�Ë\C@ÓÒ±B…\AØ\Feß¾ý¾#øº�ùÔÇŠ\K)²à„\JnHò€­Ð�û»è\TTìØ±G/Ý´NNÎÅ\RwìN;mõ¨MyR\K5!¦P¡Bc�5Va†\P^ù¨ìhÑr×&´w®‰\\¹e—\B\R¯Í\3]–Ð4ÓTãè ­ì…Ë\R¼\TeÊ”·…1ãŒS>s›Þø�\NŒË�w¹ÐÔÒÚÓÏ\O\N)o¸à\G¼ž>ZjñÉ'¿zçpzí¹ç¼S\I€\B� XtÑI·ã\T¯Aº%±bÅ’‘Qq÷\Zaœ{2wÖ–²eËš™™ƒ\5\B6j©¦„ÇÛ\7¿gH­&›lÔk·í^­ë%l\6¤K—\Ff3¯šü\7\K•&eΜyòÉG·ttlÑ¢½S\G_kk"\Fý�©£l´ÑFJJêæN¸ñ±—íL/=õ›\MCl‰\S:\1Cq‡’%K†\9\J\UöËÆæ\D\V—"ÀÄÄâ!\FÙÈpñ\VPrÂ\9•TT\Nö[1Á\4SŽ9f„\8\H\\Ì—oZ´è<6¸Xùÿn€€\1\3nÊ“žÈIàí\F\N-}„ \F³\N\O5\Dà„ËãwSªJ[¹ÊÅ&cµ¹ê²ËŒŒÌ•Ї~Tå\Odù#W®\\!Ã�Tí¯nîèè\4'Wœq\\l\C\F¨\S!ó¸áŠ3(\C—'ü\\[çÐ`Á‚Ë\G`†÷\4RL\VCe”Qzö³¸ñ‚Ý¡J•’SÓŠv´ÛvëI))½ìi[ó­Ï½.cÆŒ\0”oÞ¹MÍÌ\Rr[)ÐÐÐ8ö¸\0ú\1\7\S0}õÖq‰Á‹Ÿ¼e‰;†VÒÐfÀ\VœçËŸ¾õsí;)|×:‘)S&\DÍRthXä\D}�•è[\L+V«bŠ#¯‹—\Op‹zÜ`\F¾#ùöíߟ·ââÆ\Ro´¶µãbÄ\7>Ð\By\\¸Èï\G2´Cˆ\GQ£F¥bß¹ p½cÜã\3®W™e–·\17lØÜ\Z�{\\¨5YVjÉ%á�Å�Ò¥K›˜˜^®V�øb'…\A\LÚÛþu\9¸/w"UªT*\QÚƒ¡ÈÑŠ\GbÆŒ\9wÄÒѱZ/àë®Ü»wßj­¹Â­è\GÖMãü\3\T:4j„­<š\B ¦L™à—¤iÇ;o½V©R\5Ll¤‘J\I¶\3N–[nºÏ\RÅ/wIž<ùÄ#�ܵY\Fx¯vÏ#â….iÔ¨Q¹råÐ\VÊ…Ô­OŸË&NøÒÇE\B—\O\\œœ\PÖ¬\A\KsÎ÷‘>�¤ˆ\J"®„€\H\4\Gð\F  % * (,& 'BË,` `  @ ` `  ` 0 ü !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞ` D `  ”` @ 0 @ 0 ,& '\Ë,` `  @ ` `  ` 0 ü !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞ` D `  ”` @ 0 @ 0    >   ] liborigin-3.0.4/tests/examples/PaxHeaders/2folder-with-graphs.opj.2.dat0000644000000000000000000000013215223444105022743 xustar0030 mtime=1783515205.242089899 30 atime=1783515267.385797365 30 ctime=1783607690.173524389 liborigin-3.0.4/tests/examples/2folder-with-graphs.opj.2.dat0000644000175000001440000000026115223444105024406 0ustar00dozentusers00000000000000A; B; 5; 1; 4; 3; 3; 4; 2; 5; 1; 2; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; liborigin-3.0.4/tests/examples/PaxHeaders/2folder-with-graphs.opj.1.dat.orig0000644000000000000000000000013215221715411023700 xustar0030 mtime=1783077641.155535718 30 atime=1783514760.876652517 30 ctime=1783607690.173524389 liborigin-3.0.4/tests/examples/2folder-with-graphs.opj.1.dat.orig0000644000175000001440000000026715221715411025351 0ustar00dozentusers00000000000000A; B; 1; 1; 2; 3; 3; 2; 4; 5; 5; 4; 6; 8; 7; 6; 8; 7; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; liborigin-3.0.4/tests/examples/PaxHeaders/2folder-with-graphs.opj.2.dat.orig0000644000000000000000000000013215221715415023705 xustar0030 mtime=1783077645.635533804 30 atime=1783515267.385797365 30 ctime=1783607690.173524389 liborigin-3.0.4/tests/examples/2folder-with-graphs.opj.2.dat.orig0000644000175000001440000000026115221715415025350 0ustar00dozentusers00000000000000A; B; 5; 1; 4; 3; 3; 4; 2; 5; 1; 2; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; liborigin-3.0.4/tests/examples/PaxHeaders/crash.opj0000644000000000000000000000013015223440646017350 xustar0029 mtime=1783513510.94479802 29 atime=1783514978.47536584 30 ctime=1783607690.177524378 liborigin-3.0.4/tests/examples/crash.opj0000644000175000001440000343224215223440646021030 0ustar00dozentusers00000000000000CPYA 4,3168 226 W32 # o ü^ :X[Ñæ8·™"@ A]C YE2y lOAIm “ ú !Qð?ð? DfAqDDD3_AÊò , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_BÊW , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_C1Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_C2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !Qð?ð? DfAqDDD3_A@6Êh , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_B@6Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_C@6Ê< , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !Qð?ð? DfAqDDD3_A@2Ê‹ , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_B@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_C1@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_C2@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !Qð?ð? DfAqDDD3_A@4Ê\ , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_B@4Ê: , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_C@4Ê ,þtª� “ ú !að?ð? DfAqDDD3_D@4Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_E@4Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !Qð?ð? DfAqDDD3_A@11ÊG , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_B@11Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_C@11Êê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !Qð?ð? DfAqDDD3_A@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_B@12Ê, , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_C1@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_C2@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !Qð?ð? DfAqDDD3_A@13Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú”!að?ð? DfAqDDD3_B@13Ê& , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú”!að?ð? DfAqDDD3_C@13Ê ,þtª� “ ú”!að?ð? DfAqDDD3_D@13Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú”!að?ð? DfAqDDD3_E@13Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !Qð?ð?ó DfAqDDD3_A@14Ê‘ , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? _ DfAqDDD3_B@14Ê  , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? ] DfAqDDD3_C1@14Ê  , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?ÓV DfAqDDD3_C2@14Êí , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !Qð?ð?R DfAqDDD3_A@16ʦ , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? !DfAqDDD3_B@16Ê[ , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú  að?ð? "DfAqDDD3_C@16Ê ,þtª� “ ú !að?ð? !DfAqDDD3_D@16Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? !DfAqDDD3_E@16Ê ,þtª� “ ú !að?ð? !DfAqDDD3_F@16Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? !DfAqDDD3_G@16Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? !DfAqDDD3_H@16Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? !DfAqDDD3_I@16Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú”!að?ð?R !DfAqDDD3_J@16È , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú”!að?ð?R !DfAqDDD3_K@16È , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !Qð?ð? DfAqDDD3_A@5ÊÝ , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? ,DfAqDDD3_B@5Êý , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? ,DfAqDDD3_C@5Ê ,þtª� “ ú !að?ð? ,DfAqDDD3_D@5ÊC , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? ,DfAqDDD3_E@5Êë ,þtª� “ ú !að?ð? ,DfAqDDD3_F@5Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? ,DfAqDDD3_G@5Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? ,DfAqDDD3_H@5Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? ,DfAqDDD3_I@5Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !Qð?ð? DfAqDDD3_A@9ÊÙ , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_B@9ÊD , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_C1@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_C2@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !Qð?ð?ó DfAqDDD3_A@7ʯ , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?~_ 9DfAqDDD3_B@7ÊÀ , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? ] 9DfAqDDD3_C1@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?"W 9DfAqDDD3_C2@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !Qð?ð?(  DfAqDDD3_A@15Ê5 , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð?ó =DfAqDDD3_B@15æ1 , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ €ú  að?ð?8 x– >DfAqDDD3_C@15ó , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !Qð?ð?ó DfAqDDD3_A@19Ê| , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?~ @DfAqDDD3_B@19ÊR , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?ÅZ @DfAqDDD3_C1@19Ê� , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?V @DfAqDDD3_C2@19Ê¥ , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !Qð?ð? DfAqDDD3_A@20ʵ  ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DDfAqDDD3_B@20ʃ , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DDfAqDDD3_C1@20Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DDfAqDDD3_C2@20Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DDfAqDDD3_C3@20Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DDfAqDDD3_C4@20Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DDfAqDDD3_C5@20Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DDfAqDDD3_C6@20Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DDfAqDDD3_C7@20Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DDfAqDDD3_C8@20Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DDfAqDDD3_C9@20Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DDfAqDDD3_C10@20Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DDfAqDDD3_C11@20Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DDfAqDDD3_C12@20Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DDfAqDDD3_C13@20Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DDfAqDDD3_C14@20Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DDfAqDDD3_C15@20Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DDfAqDDD3_C16@20Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DDfAqDDD3_C17@20Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DDfAqDDD3_C18@20Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DDfAqDDD3_C19@20Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DDfAqDDD3_C20@20Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DDfAqDDD3_C21@20Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DDfAqDDD3_C22@20Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DDfAqDDD3_C23@20Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DDfAqDDD3_C24@20Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DDfAqDDD3_C25@20Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DDfAqDDD3_C26@20Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DDfAqDDD3_C27@20Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DDfAqDDD3_C28@20Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DDfAqDDD3_C29@20Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DDfAqDDD3_C30@20Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D1Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D3Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D4Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D5Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D6Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D8Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D10Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D11Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D13Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D15Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D16Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D17Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D18Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D20Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D21Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D23Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D24Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D25Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D26Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D27Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D28Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D29Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D30Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D31Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D32Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D33Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D34Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D35Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D36Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D37Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D38Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D39Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D40Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D41Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D42Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D43Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D44Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D45Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D46Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D47Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D48Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D49Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D50Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D51Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D52Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D53Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D54Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D55Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D56Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D57Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D58Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D59Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D60Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D61Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D62Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D63Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D64Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D65Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D66Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D67Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D68Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D69Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D70Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D71Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D72Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D73Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D74Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D75Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D76Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D77Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D78Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D79Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D80Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D1@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D2@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D3@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D4@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D5@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D6@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D7@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D8@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D9@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D10@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D11@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D12@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D13@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D14@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D15@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D16@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D17@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D18@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D19@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D20@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D21@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D22@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D23@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D24@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D25@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D26@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D27@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D28@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D29@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D30@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D31@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D32@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D33@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D34@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D35@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D36@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D37@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D38@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D39@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D40@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D41@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D42@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D43@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D44@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D45@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D46@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D47@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D48@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D49@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D50@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D51@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D52@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D53@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D54@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D55@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D56@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D57@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D58@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D59@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D60@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D61@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D62@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D63@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D64@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D65@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D66@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D67@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D68@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D69@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D70@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D71@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D72@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D73@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D74@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D75@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D76@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D77@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D78@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D79@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D80@2Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?åS @DfAqDDD3_D1@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?'M @DfAqDDD3_D2@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? J @DfAqDDD3_D3@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?åE @DfAqDDD3_D4@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?ÅB @DfAqDDD3_D5@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?Å> @DfAqDDD3_D6@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?89 @DfAqDDD3_D7@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?5 @DfAqDDD3_D8@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?m1 @DfAqDDD3_D9@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?N, @DfAqDDD3_D10@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?N) @DfAqDDD3_D11@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?2% @DfAqDDD3_D12@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?  @DfAqDDD3_D13@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?N @DfAqDDD3_D14@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?Å @DfAqDDD3_D15@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? @DfAqDDD3_D16@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?ß @DfAqDDD3_D17@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?5  @DfAqDDD3_D18@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?³ @DfAqDDD3_D19@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?N @DfAqDDD3_D20@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?'ý @DfAqDDD3_D21@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?2ø @DfAqDDD3_D22@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?oõ @DfAqDDD3_D23@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?ñ @DfAqDDD3_D24@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?*í @DfAqDDD3_D25@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?oè @DfAqDDD3_D26@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?oä @DfAqDDD3_D27@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?2ß @DfAqDDD3_D28@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?5Û @DfAqDDD3_D29@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?Å× @DfAqDDD3_D30@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?Ó @DfAqDDD3_D31@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?ÅÏ @DfAqDDD3_D32@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?ÅÊ @DfAqDDD3_D33@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?oÆ @DfAqDDD3_D34@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?o @DfAqDDD3_D35@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?ž @DfAqDDD3_D36@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?2º @DfAqDDD3_D37@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?tµ @DfAqDDD3_D38@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?± @DfAqDDD3_D39@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?Œ¬ @DfAqDDD3_D40@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?D¨ @DfAqDDD3_D41@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?£ @DfAqDDD3_D42@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?Ÿ @DfAqDDD3_D43@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?Nš @DfAqDDD3_D44@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?– @DfAqDDD3_D45@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?2’ @DfAqDDD3_D46@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?ÅŽ @DfAqDDD3_D47@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?N‰ @DfAqDDD3_D48@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?M… @DfAqDDD3_D49@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?)� @DfAqDDD3_D50@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?} @DfAqDDD3_D51@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?5y @DfAqDDD3_D52@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?t @DfAqDDD3_D53@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?Åp @DfAqDDD3_D54@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?l @DfAqDDD3_D55@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?g @DfAqDDD3_D56@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?c @DfAqDDD3_D57@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?_ @DfAqDDD3_D58@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?Z @DfAqDDD3_D59@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?V @DfAqDDD3_D60@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?³Q @DfAqDDD3_D61@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?M @DfAqDDD3_D62@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?H @DfAqDDD3_D63@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?ÅD @DfAqDDD3_D64@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?å? @DfAqDDD3_D65@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?³; @DfAqDDD3_D66@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?à6 @DfAqDDD3_D67@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?Å2 @DfAqDDD3_D68@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?Å. @DfAqDDD3_D69@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?˜* @DfAqDDD3_D70@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?N% @DfAqDDD3_D71@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?o! @DfAqDDD3_D72@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?Å @DfAqDDD3_D73@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?Å @DfAqDDD3_D74@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?� @DfAqDDD3_D75@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?Þ @DfAqDDD3_D76@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?Þ @DfAqDDD3_D77@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?à @DfAqDDD3_D78@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?Å @DfAqDDD3_D79@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?5 @DfAqDDD3_D80@19Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D1@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D2@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D3@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D4@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D5@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D6@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D7@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D8@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D9@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D10@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D11@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D12@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D13@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D14@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D15@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D16@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D17@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D18@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D19@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D20@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D21@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D22@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D23@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D24@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D25@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D26@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D27@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D28@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D29@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D30@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D31@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D32@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D33@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D34@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D35@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D36@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D37@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D38@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D39@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D40@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D41@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D42@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D43@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D44@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D45@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D46@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D47@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D48@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D49@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D50@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D51@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D52@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D53@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D54@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D55@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D56@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D57@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D58@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D59@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D60@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D61@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D62@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D63@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D64@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D65@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D66@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D67@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D68@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D69@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D70@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D71@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D72@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D73@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D74@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D75@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D76@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D77@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D78@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D79@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? 5DfAqDDD3_D80@9Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D1@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D2@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D3@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D4@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D5@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D6@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D7@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D8@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D9@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D10@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D11@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D12@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D13@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D14@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D15@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D16@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D17@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D18@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D19@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D20@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D21@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D22@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D23@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D24@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D25@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D26@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D27@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D28@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D29@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D30@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D31@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D32@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D33@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D34@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D35@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D36@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D37@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D38@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D39@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D40@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D41@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D42@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D43@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D44@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D45@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D46@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D47@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D48@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D49@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D50@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D51@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D52@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D53@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D54@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D55@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D56@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D57@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D58@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D59@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D60@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D61@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D62@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D63@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D64@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D65@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D66@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D67@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D68@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D69@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D70@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D71@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D72@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D73@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D74@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D75@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D76@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D77@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D78@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D79@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð? DfAqDDD3_D80@12Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? R DfAqDDD3_D1@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?KN DfAqDDD3_D2@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? J DfAqDDD3_D3@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? F DfAqDDD3_D4@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?B DfAqDDD3_D5@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? = DfAqDDD3_D6@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?9 DfAqDDD3_D7@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? 5 DfAqDDD3_D8@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? 1 DfAqDDD3_D9@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?- DfAqDDD3_D10@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? ( DfAqDDD3_D11@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?# DfAqDDD3_D12@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?  DfAqDDD3_D13@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?  DfAqDDD3_D14@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?Ý DfAqDDD3_D15@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?  DfAqDDD3_D16@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? DfAqDDD3_D17@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?  DfAqDDD3_D18@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? DfAqDDD3_D19@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? DfAqDDD3_D20@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? þ DfAqDDD3_D21@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? ù DfAqDDD3_D22@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? õ DfAqDDD3_D23@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? ñ DfAqDDD3_D24@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?=ì DfAqDDD3_D25@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? è DfAqDDD3_D26@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?=ä DfAqDDD3_D27@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? ß DfAqDDD3_D28@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? Û DfAqDDD3_D29@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? Ø DfAqDDD3_D30@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? Ó DfAqDDD3_D31@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? Ï DfAqDDD3_D32@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? Ë DfAqDDD3_D33@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? Ç DfAqDDD3_D34@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?V DfAqDDD3_D35@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?¾ DfAqDDD3_D36@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? º DfAqDDD3_D37@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? µ DfAqDDD3_D38@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? ± DfAqDDD3_D39@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? ¬ DfAqDDD3_D40@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? ¨ DfAqDDD3_D41@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?=£ DfAqDDD3_D42@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? Ÿ DfAqDDD3_D43@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? › DfAqDDD3_D44@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? – DfAqDDD3_D45@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? ’ DfAqDDD3_D46@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? Ž DfAqDDD3_D47@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? Š DfAqDDD3_D48@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? … DfAqDDD3_D49@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? � DfAqDDD3_D50@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?} DfAqDDD3_D51@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?y DfAqDDD3_D52@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? t DfAqDDD3_D53@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? p DfAqDDD3_D54@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? l DfAqDDD3_D55@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? g DfAqDDD3_D56@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? c DfAqDDD3_D57@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? _ DfAqDDD3_D58@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? Z DfAqDDD3_D59@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? V DfAqDDD3_D60@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? Q DfAqDDD3_D61@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? M DfAqDDD3_D62@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? H DfAqDDD3_D63@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? D DfAqDDD3_D64@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? ? DfAqDDD3_D65@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? ; DfAqDDD3_D66@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? 6 DfAqDDD3_D67@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?2 DfAqDDD3_D68@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?. DfAqDDD3_D69@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?* DfAqDDD3_D70@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?ó% DfAqDDD3_D71@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?Ï! DfAqDDD3_D72@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?ä DfAqDDD3_D73@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?Ý DfAqDDD3_D74@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?ò DfAqDDD3_D75@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? DfAqDDD3_D76@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?à DfAqDDD3_D77@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?Ï DfAqDDD3_D78@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð? DfAqDDD3_D79@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ !að?ð?à DfAqDDD3_D80@14Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? R 9DfAqDDD3_D1@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?¨N 9DfAqDDD3_D2@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? I 9DfAqDDD3_D3@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?ÖF 9DfAqDDD3_D4@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?B 9DfAqDDD3_D5@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?ñ= 9DfAqDDD3_D6@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?9 9DfAqDDD3_D7@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?5 9DfAqDDD3_D8@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?Ñ1 9DfAqDDD3_D9@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?- 9DfAqDDD3_D10@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? ( 9DfAqDDD3_D11@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?# 9DfAqDDD3_D12@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?  9DfAqDDD3_D13@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?Ó 9DfAqDDD3_D14@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?7 9DfAqDDD3_D15@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? 9DfAqDDD3_D16@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?Ñ 9DfAqDDD3_D17@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?  9DfAqDDD3_D18@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?Ó 9DfAqDDD3_D19@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? 9DfAqDDD3_D20@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?sþ 9DfAqDDD3_D21@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?ëù 9DfAqDDD3_D22@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?Sõ 9DfAqDDD3_D23@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? ñ 9DfAqDDD3_D24@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?ì 9DfAqDDD3_D25@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?è 9DfAqDDD3_D26@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? ä 9DfAqDDD3_D27@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?ß 9DfAqDDD3_D28@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?Û 9DfAqDDD3_D29@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?îØ 9DfAqDDD3_D30@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?Ó 9DfAqDDD3_D31@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? Ï 9DfAqDDD3_D32@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?sË 9DfAqDDD3_D33@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?.Ç 9DfAqDDD3_D34@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?à 9DfAqDDD3_D35@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? ¾ 9DfAqDDD3_D36@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? º 9DfAqDDD3_D37@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?µ 9DfAqDDD3_D38@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?± 9DfAqDDD3_D39@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? ¬ 9DfAqDDD3_D40@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?2¨ 9DfAqDDD3_D41@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?.£ 9DfAqDDD3_D42@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? Ÿ 9DfAqDDD3_D43@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?› 9DfAqDDD3_D44@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? – 9DfAqDDD3_D45@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?’ 9DfAqDDD3_D46@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? Ž 9DfAqDDD3_D47@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?(Š 9DfAqDDD3_D48@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?… 9DfAqDDD3_D49@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?� 9DfAqDDD3_D50@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?} 9DfAqDDD3_D51@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?"y 9DfAqDDD3_D52@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?(t 9DfAqDDD3_D53@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? p 9DfAqDDD3_D54@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? l 9DfAqDDD3_D55@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? g 9DfAqDDD3_D56@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? c 9DfAqDDD3_D57@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?_ 9DfAqDDD3_D58@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? Z 9DfAqDDD3_D59@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?V 9DfAqDDD3_D60@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? Q 9DfAqDDD3_D61@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? M 9DfAqDDD3_D62@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? H 9DfAqDDD3_D63@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?D 9DfAqDDD3_D64@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?? 9DfAqDDD3_D65@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?; 9DfAqDDD3_D66@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?6 9DfAqDDD3_D67@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?2 9DfAqDDD3_D68@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?. 9DfAqDDD3_D69@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?î* 9DfAqDDD3_D70@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?ë% 9DfAqDDD3_D71@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?Ï! 9DfAqDDD3_D72@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?ò 9DfAqDDD3_D73@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?Ý 9DfAqDDD3_D74@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?ò 9DfAqDDD3_D75@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?Ó 9DfAqDDD3_D76@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? 9DfAqDDD3_D77@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? 9DfAqDDD3_D78@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? 9DfAqDDD3_D79@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? 9DfAqDDD3_D80@7Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !Q..ð?ð?ó DfAqDDD3_A@22ÊÐ Ì ð?@@@@@@ @"@$@&@(@*@,@.@0@1@2@3@4@5@6@7@8@9@:@;@<@=@>@?@@@€@@A@€A@B@€B@C@€C@D@€D@E@€E@F@€F@G@ “ ôÇ!að?ð?~_”DfAqDDD3_B@22Ê ” Processed Data: IFE,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? ] ”DfAqDDD3_C1@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?"W ”DfAqDDD3_C2@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? R ”DfAqDDD3_D1@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?¨N ”DfAqDDD3_D2@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? I ”DfAqDDD3_D3@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?F ”DfAqDDD3_D4@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?B ”DfAqDDD3_D5@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?= ”DfAqDDD3_D6@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?9 ”DfAqDDD3_D7@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?5 ”DfAqDDD3_D8@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?1 ”DfAqDDD3_D9@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?- ”DfAqDDD3_D10@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? ( ”DfAqDDD3_D11@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?# ”DfAqDDD3_D12@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?  ”DfAqDDD3_D13@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? ”DfAqDDD3_D14@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?7 ”DfAqDDD3_D15@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? ”DfAqDDD3_D16@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?Ñ ”DfAqDDD3_D17@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?  ”DfAqDDD3_D18@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?Ó ”DfAqDDD3_D19@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? ”DfAqDDD3_D20@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? þ ”DfAqDDD3_D21@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? ù ”DfAqDDD3_D22@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? õ ”DfAqDDD3_D23@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? ñ ”DfAqDDD3_D24@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?ì ”DfAqDDD3_D25@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?è ”DfAqDDD3_D26@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? ä ”DfAqDDD3_D27@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?ß ”DfAqDDD3_D28@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? Û ”DfAqDDD3_D29@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?Ø ”DfAqDDD3_D30@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?Ó ”DfAqDDD3_D31@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? Ï ”DfAqDDD3_D32@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? Ë ”DfAqDDD3_D33@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?Ç ”DfAqDDD3_D34@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?à ”DfAqDDD3_D35@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? ¾ ”DfAqDDD3_D36@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? º ”DfAqDDD3_D37@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?µ ”DfAqDDD3_D38@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?± ”DfAqDDD3_D39@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? ¬ ”DfAqDDD3_D40@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?¨ ”DfAqDDD3_D41@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?.£ ”DfAqDDD3_D42@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? Ÿ ”DfAqDDD3_D43@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?› ”DfAqDDD3_D44@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? – ”DfAqDDD3_D45@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?’ ”DfAqDDD3_D46@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? Ž ”DfAqDDD3_D47@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?(Š ”DfAqDDD3_D48@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?… ”DfAqDDD3_D49@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?� ”DfAqDDD3_D50@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?} ”DfAqDDD3_D51@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?"y ”DfAqDDD3_D52@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?(t ”DfAqDDD3_D53@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? p ”DfAqDDD3_D54@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? l ”DfAqDDD3_D55@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? g ”DfAqDDD3_D56@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? c ”DfAqDDD3_D57@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?_ ”DfAqDDD3_D58@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? Z ”DfAqDDD3_D59@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?V ”DfAqDDD3_D60@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? Q ”DfAqDDD3_D61@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? M ”DfAqDDD3_D62@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? H ”DfAqDDD3_D63@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?D ”DfAqDDD3_D64@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?? ”DfAqDDD3_D65@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?; ”DfAqDDD3_D66@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?6 ”DfAqDDD3_D67@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?2 ”DfAqDDD3_D68@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?. ”DfAqDDD3_D69@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?î* ”DfAqDDD3_D70@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?ë% ”DfAqDDD3_D71@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?Ï! ”DfAqDDD3_D72@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?ò ”DfAqDDD3_D73@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?Ý ”DfAqDDD3_D74@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?ò ”DfAqDDD3_D75@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð?Ó ”DfAqDDD3_D76@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? ”DfAqDDD3_D77@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? ”DfAqDDD3_D78@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? ”DfAqDDD3_D79@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ôÇ!að?ð? ”DfAqDDD3_D80@22Ê , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !Qð?ð?(  DfAqDDD3_A@23ÊÑ , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ ú !að?ð?ó èDfAqDDD3_B@23æ , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� “ €ú  að?ð?8 Gœ éDfAqDDD3_C@23ó , ,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª�,þtª� Ì DfAqDDD3pŒ€ 8R0ORIGIN,FdXXÃkíVãÆBADZÆVæÆBAÀXX«üÿÿÿordered right 3D Acquisition[EEM 3D CCD + Absorbance]@${[0|4|Script|119|1137941886]}\0@${[0|4|Organizer|47|2776775904]}0\0@${[0|4|TREE|2254|4285431934]}13D Acquisition[EEM 3D CCD + Absorbance]5.sC:\\Users\\Public\\Documents\\Jobin Yvon\\Data\\DfltAqualogEEMThreeDCCDAbs.xml3.63.0.5.02345671789101112131816141915201\0 i ^@@ð? @2@ð?@�q€ð?€ ×£= ×£= PdNote¸ 0üÿÿÿüÿÿÿüÿÿÿ{®Gáz´? ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerInfoStorage7 ( ¸Ú :Π™Ùô?@DDÌ?( : @${[0|4|_Storage_Ebdded_pages_Data_|8|834556263]}\0\0\0\0 ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerGridStyle8 ( ¸Ú ™ Π™Ùô?@DDÌ?( ™ óÁ}Z@ ÿ²²¡°Noteÿÿ CGXStylesMapStyles ogRowLabel ogFormula ogDataMaskogPrintAreaMask ogCommentStandard ogColLabel Column HeaderogURLogHeader ogReplicatesogParam ogLongNameogData ogSparklineogUDLogEMBED ogCategories ogCellLinkogUnit ogSeparator ogFootNote ogSampleRate ogRowColLabel ogColFilter Row Header ogLabel ogTableTag ogTableTag   ÍÿÿCGXFont‰n ogFootNote€Ç�F_Origin_Default_font_"ÿÿCGXUserAttributeMapÿÿCGXUserAttribute7.000000€7.000000€3.000000€5.000000 ogLabelúúÈ?ÿÿÿ ogCategoriesH !Í ogReplicatesogPrintAreaMask€€ 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0ogEMBEDˆ ogURLˆ  ogColLabel€"Î Column Header;àßã?ÿÿÿ€@� ogLongNameÈ  Í ogDataMask ÿ ogSeparator€!Íàßã?ÿÿÿ ogFormula@ ogUDLÀ€ ogSparkline€ ogCommentÈ  ÍogDataÀ€ÿÿCGXEllipseUserAttribute8ÎogUnit€ ÎStandard¿¾û Íÿÿÿ?ÿÿÿ€Ç�Z_Origin_Default_font_" ogHeader€Ç�P_Origin_Default_font_"€€7.000000€7.000000€5.000000€3.000000 ogRowLabel€ ogCellLinkˆ  ogColFilterH !ÍogParam€ ogRowColLabel€!Í ogSampleRate€!Î Row Header9€(Íàßã?ÿÿÿÿÿCGXDataÿÿÿÿÿÿÿÿÿÿÿÿÿÿ CGXPropertiesÀÀÀÿÿàßãGridd=Ç Current Cell.ÿÿCGXStyle 1Í Invert Thick.@Invert Thin. Invert Thick. Thin Border. Thick Border. No Border.�``�&&ÿÿÿÿ  !€$D!€$P/$Nÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ  !€€À¼ $Rÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ  !x„„„Ï„ÏÏ„„Ê„„„„Ï Ï„„„„Ï„„ Ï „„Ï „„ Ï „!<¸ ‡ <<< <<<<<< <<<<<<<< <<<<<< <<<<<< <ÿÿCGXDelayedRangePoolÿÿCGXDelayedRange !)€ ÿÿCGXSpanCellPoolÿÿÿÿÿÿÿÿ'€)€ ,€ÿÿÿÿÿÿÿÿ,€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ƒ #dd(>>ÂÿÂÿ__WIPR ( ¸Ú d(  ÿÿÿÿ ƒ #8tœ333333Û?ÞÝÝÝÝݽ?(H>>ÂÿÂÿ__WIOTN ( ¸Ú |œ333333Û?ÞÝÝÝÝݽ?(H | 2{{{{ÿÿÿÿÿÿÿÿÿÿ  D A !Q`ð?ð?   E B D!a 6ð?ð?   F C1 D!a 5ð?ð?  G C2 D!a 6ð?ð?  H C3 D!a 6ð?ð?  I C4 D!a 6ð?ð?  J C5 D!a 5ð?ð?  K C6 D!a 6ð?ð?  L C7 D!a 6ð?ð?  M C8 D!a 5ð?ð?  N C9 D!a 6ð?ð?  O C10 D!a 6ð?ð?  P C11 D!a 6ð?ð?  Q C12 D!a 5ð?ð?  R C13 D!a 6ð?ð?  S C14 D!a 6ð?ð?  T C15 D!a 5ð?ð?  U C16 D!a 6ð?ð?  V C17 D!a 6ð?ð?  W C18 D!a 5ð?ð?  X C19 D!a 6ð?ð?  Y C20 D!a 6ð?ð?  Z C21 D!a 6ð?ð?  [ C22 D!a 5ð?ð?  \ C23 D!a 6ð?ð?  ] C24 D!a 6ð?ð?  ^ C25 D!a 5ð?ð?  _ C26 D!a 6ð?ð?  ` C27 D!a 6ð?ð?  a C28 D!a 6ð?ð?  b C29 D!a 5ð?ð?  c C30 D!a 6ð?ð? i ^"@ð? @ @ð?.@JP�q (J€ð?€ ×£= ×£= PdAbs Spectrum Blank¸ +üÿÿÿüÿÿÿüÿÿÿ{®Gáz´? ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerInfoStorage7 ( ¸Ú :Π™Ùô?@DDÌ?( : @${[0|4|_Storage_Ebdded_pages_Data_|8|834556263]}\0\0\0\0 ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerGridStyle8 ( ¸Ú 8 Π™Ùô?@DDÌ?( 8 óÁ}Z@ ÿ²²¡°Abs Spectrum Blankÿÿ CGXStylesMapStyles URL Origin TextHotSpot HeaderPicture EMBEDDINGOrigin Text Edit ogDataMask ogFormula ogRowLabelogPrintAreaMask ogComment ogColLabel Column HeaderogURLStandardogHeader ogReplicatesogParam ogLongNameogData ogSparklineogUDL ogCategoriesogEMBED ogFootNote ogCellLink ogSeparatorogUnit ogColFilter ogRowColLabel ogSampleRate Row Header ogTableTag ogLabelogEMBEDˆ !Î Row Header9€(Íàßã?ÿÿÿ ogRowLabel€ ogCategoriesH !Í ogReplicatesogUnit€ogPrintAreaMaskÿÿCGXUserAttributeMapÿÿCGXUserAttribute 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0 ogSampleRate€ogHeaderÿÿCGXFontÇ�P_Origin_Default_font_"€€7.000000€7.000000€5.000000€3.000000 ogSeparator€!Íàßã?ÿÿÿ ÎStandard¿¾û Íÿÿÿ?ÿÿÿ €Ç�Z_Origin_Default_font_" ogLabelúúÈ?ÿÿÿ ogRowColLabel€!Í ogFormula@  ogCellLinkˆ  ogCommentÈ  ÍogDataÀ€ÿÿCGXEllipseUserAttribute8Î ogSparkline€ogURLˆ  ogTableTag   Í €‰n"Î Column Header;àßã?ÿÿÿ €@� ogColLabel€ ogLongNameÈ  Í ogColFilterH !Í ogDataMask ÿogParam€ ogFootNote €Ç�F_Origin_Default_font_"€€7.000000€7.000000€3.000000€5.000000ogUDLÀ€ÿÿCGXDataÿÿÿÿÿÿÿÿÿÿÿÿÿÿ CGXPropertiesÀÀÀÿÿàßãGridd=Ç Current Cell.ÿÿCGXStyle 1Í Invert Thick.@Invert Thin. Invert Thick. Thin Border. Thick Border. No Border.�``�&&ÿÿÿÿ  !€$D!€$P/$Nÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ  !€ €À¼ $Rÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿŠ̨œ d¨øˆDÐÿÿCGXDelayedRangePoolÿÿCGXDelayedRange1 ÿÿCGXSpanCellPoolÿÿÿÿÿÿÿÿ'€)€1 +€ÿÿÿÿÿÿÿÿ+€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ƒ \�Âõ(\Ý?|ÅW|ÅW¼¿¦>>ÂÿÂÿG ¦ ; #range rI = 2; range rIdark = 3; range rR = 4; range rRdark = 5; range rXCorr = 6; range rIc = 7; range rRc = 8; range rIcRc = 9; int nsize = rI.GetSize(); for( int i=1; i<=nsize; i++) { rIc[i] = rI[i] - rIdark[1]; rRc[i] = (rR[i] - rRdark[1])*rXCorr[i]; rIcRc[i] = rIc[i]/rRc[i]; }+) { rIc[i] = rI[i] - rIdark[1]; rRc[i] = rR[i] - rRdark[1]; rIcRc[i] = rIc[i]/rRc[i]; }*/ ƒ #dd(>>ÂÿÂÿ__WIPR ( ¸Ú d(  ÿÿÿÿ ƒ #8tœ333333Û?ÞÝÝÝÝݽ?(H>>ÂÿÂÿ__WIOTN ( ¸Ú Hœ333333Û?ÞÝÝÝÝݽ?(H H 2{{{{ÿÿÿÿÿÿÿÿÿÿ  , A !Q`Lð?ð?¼ S Wavelength nm@${[0|3|SYSTEM|38|2617568378]}[135] [44] 151="" 150="" 155="" 163=0  - B ,!a Vð?ð?ª ] I1 uA Abs Detector Raw@${[0|3|SYSTEM|38|2617568378]}[135] [44] 151="" 150="" 155="" 163=0  . C ,!a ^ð?ð?è m I1dark uA Dark Offset for Abs Detector@${[0|3|SYSTEM|38|1223126394]}[44] 151="" 150="" 155="" 163=0 [135]  / D ,!a Tð?ð?Õ ] R1 uA Ref Detector Raw@${[0|3|SYSTEM|38|1223126394]}[44] 151="" 150="" 155="" 163=0 [135]  0 E ,!a ^ð?ð?¡ m R1dark uA Dark Offset for Ref Detector@${[0|3|SYSTEM|38|1223126394]}[44] 151="" 150="" 155="" 163=0 [135]  1 F ,!a =ð?ð?´ c XCorrect Linear interp@${[0|4|TREE|177|281176313]}No User Tree\0@${[0|4|ColComment|90|3541350880]}Linear interp of B\0  2 G ,!a eð?ð?¢ ñ I1c Dark subtracted Abs Detector@${[0|4|TREE|177|281176313]}No User Tree\0  3 H ,!a Nð?ð?( é R1c Correct Ref Detector@${[0|4|TREE|177|281176313]}No User Tree\0  4 I ,!a Fð?ð?) í I1c/R1c Corrected Intensity @${[0|4|TREE|177|281176313]}No User Tree\0 i ^?@ð?T@$@ð?.@JP�q (J€ð?€ ×£= ×£= PdS1 Blank¸ ‡üÿÿÿüÿÿÿüÿÿÿ{®Gáz´?T ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerInfoStorage7 ( ¸Ú :Π™Ùô?@DDÌ?( : @${[0|4|_Storage_Ebdded_pages_Data_|8|834556263]}\0\0\0\0 ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerGridStyle8 ( ¸Ú  Π™Ùô?@DDÌ?(  óÁ}Z@ ÿ²²¡°S1 Blankÿÿ CGXStylesMapStyles URL Origin TextHotSpot HeaderPicture EMBEDDINGOrigin Text Edit ogDataMask ogFormula ogRowLabelogPrintAreaMask ogComment ogColLabel Column HeaderogURLStandardogHeader ogReplicatesogParam ogLongNameogData ogSparklineogUDL ogCategoriesogEMBED ogFootNote ogCellLink ogSeparatorogUnit ogColFilter ogRowColLabel ogSampleRate Row Header ogTableTag ogLabelogEMBEDˆ !Î Row Header9€(Íàßã?ÿÿÿ ogRowLabel€ ogCategoriesH !Í ogReplicatesogUnit€ogPrintAreaMaskÿÿCGXUserAttributeMapÿÿCGXUserAttribute 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0 ogSampleRate€ogHeaderÿÿCGXFontÇ�P_Origin_Default_font_"€€7.000000€7.000000€5.000000€3.000000 ogSeparator€!Íàßã?ÿÿÿ ÎStandard¿¾û Íÿÿÿ?ÿÿÿ €Ç�Z_Origin_Default_font_" ogLabelúúÈ?ÿÿÿ ogRowColLabel€!Í ogFormula@  ogCellLinkˆ  ogCommentÈ  ÍogDataÀ€ÿÿCGXEllipseUserAttribute8Î ogSparkline€ogURLˆ  ogTableTag   Í €‰n"Î Column Header;àßã?ÿÿÿ €@� ogColLabel€ ogLongNameÈ  Í ogColFilterH !Í ogDataMask ÿogParam€ ogFootNote €Ç�F_Origin_Default_font_"€€7.000000€7.000000€3.000000€5.000000ogUDLÀ€ÿÿCGXDataÿÿÿÿÿÿÿÿÿÿÿÿÿÿ CGXPropertiesÀÀÀÿÿàßãGridd=Ç Current Cell.ÿÿCGXStyle 1Í Invert Thick.@Invert Thin. Invert Thick. Thin Border. Thick Border. No Border.�``�&&ÿÿÿÿ  !€$D!€$P/$Nÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ  !€ €À¼ $Rÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ(Ì  % $  #  ¸ " ' h! & ÿÿCGXDelayedRangePoolÿÿCGXDelayedRange1TÿÿCGXSpanCellPoolÿÿÿÿÿÿÿÿ'€)€1T+€ÿÿÿÿÿÿÿÿ+€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ƒ #dd(>>ÂÿÂÿ__WIPR ( ¸Ú d(  ÿÿÿÿ ƒ #8tœ333333Û?ÞÝÝÝÝݽ?(H>>ÂÿÂÿ__WIOTN ( ¸Ú Hœ333333Û?ÞÝÝÝÝݽ?(H H 2{{{{ÿÿÿÿÿÿÿÿÿÿ   A !Q`8ð?ð?Ó  S1 nm   B !a (ð?ð?A  650 nm   C1 !a -ð?ð?Ú  645 nm   C2 !a -ð?ð?A  640 nm  d D1 !a -ð?ð?  635 nm  e D2 !a -ð?ð?  630 nm  f D3 !a -ð?ð?  625 nm  g D4 !a -ð?ð?  620 nm  h D5 !a -ð?ð?  615 nm  i D6 !a -ð?ð?  610 nm  j D7 !a -ð?ð?  605 nm  k D8 !a -ð?ð?  600 nm  l D9 !a -ð?ð?  595 nm  m D10 !a 3ð?ð?  590 nm  n D11 !a 3ð?ð?  585 nm  o D12 !a 3ð?ð?  580 nm  p D13 !a 3ð?ð?  575 nm  q D14 !a 3ð?ð?  570 nm  r D15 !a 3ð?ð?  565 nm  s D16 !a 3ð?ð?  560 nm  t D17 !a 3ð?ð?  555 nm  u D18 !a 3ð?ð?  550 nm  v D19 !a 3ð?ð?  545 nm  w D20 !a 3ð?ð?  540 nm  x D21 !a 3ð?ð?  535 nm  y D22 !a 3ð?ð?  530 nm  z D23 !a 3ð?ð?  525 nm  { D24 !a 3ð?ð?  520 nm  | D25 !a 3ð?ð?  515 nm  } D26 !a 3ð?ð?  510 nm  ~ D27 !a 3ð?ð?  505 nm   D28 !a 3ð?ð?  500 nm  € D29 !a 3ð?ð?  495 nm  � D30 !a 3ð?ð?  490 nm  ‚ D31 !a 3ð?ð?  485 nm  ƒ D32 !a 3ð?ð?  480 nm  „ D33 !a 3ð?ð?  475 nm  … D34 !a 3ð?ð?  470 nm  † D35 !a 3ð?ð?  465 nm  ‡ D36 !a Cð?ð?  460 nm  ˆ D37 !a Cð?ð?  455 nm  ‰ D38 !a Cð?ð?  450 nm  Š D39 !a Cð?ð?  445 nm  ‹ D40 !a Cð?ð?  440 nm  Œ D41 !a Cð?ð?  435 nm  � D42 !a Cð?ð?  430 nm  Ž D43 !a Cð?ð?  425 nm  � D44 !a Cð?ð?  420 nm  � D45 !a Cð?ð?  415 nm  ‘ D46 !a Cð?ð?  410 nm  ’ D47 !a Cð?ð?  405 nm  “ D48 !a Cð?ð?  400 nm  ” D49 !a Cð?ð?  395 nm  • D50 !a Cð?ð?  390 nm  – D51 !a Cð?ð?  385 nm  — D52 !a Cð?ð?  380 nm  ˜ D53 !a Cð?ð?  375 nm  ™ D54 !a Cð?ð?  370 nm  š D55 !a Cð?ð?  365 nm  › D56 !a Cð?ð?  360 nm  œ D57 !a Cð?ð?  355 nm  � D58 !a Cð?ð?  350 nm  ž D59 !a Cð?ð?  345 nm  Ÿ D60 !a Cð?ð?  340 nm    D61 !a Cð?ð?  335 nm  ¡ D62 !a Cð?ð?  330 nm  ¢ D63 !a Cð?ð?  325 nm  £ D64 !a Cð?ð?  320 nm  ¤ D65 !a Cð?ð?  315 nm  ¥ D66 !a Cð?ð?  310 nm  ¦ D67 !a Cð?ð?  305 nm  § D68 !a Cð?ð?  300 nm  ¨ D69 !a Cð?ð?  295 nm  © D70 !a Cð?ð?  290 nm  ª D71 !a Cð?ð?  285 nm  « D72 !a Cð?ð?  280 nm  ¬ D73 !a Cð?ð?  275 nm  ­ D74 !a Cð?ð?  270 nm  ® D75 !a Cð?ð?  265 nm  ¯ D76 !a Cð?ð?  260 nm  ° D77 !a Cð?ð?  255 nm  ± D78 !a Cð?ð?  250 nm  ² D79 !a Cð?ð?  245 nm  ³ D80 !a Cð?ð?  240 nm i ^@ð?@"@ð?.@JP�q (J€ð?€ ×£= ×£= PdS1 Dark and Mcorrect Blank¸ 2üÿÿÿüÿÿÿüÿÿÿ{®Gáz´? ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerInfoStorage7 ( ¸Ú :Π™Ùô?@DDÌ?( : @${[0|4|_Storage_Ebdded_pages_Data_|8|834556263]}\0\0\0\0 ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerGridStyle8 ( ¸Ú  Π™Ùô?@DDÌ?(  óÁ}Z@ ÿ²²¡°S1 Dark and Mcorrect Blankÿÿ CGXStylesMapStyles URL Origin TextHotSpot HeaderPicture EMBEDDINGOrigin Text Edit ogDataMask ogFormula ogRowLabelogPrintAreaMask ogComment ogColLabel Column HeaderogURLStandardogHeader ogReplicatesogParam ogLongNameogData ogSparklineogUDL ogCategoriesogEMBED ogFootNote ogCellLink ogSeparatorogUnit ogColFilter ogRowColLabel ogSampleRate Row Header ogTableTag ogLabelogEMBEDˆ !Î Row Header9€(Íàßã?ÿÿÿ ogRowLabel€ ogCategoriesH !Í ogReplicatesogUnit€ogPrintAreaMaskÿÿCGXUserAttributeMapÿÿCGXUserAttribute 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0 ogSampleRate€ogHeaderÿÿCGXFontÇ�P_Origin_Default_font_"€€7.000000€7.000000€5.000000€3.000000 ogSeparator€!Íàßã?ÿÿÿ ÎStandard¿¾û Íÿÿÿ?ÿÿÿ €Ç�Z_Origin_Default_font_" ogLabelúúÈ?ÿÿÿ ogRowColLabel€!Í ogFormula@  ogCellLinkˆ  ogCommentÈ  ÍogDataÀ€ÿÿCGXEllipseUserAttribute8Î ogSparkline€ogURLˆ  ogTableTag   Í €‰n"Î Column Header;àßã?ÿÿÿ €@� ogColLabel€ ogLongNameÈ  Í ogColFilterH !Í ogDataMask ÿogParam€ ogFootNote €Ç�F_Origin_Default_font_"€€7.000000€7.000000€3.000000€5.000000ogUDLÀ€ÿÿCGXDataÿÿÿÿÿÿÿÿÿÿÿÿÿÿ CGXPropertiesÀÀÀÿÿàßãGridd=Ç Current Cell.ÿÿCGXStyle 1Í Invert Thick.@Invert Thin. Invert Thick. Thin Border. Thick Border. No Border.�``�&&ÿÿÿÿ  !€$D!€$P/$Nÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ  !€ €À¼ $Rÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ` ÌèñÿÿCGXDelayedRangePoolÿÿCGXDelayedRange1ÿÿCGXSpanCellPoolÿÿÿÿÿÿÿÿ'€)€1+€ÿÿÿÿÿÿÿÿ+€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ƒ = ×£p=ª?_ñ_ñ¿¿M>>ÂÿÂÿA M ; #range x = $(page.tree.LTCONST.S1Blank)!col(1); range xc = 1; xc = x; ƒ #dd(>>ÂÿÂÿ__WIPR ( ¸Ú d(  ÿÿÿÿ ƒ #8tœ333333Û?ÞÝÝÝÝݽ?(H>>ÂÿÂÿ__WIOTN ( ¸Ú Hœ333333Û?ÞÝÝÝÝݽ?(H H 2{{{{ÿÿÿÿÿÿÿÿÿÿ   A !Q`cð?ð?  Wavelength, nm nm   B !a 3ð?ð?® Ü S1dark counts@${[0|4|TREE|177|281176313]}No User Tree\0   C !a Rð?ð?j p Mcorrect interpolated Linear interp @${[0|4|TREE|177|281176313]}No User Tree\0@${[0|4|ColComment|90|3541350880]}Linear interp of B\0 i ^5@ð?T@$@ð?.@JP�q (J€ð?€ ×£= ×£= PdS1c Blank¸ >üÿÿÿüÿÿÿüÿÿÿ{®Gáz´?T ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerInfoStorage7 ( ¸Ú :Π™Ùô?@DDÌ?( : @${[0|4|_Storage_Ebdded_pages_Data_|8|834556263]}\0\0\0\0 ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerGridStyle8 ( ¸Ú  Π™Ùô?@DDÌ?(  óÁ}Z@ ÿ²²¡° S1c Blankÿÿ CGXStylesMapStyles URL Origin TextHotSpot HeaderPicture EMBEDDINGOrigin Text Edit ogDataMask ogFormula ogRowLabelogPrintAreaMask ogComment ogColLabel Column HeaderogURLStandardogHeader ogReplicatesogParam ogLongNameogData ogSparklineogUDL ogCategoriesogEMBED ogFootNote ogCellLink ogSeparatorogUnit ogColFilter ogRowColLabel ogSampleRate Row Header ogTableTag ogLabelogEMBEDˆ !Î Row Header9€(Íàßã?ÿÿÿ ogRowLabel€ ogCategoriesH !Í ogReplicatesogUnit€ogPrintAreaMaskÿÿCGXUserAttributeMapÿÿCGXUserAttribute 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0 ogSampleRate€ogHeaderÿÿCGXFontÇ�P_Origin_Default_font_"€€7.000000€7.000000€5.000000€3.000000 ogSeparator€!Íàßã?ÿÿÿ ÎStandard¿¾û Íÿÿÿ?ÿÿÿ €Ç�Z_Origin_Default_font_" ogLabelúúÈ?ÿÿÿ ogRowColLabel€!Í ogFormula@  ogCellLinkˆ  ogCommentÈ  ÍogDataÀ€ÿÿCGXEllipseUserAttribute8Î ogSparkline€ogURLˆ  ogTableTag   Í €‰n"Î Column Header;àßã?ÿÿÿ €@� ogColLabel€ ogLongNameÈ  Í ogColFilterH !Í ogDataMask ÿogParam€ ogFootNote €Ç�F_Origin_Default_font_"€€7.000000€7.000000€3.000000€5.000000ogUDLÀ€ÿÿCGXDataÿÿÿÿÿÿÿÿÿÿÿÿÿÿ CGXPropertiesÀÀÀÿÿàßãGridd=Ç Current Cell.ÿÿCGXStyle 1Í Invert Thick.@Invert Thin. Invert Thick. Thin Border. Thick Border. No Border.�``�&&ÿÿÿÿ  !€$D!€$P/$Nÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ  !€ €À¼ $Rÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ((Ì(( ( (%(((($ (((((#(( (T$("((' ((h(!((& (ÿÿCGXDelayedRangePoolÿÿCGXDelayedRange1TÿÿCGXSpanCellPoolÿÿÿÿÿÿÿÿ'€)€1T+€ÿÿÿÿÿÿÿÿ+€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ƒ áz®Gáª?¾â+¾â+¾¿ð>>ÂÿÂÿA ð ; #range rS = $(page.tree.LTCONST.S1Blank)!; int numCols = rS.ncols; range x = $(page.tree.LTCONST.S1Blank)!col(1); range rxc = 1; rxc = x; range rSd = $(page.tree.LTCONST.S1DarkMCorrBlank)!2; range rMcorr = $(page.tree.LTCONST.S1DarkMCorrBlank)!3; for( int i=2; i<=numCols; i++ ) { range rS = $(page.tree.LTCONST.S1Blank)!$(i); range rSc = $(page.tree.LTCONST.S1cBlank)!$(i); rSc = (rS - rSd) * rMcorr; string longName$ = rS[L]$; rSc[L]$=longName$; } ƒ #dd(>>ÂÿÂÿ__WIPR ( ¸Ú d(  ÿÿÿÿ ƒ #8tœ333333Û?ÞÝÝÝÝݽ?(H>>ÂÿÂÿ__WIOTN ( ¸Ú Hœ333333Û?ÞÝÝÝÝݽ?(H H 2{{{{ÿÿÿÿÿÿÿÿÿÿ   A !Q`8ð?ð?k  S1 nm   B !a |ð?ð?P  650 (S1-S1Dark)*Mcorrect   C1 !a Eð?ð?Œ  645   C2 !a Eð?ð?i  640  ´ D1 !a Eð?ð?  635  µ D2 !a Eð?ð?  630  ¶ D3 !a Eð?ð?  625  · D4 !a Eð?ð?  620  ¸ D5 !a Eð?ð?  615  ¹ D6 !a Eð?ð?  610  º D7 !a Eð?ð?  605  » D8 !a Eð?ð?  600  ¼ D9 !a Eð?ð?  595  ½ D10 !a Eð?ð?  590  ¾ D11 !a Eð?ð?  585  ¿ D12 !a Eð?ð?  580  À D13 !a Eð?ð?  575  Á D14 !a Eð?ð?  570   D15 !a Eð?ð?  565  à D16 !a Eð?ð?  560  Ä D17 !a Eð?ð?  555  Å D18 !a Eð?ð?  550  Æ D19 !a Eð?ð?  545  Ç D20 !a Eð?ð?  540  È D21 !a Eð?ð?  535  É D22 !a Eð?ð?  530  Ê D23 !a Eð?ð?  525  Ë D24 !a Eð?ð?  520  Ì D25 !a Kð?ð?  515  Í D26 !a Kð?ð?  510  Î D27 !a Kð?ð?  505  Ï D28 !a Kð?ð?  500  Ð D29 !a Kð?ð?  495  Ñ D30 !a Kð?ð?  490  Ò D31 !a Kð?ð?  485  Ó D32 !a Kð?ð?  480  Ô D33 !a Kð?ð?  475  Õ D34 !a Kð?ð?  470  Ö D35 !a Kð?ð?  465  × D36 !a Cð?ð?  460  Ø D37 !a Cð?ð?  455  Ù D38 !a Cð?ð?  450  Ú D39 !a Cð?ð?  445  Û D40 !a Cð?ð?  440  Ü D41 !a Cð?ð?  435  Ý D42 !a Cð?ð?  430  Þ D43 !a Cð?ð?  425  ß D44 !a Cð?ð?  420  à D45 !a Cð?ð?  415  á D46 !a Cð?ð?  410  â D47 !a Cð?ð?  405  ã D48 !a Cð?ð?  400  ä D49 !a Cð?ð?  395  å D50 !a Cð?ð?  390  æ D51 !a Cð?ð?  385  ç D52 !a Cð?ð?  380  è D53 !a Cð?ð?  375  é D54 !a Cð?ð?  370  ê D55 !a Cð?ð?  365  ë D56 !a Cð?ð?  360  ì D57 !a Cð?ð?  355  í D58 !a Cð?ð?  350  î D59 !a Cð?ð?  345  ï D60 !a Cð?ð?  340  ð D61 !a Cð?ð?  335  ñ D62 !a Cð?ð?  330  ò D63 !a Cð?ð?  325  ó D64 !a Cð?ð?  320  ô D65 !a Cð?ð?  315  õ D66 !a Cð?ð?  310  ö D67 !a Cð?ð?  305  ÷ D68 !a Cð?ð?  300  ø D69 !a Cð?ð?  295  ù D70 !a Cð?ð?  290  ú D71 !a Cð?ð?  285  û D72 !a Cð?ð?  280  ü D73 !a Cð?ð?  275  ý D74 !a Cð?ð?  270  þ D75 !a Cð?ð?  265  ÿ D76 !a Cð?ð?  260   D77 !a Cð?ð?  255   D78 !a Cð?ð?  250   D79 !a Cð?ð?  245   D80 !a Cð?ð?  240 i ^@ð?@"@ð?.@JP�q (J€ð?€ ×£= ×£= PdR1 and R1c Blank¸ .üÿÿÿüÿÿÿüÿÿÿ{®Gáz´? ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerInfoStorage7 ( ¸Ú :Π™Ùô?@DDÌ?( : @${[0|4|_Storage_Ebdded_pages_Data_|8|834556263]}\0\0\0\0 ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerGridStyle8 ( ¸Ú  Π™Ùô?@DDÌ?(  óÁ}Z@ ÿ²²¡°R1 and R1c Blankÿÿ CGXStylesMapStyles URL Origin TextHotSpot HeaderPicture EMBEDDINGOrigin Text Edit ogDataMask ogFormula ogRowLabelogPrintAreaMask ogComment ogColLabel Column HeaderogURLStandardogHeader ogReplicatesogParam ogLongNameogData ogSparklineogUDL ogCategoriesogEMBED ogFootNote ogCellLink ogSeparatorogUnit ogColFilter ogRowColLabel ogSampleRate Row Header ogTableTag ogLabelogEMBEDˆ !Î Row Header9€(Íàßã?ÿÿÿ ogRowLabel€ ogCategoriesH !Í ogReplicatesogUnit€ogPrintAreaMaskÿÿCGXUserAttributeMapÿÿCGXUserAttribute 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0 ogSampleRate€ogHeaderÿÿCGXFontÇ�P_Origin_Default_font_"€€7.000000€7.000000€5.000000€3.000000 ogSeparator€!Íàßã?ÿÿÿ ÎStandard¿¾û Íÿÿÿ?ÿÿÿ €Ç�Z_Origin_Default_font_" ogLabelúúÈ?ÿÿÿ ogRowColLabel€!Í ogFormula@  ogCellLinkˆ  ogCommentÈ  ÍogDataÀ€ÿÿCGXEllipseUserAttribute8Î ogSparkline€ogURLˆ  ogTableTag   Í €‰n"Î Column Header;àßã?ÿÿÿ €@� ogColLabel€ ogLongNameÈ  Í ogColFilterH !Í ogDataMask ÿogParam€ ogFootNote €Ç�F_Origin_Default_font_"€€7.000000€7.000000€3.000000€5.000000ogUDLÀ€ÿÿCGXDataÿÿÿÿÿÿÿÿÿÿÿÿÿÿ CGXPropertiesÀÀÀÿÿàßãGridd=Ç Current Cell.ÿÿCGXStyle 1Í Invert Thick.@Invert Thin. Invert Thick. Thin Border. Thick Border. No Border.�``�&&ÿÿÿÿ  !€$D!€$P/$Nÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ  !€ €À¼ $Rÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ` ÌD%Ð@ÄDÿÿCGXDelayedRangePoolÿÿCGXDelayedRange1ÿÿCGXSpanCellPoolÿÿÿÿÿÿÿÿ'€)€1+€ÿÿÿÿÿÿÿÿ+€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ƒ q= ×£pÛ?·mÛ¶mÛä?>>ÂÿÂÿD  ; #$[1:251] ƒ ×£p= ×â?_ñ_ñ¿¿º>>ÂÿÂÿE º ; #range rR = 2; range rRdark = 3; range rXcorr = 4; range rRc = 5; int nsize = rR.GetSize(); for( int i=1; i<=nsize; i++) { rRc[i] = (rR[i] - rRdark[1]) * rXcorr[i]; } ƒ #dd(>>ÂÿÂÿ__WIPR ( ¸Ú d(  ÿÿÿÿ ƒ #8tœ333333Û?ÞÝÝÝÝݽ?(H>>ÂÿÂÿ__WIOTN ( ¸Ú Hœ333333Û?ÞÝÝÝÝݽ?(H H 2{{{{ÿÿÿÿÿÿÿÿÿÿ   A !Q`Lð?ð?œ  Wavelength nm   B !a fð?ð?X  R1 Raw Ref Detector   C !a Zð?ð?‰ ä Rdark Dark Offset Ref@${[0|4|TREE|177|281176313]}No User Tree\0   D !a =ð?ð?… c XCorrect Linear interp@${[0|4|TREE|177|281176313]}No User Tree\0@${[0|4|ColComment|90|3541350880]}Linear interp of B\0   E !a ð?ð?  é R1c (R1 - Rdark) *XCorrect@${[0|4|TREE|177|281176313]}No User Tree\0 i ^6@ð?T@$@ð?.@JP�q (J€ð?€ ×£= ×£= PdS1c/R1c Blank¸ üÿÿÿüÿÿÿüÿÿÿ{®Gáz´?T ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerInfoStorage7 ( ¸Ú :Π™Ùô?@DDÌ?( : @${[0|4|_Storage_Ebdded_pages_Data_|8|834556263]}\0\0\0\0 ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerGridStyle8 ( ¸Ú  Π™Ùô?@DDÌ?(  óÁ}Z@ ÿ²²¡° S1c/R1c Blankÿÿ CGXStylesMapStyles URL Origin TextHotSpot HeaderPicture EMBEDDINGOrigin Text Edit ogDataMask ogFormula ogRowLabelogPrintAreaMask ogComment ogColLabel Column HeaderogURLStandardogHeader ogReplicatesogParam ogLongNameogData ogSparklineogUDL ogCategoriesogEMBED ogFootNote ogCellLink ogSeparatorogUnit ogColFilter ogRowColLabel ogSampleRate Row Header ogTableTag ogLabelogEMBEDˆ !Î Row Header9€(Íàßã?ÿÿÿ ogRowLabel€ ogCategoriesH !Í ogReplicatesogUnit€ogPrintAreaMaskÿÿCGXUserAttributeMapÿÿCGXUserAttribute 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0 ogSampleRate€ogHeaderÿÿCGXFontÇ�P_Origin_Default_font_"€€7.000000€7.000000€5.000000€3.000000 ogSeparator€!Íàßã?ÿÿÿ ÎStandard¿¾û Íÿÿÿ?ÿÿÿ €Ç�Z_Origin_Default_font_" ogLabelúúÈ?ÿÿÿ ogRowColLabel€!Í ogFormula@  ogCellLinkˆ  ogCommentÈ  ÍogDataÀ€ÿÿCGXEllipseUserAttribute8Î ogSparkline€ogURLˆ  ogTableTag   Í €‰n"Î Column Header;àßã?ÿÿÿ €@� ogColLabel€ ogLongNameÈ  Í ogColFilterH !Í ogDataMask ÿogParam€ ogFootNote €Ç�F_Origin_Default_font_"€€7.000000€7.000000€3.000000€5.000000ogUDLÀ€ÿÿCGXDataÿÿÿÿÿÿÿÿÿÿÿÿÿÿ CGXPropertiesÀÀÀÿÿàßãGridd=Ç Current Cell.ÿÿCGXStyle 1Í Invert Thick.@Invert Thin. Invert Thick. Thin Border. Thick Border. No Border.�``�&&ÿÿÿÿ  !€$D!€$P/$Nÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ  !€ €À¼ $Rÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ((Ì(( (( (%(((((($( ((((((#((( (((("((('( ((D(!(((&( (ÿÿCGXDelayedRangePoolÿÿCGXDelayedRange1TÿÿCGXSpanCellPoolÿÿÿÿÿÿÿÿ'€)€1T+€ÿÿÿÿÿÿÿÿ+€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ƒ ffffff¦?°øŠ¯øŠ¿¿y>>ÂÿÂÿA y ; #range rS = $(page.tree.LTCONST.S1Blank)!; int numCols = rS.ncols; range x = $(page.tree.LTCONST.S1Blank)!1; range rx = 1; rx = x; int size = rx.GetSize(); double start = rx[1]; double end = rx[size]; range rRc = $(page.tree.LTCONST.R1R1cBlank)!5; range rxR = $(page.tree.LTCONST.R1R1cBlank)!1; int nRSize = rRc.GetSize(); for( int i=2; i<=numCols; i++ ) { range r = $(page.tree.LTCONST.S1cBlank)!$(i); string longName$ = r[L]$; if( 0==longName.GetLength() ) break; double wl = %(longName$); if( wl == rxR[i-1] ) { range rSc = $(page.tree.LTCONST.S1cBlank)!$(i); range rScRc = $(page.tree.LTCONST.S1cR1cBlank)!$(i); double dRc = rRc[i-1]; rScRc = rSc / dRc; rScRc[L]$ = longName$; } } run.section(JY_MI_FL, PlotXYY_Abs_Blank); //w2xyz iw:=6! format:=0 xlabel:=2 param:="Long Name" ycol:=1 oz:=8!(A,B,C); range rG=$(page.tree.LTCONST.WaterfallPlotBlank)!1[1]; string gr$=rG[1]$; gr$=gr.GetToken(2,':')$; //Update graph so embedded image Rescales win -o %(gr$) { layer.x.from = start; layer.x.to = end; Rescale; } ƒ #dd(>>ÂÿÂÿ__WIPR ( ¸Ú d(  ÿÿÿÿ ƒ #8tœ333333Û?ÞÝÝÝÝݽ?(H>>ÂÿÂÿ__WIOTN ( ¸Ú Hœ333333Û?ÞÝÝÝÝݽ?(H H 2{{{{ÿÿÿÿÿÿÿÿÿÿ  @ A !Q`Lð?ð?% O Wavelength@${[0|3|SYSTEM|38|2617568378]}[135] [44] 151="" 150="" 155="" 163=0  A B @!a Eð?ð?³ H 650@${[0|3|SYSTEM|38|2617568378]}[135] [44] 151="" 150="" 155="" 163=0  B C1 @!a Eð?ð? H 645@${[0|3|SYSTEM|38|1223126394]}[44] 151="" 150="" 155="" 163=0 [135]  C C2 @!a Eð?ð?) H 640@${[0|3|SYSTEM|38|1223126394]}[44] 151="" 150="" 155="" 163=0 [135]   D1 @!a Eð?ð?  635   D2 @!a Eð?ð?  630   D3 @!a Eð?ð?  625   D4 @!a Eð?ð?  620   D5 @!a Eð?ð?  615    D6 @!a Eð?ð?  610    D7 @!a Eð?ð?  605    D8 @!a Eð?ð?  600    D9 @!a Eð?ð?  595    D10 @!a Eð?ð?  590   D11 @!a Eð?ð?  585   D12 @!a Eð?ð?  580   D13 @!a Eð?ð?  575   D14 @!a Eð?ð?  570   D15 @!a Eð?ð?  565   D16 @!a Eð?ð?  560   D17 @!a Eð?ð?  555   D18 @!a Eð?ð?  550   D19 @!a Eð?ð?  545   D20 @!a Eð?ð?  540   D21 @!a Eð?ð?  535   D22 @!a Eð?ð?  530   D23 @!a Eð?ð?  525   D24 @!a Eð?ð?  520   D25 @!a Eð?ð?  515   D26 @!a Eð?ð?  510   D27 @!a Eð?ð?  505   D28 @!a Eð?ð?  500    D29 @!a Eð?ð?  495  ! D30 @!a Eð?ð?  490  " D31 @!a Eð?ð?  485  # D32 @!a Eð?ð?  480  $ D33 @!a Eð?ð?  475  % D34 @!a Eð?ð?  470  & D35 @!a Eð?ð?  465  ' D36 @!a Cð?ð?  460  ( D37 @!a Cð?ð?  455  ) D38 @!a Cð?ð?  450  * D39 @!a Cð?ð?  445  + D40 @!a Cð?ð?  440  , D41 @!a Cð?ð?  435  - D42 @!a Cð?ð?  430  . D43 @!a Cð?ð?  425  / D44 @!a Cð?ð?  420  0 D45 @!a Cð?ð?  415  1 D46 @!a Cð?ð?  410  2 D47 @!a Cð?ð?  405  3 D48 @!a Cð?ð?  400  4 D49 @!a Cð?ð?  395  5 D50 @!a Cð?ð?  390  6 D51 @!a Cð?ð?  385  7 D52 @!a Cð?ð?  380  8 D53 @!a Cð?ð?  375  9 D54 @!a Cð?ð?  370  : D55 @!a Cð?ð?  365  ; D56 @!a Cð?ð?  360  < D57 @!a Cð?ð?  355  = D58 @!a Cð?ð?  350  > D59 @!a Cð?ð?  345  ? D60 @!a Cð?ð?  340  @ D61 @!a Cð?ð?  335  A D62 @!a Cð?ð?  330  B D63 @!a Cð?ð?  325  C D64 @!a Cð?ð?  320  D D65 @!a Cð?ð?  315  E D66 @!a Cð?ð?  310  F D67 @!a Cð?ð?  305  G D68 @!a Cð?ð?  300  H D69 @!a Cð?ð?  295  I D70 @!a Cð?ð?  290  J D71 @!a Cð?ð?  285  K D72 @!a Cð?ð?  280  L D73 @!a Cð?ð?  275  M D74 @!a Cð?ð?  270  N D75 @!a Cð?ð?  265  O D76 @!a Cð?ð?  260  P D77 @!a Cð?ð?  255  Q D78 @!a Cð?ð?  250  R D79 @!a Cð?ð?  245  S D80 @!a Cð?ð?  240 i ^&@ð? @@ð?.@JP�q (J€ð?€ ×£= ×£= PdAbs Spectrum Sample¸ üÿÿÿüÿÿÿüÿÿÿ{®Gáz´? ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerInfoStorage7 ( ¸Ú :Π™Ùô?@DDÌ?( : @${[0|4|_Storage_Ebdded_pages_Data_|8|834556263]}\0\0\0\0 ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerGridStyle8 ( ¸Ú I Π™Ùô?@DDÌ?( I óÁ}Z@ ÿ²²¡°Abs Spectrum Sampleÿÿ CGXStylesMapStyles URL Origin TextHotSpot HeaderPicture EMBEDDINGOrigin Text Edit ogDataMask ogFormula ogRowLabelogPrintAreaMask ogComment ogColLabel Column HeaderogURLStandardogHeader ogReplicatesogParam ogLongNameogData ogSparklineogUDL ogCategoriesogEMBED ogFootNote ogCellLink ogSeparatorogUnit ogColFilter ogRowColLabel ogSampleRate Row Header ogTableTag ogLabelogEMBEDˆ !Î Row Header9€(Íàßã?ÿÿÿ ogRowLabel€ ogCategoriesH !Í ogReplicatesogUnit€ogPrintAreaMaskÿÿCGXUserAttributeMapÿÿCGXUserAttribute 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0 ogSampleRate€ogHeaderÿÿCGXFontÇ�P_Origin_Default_font_"€€7.000000€7.000000€5.000000€3.000000 ogSeparator€!Íàßã?ÿÿÿ ÎStandard¿¾û Íÿÿÿ?ÿÿÿ €Ç�Z_Origin_Default_font_" ogLabelúúÈ?ÿÿÿ ogRowColLabel€!Í ogFormula@  ogCellLinkˆ  ogCommentÈ  ÍogDataÀ€ÿÿCGXEllipseUserAttribute8Î ogSparkline€ogURLˆ  ogTableTag   Í €‰n"Î Column Header;àßã?ÿÿÿ €@� ogColLabel€ ogLongNameÈ  Í ogColFilterH !Í ogDataMask ÿogParam€ ogFootNote €Ç�F_Origin_Default_font_"€€7.000000€7.000000€3.000000€5.000000ogUDLÀ€ÿÿCGXDataÿÿÿÿÿÿÿÿÿÿÿÿÿÿ CGXPropertiesÀÀÀÿÿàßãGridd=Ç Current Cell.ÿÿCGXStyle 1Í Invert Thick.@Invert Thin. Invert Thick. Thin Border. Thick Border. No Border.�``�&&ÿÿÿÿ  !€$D!€$P/$Nÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ  !€ €À¼ $Rÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ� ̼ hœ d¼©DÐ <ÿÿCGXDelayedRangePoolÿÿCGXDelayedRange1 ÿÿCGXSpanCellPoolÿÿÿÿÿÿÿÿ'€)€1 +€ÿÿÿÿÿÿÿÿ+€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ƒ …ëQ¸ë?ÔAÔA½¿Ö>>ÂÿÂÿK Ö ; #range r = 1; int nsize = r.GetSize(); double start = r[nsize]; double end = r[1]; range rI0 = $(page.tree.LTCONST.AbsBlank)!col(9); range rI = 9; range rAbs = 10; range rT = 11; for(int i=1; i<=nsize; i++ ) { rT[i] = (rI[i]/rI0[i])*100; rAbs[i] = -log( rI[i]/rI0[i] ); } // Get name of the 1st embedded graph window range rG=$(page.tree.LTCONST.AbsGraphs)!1[1]; string gr$=rG[1]$; gr$=gr.GetToken(2,':')$; //Update graph so embedded image Rescales win -o %(gr$) { layer.x.from = start; layer.x.to = end; Rescale; } range rG2=$(page.tree.LTCONST.AbsGraphs)!1[17]; string gr2$=rG2[1]$; gr2$=gr2.GetToken(2,':')$; win -o %(gr2$) { layer.x.from = start; layer.x.to = end; Rescale; } ƒ \�Âõ(\Ý?|ÅW|ÅW¼¿¦>>ÂÿÂÿG ¦ ; #range rI = 2; range rIdark = 3; range rR = 4; range rRdark = 5; range rXCorr = 6; range rIc = 7; range rRc = 8; range rIcRc = 9; int nsize = rI.GetSize(); for( int i=1; i<=nsize; i++) { rIc[i] = rI[i] - rIdark[1]; rRc[i] = (rR[i] - rRdark[1])*rXCorr[i]; rIcRc[i] = rIc[i]/rRc[i]; }+) { rIc[i] = rI[i] - rIdark[1]; rRc[i] = rR[i] - rRdark[1]; rIcRc[i] = rIc[i]/rRc[i]; }*/ ƒ #dd(>>ÂÿÂÿ__WIPR ( ¸Ú d(  ÿÿÿÿ ƒ #8tœ333333Û?ÞÝÝÝÝݽ?(H>>ÂÿÂÿ__WIOTN ( ¸Ú Hœ333333Û?ÞÝÝÝÝݽ?(H H 2{{{{ÿÿÿÿÿÿÿÿÿÿ  ! A !Q`Lð?ð?%  Wavelength nm  " B !!a Vð?ð?£ H I1 uA Abs Detector Raw@${[0|3|SYSTEM|17|1484463613]}[135] [44] 163=0  # C " a Nð?ð?~ * I1 dark uA Dark Offset for Abs Detector  $ D !!a Tð?ð?w  R1 uA Ref Detector Raw  % E !!a Nð?ð?? ) R1dark uA Dark Offset for Ref Detector  & F !!a =ð?ð?þ c XCorrect Linear interp@${[0|4|ColComment|90|3541350880]}Linear interp of B\0@${[0|4|TREE|177|281176313]}No User Tree\0  ' G !!a Rð?ð?ˆ ó I1c uA Dark subtracted Abs Detector@${[0|4|TREE|177|281176313]}No User Tree\0  ( H !!a [ð?ð?• í R1c uA Corrected Ref Detector@${[0|4|TREE|177|281176313]}No User Tree\0  ) I !!a Fð?ð?y ò I1c/R1c uA/uA Corrected Intensity @${[0|4|TREE|177|281176313]}No User Tree\0  * J !!a 8ð?ð? Þ Abs OD -Log(T)@${[0|4|TREE|177|281176313]}No User Tree\0  + K !!a gð?ð?Š ï Percent T T*100 % Transmittance@${[0|4|TREE|177|281176313]}No User Tree\0 i ^?@ð?T@$@ð?.@JP�q (J€ð?€ ×£= ×£= PdS1 Sample¸ ]üÿÿÿüÿÿÿüÿÿÿ{®Gáz´?T ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerInfoStorage7 ( ¸Ú :Π™Ùô?@DDÌ?( : @${[0|4|_Storage_Ebdded_pages_Data_|8|834556263]}\0\0\0\0 ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerGridStyle8 ( ¸Ú  Π™Ùô?@DDÌ?(  óÁ}Z@ ÿ²²¡° S1 Sampleÿÿ CGXStylesMapStyles URL Origin TextHotSpot HeaderPicture EMBEDDINGOrigin Text Edit ogDataMask ogFormula ogRowLabelogPrintAreaMask ogComment ogColLabel Column HeaderogURLStandardogHeader ogReplicatesogParam ogLongNameogData ogSparklineogUDL ogCategoriesogEMBED ogFootNote ogCellLink ogSeparatorogUnit ogColFilter ogRowColLabel ogSampleRate Row Header ogTableTag ogLabelogEMBEDˆ !Î Row Header9€(Íàßã?ÿÿÿ ogRowLabel€ ogCategoriesH !Í ogReplicatesogUnit€ogPrintAreaMaskÿÿCGXUserAttributeMapÿÿCGXUserAttribute 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0 ogSampleRate€ogHeaderÿÿCGXFontÇ�P_Origin_Default_font_"€€7.000000€7.000000€5.000000€3.000000 ogSeparator€!Íàßã?ÿÿÿ ÎStandard¿¾û Íÿÿÿ?ÿÿÿ €Ç�Z_Origin_Default_font_" ogLabelúúÈ?ÿÿÿ ogRowColLabel€!Í ogFormula@  ogCellLinkˆ  ogCommentÈ  ÍogDataÀ€ÿÿCGXEllipseUserAttribute8Î ogSparkline€ogURLˆ  ogTableTag   Í €‰n"Î Column Header;àßã?ÿÿÿ €@� ogColLabel€ ogLongNameÈ  Í ogColFilterH !Í ogDataMask ÿogParam€ ogFootNote €Ç�F_Origin_Default_font_"€€7.000000€7.000000€3.000000€5.000000ogUDLÀ€ÿÿCGXDataÿÿÿÿÿÿÿÿÿÿÿÿÿÿ CGXPropertiesÀÀÀÿÿàßãGridd=Ç Current Cell.ÿÿCGXStyle 1Í Invert Thick.@Invert Thin. Invert Thick. Thin Border. Thick Border. No Border.�``�&&ÿÿÿÿ  !€$D!€$P/$Nÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ  !€ €À¼ $Rÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ(Ì  % $ ˜ #  ¸ " ' h! & ÿÿCGXDelayedRangePoolÿÿCGXDelayedRange1TÿÿCGXSpanCellPoolÿÿÿÿÿÿÿÿ'€)€1T+€ÿÿÿÿÿÿÿÿ+€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ƒ #dd(>>ÂÿÂÿ__WIPR ( ¸Ú d(  ÿÿÿÿ ƒ #8tœ333333Û?ÞÝÝÝÝݽ?(H>>ÂÿÂÿ__WIOTN ( ¸Ú Hœ333333Û?ÞÝÝÝÝݽ?(H H 2{{{{ÿÿÿÿÿÿÿÿÿÿ  5 A !Q`8ð?ð?’  S1 nm  6 B 5!a (ð?ð?�  650 nm  7 C1 5!a .ð?ð?Ë  645 nm  8 C2 5!a -ð?ð?s  640 nm  T D1 5!a -ð?ð?  635 nm  U D2 5!a -ð?ð?  630 nm  V D3 5!a -ð?ð?  625 nm  W D4 5!a -ð?ð?  620 nm  X D5 5!a -ð?ð?  615 nm  Y D6 5!a -ð?ð?  610 nm  Z D7 5!a -ð?ð?  605 nm  [ D8 5!a -ð?ð?  600 nm  \ D9 5!a -ð?ð?  595 nm  ] D10 5!a 3ð?ð?  590 nm  ^ D11 5!a 3ð?ð?  585 nm  _ D12 5!a 3ð?ð?  580 nm  ` D13 5!a 3ð?ð?  575 nm  a D14 5!a 3ð?ð?  570 nm  b D15 5!a 3ð?ð?  565 nm  c D16 5!a 3ð?ð?  560 nm  d D17 5!a 3ð?ð?  555 nm  e D18 5!a 3ð?ð?  550 nm  f D19 5!a 3ð?ð?  545 nm  g D20 5!a 3ð?ð?  540 nm  h D21 5!a 3ð?ð?  535 nm  i D22 5!a 3ð?ð?  530 nm  j D23 5!a 3ð?ð?  525 nm  k D24 5!a 3ð?ð?  520 nm  l D25 5!a 3ð?ð?  515 nm  m D26 5!a 3ð?ð?  510 nm  n D27 5!a 3ð?ð?  505 nm  o D28 5!a 3ð?ð?  500 nm  p D29 5!a 3ð?ð?  495 nm  q D30 5!a 3ð?ð?  490 nm  r D31 5!a 3ð?ð?  485 nm  s D32 5!a 3ð?ð?  480 nm  t D33 5!a 3ð?ð?  475 nm  u D34 5!a 3ð?ð?  470 nm  v D35 5!a 3ð?ð?  465 nm  w D36 5!a Cð?ð?  460 nm  x D37 5!a Cð?ð?  455 nm  y D38 5!a Cð?ð?  450 nm  z D39 5!a Cð?ð?  445 nm  { D40 5!a Cð?ð?  440 nm  | D41 5!a Cð?ð?  435 nm  } D42 5!a Cð?ð?  430 nm  ~ D43 5!a Cð?ð?  425 nm   D44 5!a Cð?ð?  420 nm  € D45 5!a Cð?ð?  415 nm  � D46 5!a Cð?ð?  410 nm  ‚ D47 5!a Cð?ð?  405 nm  ƒ D48 5!a Cð?ð?  400 nm  „ D49 5!a Cð?ð?  395 nm  … D50 5!a Cð?ð?  390 nm  † D51 5!a Cð?ð?  385 nm  ‡ D52 5!a Cð?ð?  380 nm  ˆ D53 5!a Cð?ð?  375 nm  ‰ D54 5!a Cð?ð?  370 nm  Š D55 5!a Cð?ð?  365 nm  ‹ D56 5!a Cð?ð?  360 nm  Œ D57 5!a Cð?ð?  355 nm  � D58 5!a Cð?ð?  350 nm  Ž D59 5!a Cð?ð?  345 nm  � D60 5!a Cð?ð?  340 nm  � D61 5!a Cð?ð?  335 nm  ‘ D62 5!a Cð?ð?  330 nm  ’ D63 5!a Cð?ð?  325 nm  “ D64 5!a Cð?ð?  320 nm  ” D65 5!a Cð?ð?  315 nm  • D66 5!a Cð?ð?  310 nm  – D67 5!a Cð?ð?  305 nm  — D68 5!a Cð?ð?  300 nm  ˜ D69 5!a Cð?ð?  295 nm  ™ D70 5!a Cð?ð?  290 nm  š D71 5!a Cð?ð?  285 nm  › D72 5!a Cð?ð?  280 nm  œ D73 5!a Cð?ð?  275 nm  � D74 5!a Cð?ð?  270 nm  ž D75 5!a Cð?ð?  265 nm  Ÿ D76 5!a Cð?ð?  260 nm    D77 5!a Cð?ð?  255 nm  ¡ D78 5!a Cð?ð?  250 nm  ¢ D79 5!a Cð?ð?  245 nm  £ D80 5!a Cð?ð?  240 nm i ^@ð?@"@ð?.@JP�q (J€ð?€ ×£= ×£= PdS1 Dark and Mcorrect Sample¸ Tüÿÿÿüÿÿÿüÿÿÿ {®Gáz´? ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerInfoStorage7 ( ¸Ú :Π™Ùô?@DDÌ?( : @${[0|4|_Storage_Ebdded_pages_Data_|8|834556263]}\0\0\0\0 ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerGridStyle8 ( ¸Ú  Π™Ùô?@DDÌ?(  óÁ}Z@ ÿ²²¡°S1 Dark and Mcorrect Sampleÿÿ CGXStylesMapStyles URL Origin TextHotSpot HeaderPicture EMBEDDINGOrigin Text Edit ogDataMask ogFormula ogRowLabelogPrintAreaMask ogComment ogColLabel Column HeaderogURLStandardogHeader ogReplicatesogParam ogLongNameogData ogSparklineogUDL ogCategoriesogEMBED ogFootNote ogCellLink ogSeparatorogUnit ogColFilter ogRowColLabel ogSampleRate Row Header ogTableTag ogLabelogEMBEDˆ !Î Row Header9€(Íàßã?ÿÿÿ ogRowLabel€ ogCategoriesH !Í ogReplicatesogUnit€ogPrintAreaMaskÿÿCGXUserAttributeMapÿÿCGXUserAttribute 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0 ogSampleRate€ogHeaderÿÿCGXFontÇ�P_Origin_Default_font_"€€7.000000€7.000000€5.000000€3.000000 ogSeparator€!Íàßã?ÿÿÿ ÎStandard¿¾û Íÿÿÿ?ÿÿÿ €Ç�Z_Origin_Default_font_" ogLabelúúÈ?ÿÿÿ ogRowColLabel€!Í ogFormula@  ogCellLinkˆ  ogCommentÈ  ÍogDataÀ€ÿÿCGXEllipseUserAttribute8Î ogSparkline€ogURLˆ  ogTableTag   Í €‰n"Î Column Header;àßã?ÿÿÿ €@� ogColLabel€ ogLongNameÈ  Í ogColFilterH !Í ogDataMask ÿogParam€ ogFootNote €Ç�F_Origin_Default_font_"€€7.000000€7.000000€3.000000€5.000000ogUDLÀ€ÿÿCGXDataÿÿÿÿÿÿÿÿÿÿÿÿÿÿ CGXPropertiesÀÀÀÿÿàßãGridd=Ç Current Cell.ÿÿCGXStyle 1Í Invert Thick.@Invert Thin. Invert Thick. Thin Border. Thick Border. No Border.�``�&&ÿÿÿÿ  !€$D!€$P/$Nÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ  !€ €À¼ $Rÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ` ÌèñÿÿCGXDelayedRangePoolÿÿCGXDelayedRange1ÿÿCGXSpanCellPoolÿÿÿÿÿÿÿÿ'€)€1+€ÿÿÿÿÿÿÿÿ+€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ƒ = ×£p=ª?nÛ¶mÛ¶½¿N>>ÂÿÂÿA N ; #range x = $(page.tree.LTCONST.S1Sample)!col(1); range xc = 1; xc = x; ƒ #dd(>>ÂÿÂÿ__WIPR ( ¸Ú d(  ÿÿÿÿ ƒ #8tœ333333Û?ÞÝÝÝÝݽ?(H>>ÂÿÂÿ__WIOTN ( ¸Ú Hœ333333Û?ÞÝÝÝÝݽ?(H H 2{{{{ÿÿÿÿÿÿÿÿÿÿ   A !Q`cð?ð?¤  Wavelength, nm nm   B !a 3ð?ð?9 Ü S1dark counts@${[0|4|TREE|177|281176313]}No User Tree\0   C !a Rð?ð? p Mcorrect interpolated Linear interp @${[0|4|TREE|177|281176313]}No User Tree\0@${[0|4|ColComment|90|3541350880]}Linear interp of B\0 i ^4@ð?T@ð?&@ð?.@JP�q (J€ð?€ ×£= ×£= PdS1c Sample¸ üÿÿÿüÿÿÿüÿÿÿ {®Gáz´?T ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerInfoStorage7 ( ¸Ú :Π™Ùô?@DDÌ?( : @${[0|4|_Storage_Ebdded_pages_Data_|8|834556263]}\0\0\0\0 ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerGridStyle8 ( ¸Ú  Π™Ùô?@DDÌ?(  óÁ}Z@ ÿ²²¡° S1c Sampleÿÿ CGXStylesMapStyles URL Origin TextHotSpot HeaderPicture EMBEDDINGOrigin Text Edit ogDataMask ogFormula ogRowLabelogPrintAreaMask ogComment ogColLabel Column HeaderogURLStandardogHeader ogReplicatesogParam ogLongNameogData ogSparklineogUDL ogCategoriesogEMBED ogFootNote ogCellLink ogSeparatorogUnit ogColFilter ogRowColLabel ogSampleRate Row Header ogTableTag ogLabelogEMBEDˆ !Î Row Header9€(Íàßã?ÿÿÿ ogRowLabel€ ogCategoriesH !Í ogReplicatesogUnit€ogPrintAreaMaskÿÿCGXUserAttributeMapÿÿCGXUserAttribute 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0 ogSampleRate€ogHeaderÿÿCGXFontÇ�P_Origin_Default_font_"€€7.000000€7.000000€5.000000€3.000000 ogSeparator€!Íàßã?ÿÿÿ ÎStandard¿¾û Íÿÿÿ?ÿÿÿ €Ç�Z_Origin_Default_font_" ogLabelúúÈ?ÿÿÿ ogRowColLabel€!Í ogFormula@  ogCellLinkˆ  ogCommentÈ  ÍogDataÀ€ÿÿCGXEllipseUserAttribute8Î ogSparkline€ogURLˆ  ogTableTag   Í €‰n"Î Column Header;àßã?ÿÿÿ €@� ogColLabel€ ogLongNameÈ  Í ogColFilterH !Í ogDataMask ÿogParam€ ogFootNote €Ç�F_Origin_Default_font_"€€7.000000€7.000000€3.000000€5.000000ogUDLÀ€ÿÿCGXDataÿÿÿÿÿÿÿÿÿÿÿÿÿÿ CGXPropertiesÀÀÀÿÿàßãGridd=Ç Current Cell.ÿÿCGXStyle 1Í Invert Thick.@Invert Thin. Invert Thick. Thin Border. Thick Border. No Border.�``�&&ÿÿÿÿ  !€$D!€$P/$Nÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ  !€ €À¼ $Rÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ(Ìè(  %è($è #  #"'è h!&è ÿÿCGXDelayedRangePoolÿÿCGXDelayedRange1TÿÿCGXSpanCellPoolÿÿÿÿÿÿÿÿ'€)€1T+€ÿÿÿÿÿÿÿÿ+€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ƒ áz®Gáª?¾â+¾â+¾¿P>>ÂÿÂÿA P ; #range rS = $(page.tree.LTCONST.S1Sample)!; int numCols = rS.ncols; range x = $(page.tree.LTCONST.S1Sample)!1; range rxc = 1; rxc = x; //int nsize = x.GetSize(); range rSd = $(page.tree.LTCONST.S1DarkMCorrSample)!2; range rMcorr = $(page.tree.LTCONST.S1DarkMCorrSample)!3; for( int i=2; i<=numCols; i++ ) { range rS = $(page.tree.LTCONST.S1Sample)!$(i); range rSc = $(page.tree.LTCONST.S1cSample)!$(i); string longName$ = rS[L]$; if( 0 == longName.GetLength() ) break; rSc = (rS - rSd) * rMcorr; rSc[L]$=longName$; } ƒ #dd(>>ÂÿÂÿ__WIPR ( ¸Ú d(  ÿÿÿÿ ƒ #8tœ333333Û?ÞÝÝÝÝݽ?(H>>ÂÿÂÿ__WIOTN ( ¸Ú Hœ333333Û?ÞÝÝÝÝݽ?(H H 2{{{{ÿÿÿÿÿÿÿÿÿÿ   A !Q`8ð?ð?  S1 nm   B !a zð?ð?»  650 (S1-S1dark)*Mcorrect   C1 !a Kð?ð?u  645   C2 !a Eð?ð?.  640  ¤ D1 !a Eð?ð?  635  ¥ D2 !a Kð?ð?  630  ¦ D3 !a Kð?ð?  625  § D4 !a Kð?ð?  620  ¨ D5 !a Kð?ð?  615  © D6 !a Kð?ð?  610  ª D7 !a Kð?ð?  605  « D8 !a Kð?ð?  600  ¬ D9 !a Kð?ð?  595  ­ D10 !a Kð?ð?  590  ® D11 !a Kð?ð?  585  ¯ D12 !a Rð?ð?  580  ° D13 !a Kð?ð?  575  ± D14 !a Kð?ð?  570  ² D15 !a Kð?ð?  565  ³ D16 !a Kð?ð?  560  ´ D17 !a Kð?ð?  555  µ D18 !a Kð?ð?  550  ¶ D19 !a Kð?ð?  545  · D20 !a Kð?ð?  540  ¸ D21 !a Kð?ð?  535  ¹ D22 !a Kð?ð?  530  º D23 !a Kð?ð?  525  » D24 !a Kð?ð?  520  ¼ D25 !a Kð?ð?  515  ½ D26 !a Kð?ð?  510  ¾ D27 !a Kð?ð?  505  ¿ D28 !a Kð?ð?  500  À D29 !a Kð?ð?  495  Á D30 !a Kð?ð?  490   D31 !a Kð?ð?  485  à D32 !a Rð?ð?  480  Ä D33 !a Rð?ð?  475  Å D34 !a Rð?ð?  470  Æ D35 !a Rð?ð?  465  Ç D36 !a Cð?ð?  460  È D37 !a Cð?ð?  455  É D38 !a Cð?ð?  450  Ê D39 !a Cð?ð?  445  Ë D40 !a Cð?ð?  440  Ì D41 !a Cð?ð?  435  Í D42 !a Cð?ð?  430  Î D43 !a Cð?ð?  425  Ï D44 !a Cð?ð?  420  Ð D45 !a Cð?ð?  415  Ñ D46 !a Cð?ð?  410  Ò D47 !a Cð?ð?  405  Ó D48 !a Cð?ð?  400  Ô D49 !a Cð?ð?  395  Õ D50 !a Cð?ð?  390  Ö D51 !a Cð?ð?  385  × D52 !a Cð?ð?  380  Ø D53 !a Cð?ð?  375  Ù D54 !a Cð?ð?  370  Ú D55 !a Cð?ð?  365  Û D56 !a Cð?ð?  360  Ü D57 !a Cð?ð?  355  Ý D58 !a Cð?ð?  350  Þ D59 !a Cð?ð?  345  ß D60 !a Cð?ð?  340  à D61 !a Cð?ð?  335  á D62 !a Cð?ð?  330  â D63 !a Cð?ð?  325  ã D64 !a Cð?ð?  320  ä D65 !a Cð?ð?  315  å D66 !a Cð?ð?  310  æ D67 !a Cð?ð?  305  ç D68 !a Cð?ð?  300  è D69 !a Cð?ð?  295  é D70 !a Cð?ð?  290  ê D71 !a Cð?ð?  285  ë D72 !a Cð?ð?  280  ì D73 !a Cð?ð?  275  í D74 !a Cð?ð?  270  î D75 !a Cð?ð?  265  ï D76 !a Cð?ð?  260  ð D77 !a Cð?ð?  255  ñ D78 !a Cð?ð?  250  ò D79 !a Cð?ð?  245  ó D80 !a Cð?ð?  240 i ^@ð?@"@ð?.@JP�q (J€ð?€ ×£= ×£= PdR1 and R1c Sample¸ 4üÿÿÿüÿÿÿüÿÿÿ {®Gáz´? ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerInfoStorage7 ( ¸Ú :Π™Ùô?@DDÌ?( : @${[0|4|_Storage_Ebdded_pages_Data_|8|834556263]}\0\0\0\0 ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerGridStyle8 ( ¸Ú  Π™Ùô?@DDÌ?(  óÁ}Z@ ÿ²²¡°R1 and R1c Sampleÿÿ CGXStylesMapStyles URL Origin TextHotSpot HeaderPicture EMBEDDINGOrigin Text Edit ogDataMask ogFormula ogRowLabelogPrintAreaMask ogComment ogColLabel Column HeaderogURLStandardogHeader ogReplicatesogParam ogLongNameogData ogSparklineogUDL ogCategoriesogEMBED ogFootNote ogCellLink ogSeparatorogUnit ogColFilter ogRowColLabel ogSampleRate Row Header ogTableTag ogLabelogEMBEDˆ !Î Row Header9€(Íàßã?ÿÿÿ ogRowLabel€ ogCategoriesH !Í ogReplicatesogUnit€ogPrintAreaMaskÿÿCGXUserAttributeMapÿÿCGXUserAttribute 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0 ogSampleRate€ogHeaderÿÿCGXFontÇ�P_Origin_Default_font_"€€7.000000€7.000000€5.000000€3.000000 ogSeparator€!Íàßã?ÿÿÿ ÎStandard¿¾û Íÿÿÿ?ÿÿÿ €Ç�Z_Origin_Default_font_" ogLabelúúÈ?ÿÿÿ ogRowColLabel€!Í ogFormula@  ogCellLinkˆ  ogCommentÈ  ÍogDataÀ€ÿÿCGXEllipseUserAttribute8Î ogSparkline€ogURLˆ  ogTableTag   Í €‰n"Î Column Header;àßã?ÿÿÿ €@� ogColLabel€ ogLongNameÈ  Í ogColFilterH !Í ogDataMask ÿogParam€ ogFootNote €Ç�F_Origin_Default_font_"€€7.000000€7.000000€3.000000€5.000000ogUDLÀ€ÿÿCGXDataÿÿÿÿÿÿÿÿÿÿÿÿÿÿ CGXPropertiesÀÀÀÿÿàßãGridd=Ç Current Cell.ÿÿCGXStyle 1Í Invert Thick.@Invert Thin. Invert Thick. Thin Border. Thick Border. No Border.�``�&&ÿÿÿÿ  !€$D!€$P/$Nÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ  !€ €À¼ $Rÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ` ÌD%Ð@ÄDÿÿCGXDelayedRangePoolÿÿCGXDelayedRange1ÿÿCGXSpanCellPoolÿÿÿÿÿÿÿÿ'€)€1+€ÿÿÿÿÿÿÿÿ+€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ƒ q= ×£pÛ?·mÛ¶mÛä?>>ÂÿÂÿD  ; #$[1:251] ƒ ×£p= ×â?_ñ_ñ¿¿º>>ÂÿÂÿE º ; #range rR = 2; range rRdark = 3; range rXcorr = 4; range rRc = 5; int nsize = rR.GetSize(); for( int i=1; i<=nsize; i++) { rRc[i] = (rR[i] - rRdark[1]) * rXcorr[i]; } ƒ #dd(>>ÂÿÂÿ__WIPR ( ¸Ú d(  ÿÿÿÿ ƒ #8tœ333333Û?ÞÝÝÝÝݽ?(H>>ÂÿÂÿ__WIOTN ( ¸Ú Hœ333333Û?ÞÝÝÝÝݽ?(H H 2{{{{ÿÿÿÿÿÿÿÿÿÿ   A !Q`Lð?ð?  Wavelength nm   B !a fð?ð?�  R1 Raw Ref Detector   C !a Zð?ð?ð ä Rdark Dark Offset Ref@${[0|4|TREE|177|281176313]}No User Tree\0   D !a =ð?ð?U c XCorrect Linear interp@${[0|4|TREE|177|281176313]}No User Tree\0@${[0|4|ColComment|90|3541350880]}Linear interp of B\0   E !a ð?ð?I é R1c (R1 - Rdark) *XCorrect@${[0|4|TREE|177|281176313]}No User Tree\0 i ^4@ð?T@$@ð?.@JP�q (J€ð?€ ×£= ×£= PdS1c/R1c Sample¸ #üÿÿÿüÿÿÿüÿÿÿ {®Gáz´?T ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerInfoStorage7 ( ¸Ú :Π™Ùô?@DDÌ?( : @${[0|4|_Storage_Ebdded_pages_Data_|8|834556263]}\0\0\0\0 ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerGridStyle8 ( ¸Ú  Π™Ùô?@DDÌ?(  óÁ}Z@ ÿ²²¡°S1c/R1c Sampleÿÿ CGXStylesMapStyles URL Origin TextHotSpot HeaderPicture EMBEDDINGOrigin Text Edit ogDataMask ogFormula ogRowLabelogPrintAreaMask ogComment ogColLabel Column HeaderogURLStandardogHeader ogReplicatesogParam ogLongNameogData ogSparklineogUDL ogCategoriesogEMBED ogFootNote ogCellLink ogSeparatorogUnit ogColFilter ogRowColLabel ogSampleRate Row Header ogTableTag ogLabelogEMBEDˆ !Î Row Header9€(Íàßã?ÿÿÿ ogRowLabel€ ogCategoriesH !Í ogReplicatesogUnit€ogPrintAreaMaskÿÿCGXUserAttributeMapÿÿCGXUserAttribute 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0 ogSampleRate€ogHeaderÿÿCGXFontÇ�P_Origin_Default_font_"€€7.000000€7.000000€5.000000€3.000000 ogSeparator€!Íàßã?ÿÿÿ ÎStandard¿¾û Íÿÿÿ?ÿÿÿ €Ç�Z_Origin_Default_font_" ogLabelúúÈ?ÿÿÿ ogRowColLabel€!Í ogFormula@  ogCellLinkˆ  ogCommentÈ  ÍogDataÀ€ÿÿCGXEllipseUserAttribute8Î ogSparkline€ogURLˆ  ogTableTag   Í €‰n"Î Column Header;àßã?ÿÿÿ €@� ogColLabel€ ogLongNameÈ  Í ogColFilterH !Í ogDataMask ÿogParam€ ogFootNote €Ç�F_Origin_Default_font_"€€7.000000€7.000000€3.000000€5.000000ogUDLÀ€ÿÿCGXDataÿÿÿÿÿÿÿÿÿÿÿÿÿÿ CGXPropertiesÀÀÀÿÿàßãGridd=Ç Current Cell.ÿÿCGXStyle 1Í Invert Thick.@Invert Thin. Invert Thick. Thin Border. Thick Border. No Border.�``�&&ÿÿÿÿ  !€$D!€$P/$Nÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ  !€ €À¼ $Rÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ(Ìè  %$ #( "' D!& ÿÿCGXDelayedRangePoolÿÿCGXDelayedRange1TÿÿCGXSpanCellPoolÿÿÿÿÿÿÿÿ'€)€1T+€ÿÿÿÿÿÿÿÿ+€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ƒ ffffff¦?°øŠ¯øŠ¿¿ >>ÂÿÂÿA ; #range rS = $(page.tree.LTCONST.S1Sample)!; int numCols = rS.ncols; range x = $(page.tree.LTCONST.S1Sample)!1; range rx = 1; rx = x; int size = rx.GetSize(); double start = rx[1]; double end = rx[size]; range rRc = $(page.tree.LTCONST.R1R1cSample)!5; range rxR = $(page.tree.LTCONST.R1R1cSample)!1; int nRSize = rRc.GetSize(); for( int i=2; i<=numCols; i++ ) { range r = $(page.tree.LTCONST.S1cSample)!$(i); //S1c string longName$ = r[L]$; if( 0 == longName.GetLength() ) break; double wl = %(longName$); if( wl == rxR[i-1] ) { range rSc = $(page.tree.LTCONST.S1cSample)!$(i); range rScRc = $(page.tree.LTCONST.S1cR1cSample)!$(i); double dRc = rRc[i-1]; rScRc = rSc / dRc; rScRc[L]$ = longName$; } } //sample - blank range rxr = $(page.tree.LTCONST.SampleBlank)!1; rxr = x; //int size = rx.GetSize(); //double start = rx[1]; //double end = rx[size]; for( int i=2; i<=numCols; i++ ) { range sample = $(page.tree.LTCONST.S1cR1cSample)!$(i); range blank = $(page.tree.LTCONST.S1cR1cBlank)!$(i); range result = $(page.tree.LTCONST.SampleBlank)!$(i); string longName$ = sample[L]$; if( 0 == longName.GetLength() ) break; result[L]$= longName$; result = sample - blank; } run.section(JY_MI_FL, PlotXYY_Sample_Abs); //w2xyz iw:=5! format:=0 xlabel:=2 param:="Long Name" ycol:=1 oz:=7!(A,B,C); range rG=$(page.tree.LTCONST.WaterfallPlotSample)!1[1]; string gr$=rG[1]$; gr$=gr.GetToken(2,':')$; //Update graph so embedded image Rescales win -o %(gr$) { layer.x.from = start; layer.x.to = end; Rescale; } w2xyz iw:=$(page.tree.LTCONST.SampleBlank)! format:=0 xlabel:=2 param:="Long Name" ycol:=1 oz:=$(page.tree.LTCONST.SampleBlankXYZ)!(A,B,C); run.section(JY_MI_FL, PlotXYY_Sample_Minus_Blank_Abs); range rG=$(page.tree.LTCONST.SampleBlankWaterfallPlot)!1[1]; string gr$=rG[1]$; gr$=gr.GetToken(2,':')$; //Update graph so embedded image Rescales win -o %(gr$) { layer.x.from = start; layer.x.to = end; Rescale; } range rG=$(page.tree.LTCONST.SampleBlankContourPlot)!1[1]; string gr$=rG[1]$; gr$=gr.GetToken(2,':')$; //Update graph so embedded image Rescales win -o %(gr$) { Rescale; }} ƒ #dd(>>ÂÿÂÿ__WIPR ( ¸Ú d(  ÿÿÿÿ ƒ #8tœ333333Û?ÞÝÝÝÝݽ?(H>>ÂÿÂÿ__WIOTN ( ¸Ú Hœ333333Û?ÞÝÝÝÝݽ?(H H 2{{{{ÿÿÿÿÿÿÿÿÿÿ   A !Q`Lð?ð? O Wavelength@${[0|3|SYSTEM|38|2617568378]}[135] [44] 151="" 150="" 155="" 163=0   B !a Kð?ð?/ H 650@${[0|3|SYSTEM|38|2617568378]}[135] [44] 151="" 150="" 155="" 163=0   C1 !a Kð?ð?Å H 645@${[0|3|SYSTEM|38|1223126394]}[44] 151="" 150="" 155="" 163=0 [135]   C2 !a Kð?ð?H H 640@${[0|3|SYSTEM|38|1223126394]}[44] 151="" 150="" 155="" 163=0 [135]  ô D1 !a Kð?ð?  635  õ D2 !a Kð?ð?  630  ö D3 !a Kð?ð?  625  ÷ D4 !a Eð?ð?  620  ø D5 !a Kð?ð?  615  ù D6 !a Kð?ð?  610  ú D7 !a Kð?ð?  605  û D8 !a Kð?ð?  600  ü D9 !a Kð?ð?  595  ý D10 !a Kð?ð?  590  þ D11 !a Kð?ð?  585  ÿ D12 !a Rð?ð?  580   D13 !a Kð?ð?  575   D14 !a Kð?ð?  570   D15 !a Kð?ð?  565   D16 !a Kð?ð?  560   D17 !a Kð?ð?  555   D18 !a Kð?ð?  550   D19 !a Kð?ð?  545   D20 !a Kð?ð?  540   D21 !a Kð?ð?  535    D22 !a Kð?ð?  530    D23 !a Kð?ð?  525    D24 !a Kð?ð?  520    D25 !a Kð?ð?  515    D26 !a Kð?ð?  510   D27 !a Kð?ð?  505   D28 !a Kð?ð?  500   D29 !a Kð?ð?  495   D30 !a Kð?ð?  490   D31 !a Kð?ð?  485   D32 !a Kð?ð?  480   D33 !a Kð?ð?  475   D34 !a Kð?ð?  470   D35 !a Kð?ð?  465   D36 !a Cð?ð?  460   D37 !a Cð?ð?  455   D38 !a Cð?ð?  450   D39 !a Cð?ð?  445   D40 !a Cð?ð?  440   D41 !a Cð?ð?  435   D42 !a Cð?ð?  430   D43 !a Cð?ð?  425   D44 !a Cð?ð?  420    D45 !a Cð?ð?  415  ! D46 !a Cð?ð?  410  " D47 !a Cð?ð?  405  # D48 !a Cð?ð?  400  $ D49 !a Cð?ð?  395  % D50 !a Cð?ð?  390  & D51 !a Cð?ð?  385  ' D52 !a Cð?ð?  380  ( D53 !a Cð?ð?  375  ) D54 !a Cð?ð?  370  * D55 !a Cð?ð?  365  + D56 !a Cð?ð?  360  , D57 !a Cð?ð?  355  - D58 !a Cð?ð?  350  . D59 !a Cð?ð?  345  / D60 !a Cð?ð?  340  0 D61 !a Cð?ð?  335  1 D62 !a Cð?ð?  330  2 D63 !a Cð?ð?  325  3 D64 !a Cð?ð?  320  4 D65 !a Cð?ð?  315  5 D66 !a Cð?ð?  310  6 D67 !a Cð?ð?  305  7 D68 !a Cð?ð?  300  8 D69 !a Cð?ð?  295  9 D70 !a Cð?ð?  290  : D71 !a Cð?ð?  285  ; D72 !a Cð?ð?  280  < D73 !a Cð?ð?  275  = D74 !a Cð?ð?  270  > D75 !a Cð?ð?  265  ? D76 !a Cð?ð?  260  @ D77 !a Cð?ð?  255  A D78 !a Cð?ð?  250  B D79 !a Cð?ð?  245  C D80 !a Cð?ð?  240 i ^4@ð?T@$@ð?.@JP�q (J€ð?€ ×£= ×£= PdSample - Blank¸ üÿÿÿüÿÿÿüÿÿÿ{®Gáz´?T ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerInfoStorage7 ( ¸Ú :Π™Ùô?@DDÌ?( : @${[0|4|_Storage_Ebdded_pages_Data_|8|834556263]}\0\0\0\0 ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerGridStyle8 ( ¸Ú  Π™Ùô?@DDÌ?(  óÁ}Z@ ÿ²²¡°Sample - Blankÿÿ CGXStylesMapStyles URL Origin TextHotSpot HeaderPicture EMBEDDINGOrigin Text Edit ogDataMask ogFormula ogRowLabelogPrintAreaMask ogComment ogColLabel Column HeaderogURLStandardogHeader ogReplicatesogParam ogLongNameogData ogSparklineogUDL ogCategoriesogEMBED ogFootNote ogCellLink ogSeparatorogUnit ogColFilter ogRowColLabel ogSampleRate Row Header ogTableTag ogLabelogEMBEDˆ !Î Row Header9€(Íàßã?ÿÿÿ ogRowLabel€ ogCategoriesH !Í ogReplicatesogUnit€ogPrintAreaMaskÿÿCGXUserAttributeMapÿÿCGXUserAttribute 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0 ogSampleRate€ogHeaderÿÿCGXFontÇ�P_Origin_Default_font_"€€7.000000€7.000000€5.000000€3.000000 ogSeparator€!Íàßã?ÿÿÿ ÎStandard¿¾û Íÿÿÿ?ÿÿÿ €Ç�Z_Origin_Default_font_" ogLabelúúÈ?ÿÿÿ ogRowColLabel€!Í ogFormula@  ogCellLinkˆ  ogCommentÈ  ÍogDataÀ€ÿÿCGXEllipseUserAttribute8Î ogSparkline€ogURLˆ  ogTableTag   Í €‰n"Î Column Header;àßã?ÿÿÿ €@� ogColLabel€ ogLongNameÈ  Í ogColFilterH !Í ogDataMask ÿogParam€ ogFootNote €Ç�F_Origin_Default_font_"€€7.000000€7.000000€3.000000€5.000000ogUDLÀ€ÿÿCGXDataÿÿÿÿÿÿÿÿÿÿÿÿÿÿ CGXPropertiesÀÀÀÿÿàßãGridd=Ç Current Cell.ÿÿCGXStyle 1Í Invert Thick.@Invert Thin. Invert Thick. Thin Border. Thick Border. No Border.�``�&&ÿÿÿÿ  !€$D!€$P/$Nÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ  !€ €À¼ $Rÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ(Ìè  %øT$ ø#øø "ø('ø l!& ÿÿCGXDelayedRangePoolÿÿCGXDelayedRange1TÿÿCGXSpanCellPoolÿÿÿÿÿÿÿÿ'€)€1T+€ÿÿÿÿÿÿÿÿ+€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ƒ #dd(>>ÂÿÂÿ__WIPR ( ¸Ú d(  ÿÿÿÿ ƒ #8tœ333333Û?ÞÝÝÝÝݽ?(H>>ÂÿÂÿ__WIOTN ( ¸Ú Hœ333333Û?ÞÝÝÝÝݽ?(H H 2{{{{ÿÿÿÿÿÿÿÿÿÿ  9 A !Q`^ð?ð?I  Sample - Blank nm  : B 9!a Kð?ð?}  650  ; C1 9!a Kð?ð?_  645  < C2 9!a Ið?ð?!  640  D D1 9!a Kð?ð?  635  E D2 9!a Kð?ð?  630  F D3 9!a Eð?ð?  625  G D4 9!a Nð?ð?  620  H D5 9!a Kð?ð?  615  I D6 9!a Kð?ð?  610  J D7 9!a Kð?ð?  605  K D8 9!a Kð?ð?  600  L D9 9!a Kð?ð?  595  M D10 9!a Kð?ð?  590  N D11 9!a Nð?ð?  585  O D12 9!a Rð?ð?  580  P D13 9!a Kð?ð?  575  Q D14 9!a Kð?ð?  570  R D15 9!a Kð?ð?  565  S D16 9!a Kð?ð?  560  T D17 9!a Kð?ð?  555  U D18 9!a Kð?ð?  550  V D19 9!a Kð?ð?  545  W D20 9!a Kð?ð?  540  X D21 9!a Nð?ð?  535  Y D22 9!a Kð?ð?  530  Z D23 9!a Kð?ð?  525  [ D24 9!a Kð?ð?  520  \ D25 9!a Kð?ð?  515  ] D26 9!a Kð?ð?  510  ^ D27 9!a Kð?ð?  505  _ D28 9!a Kð?ð?  500  ` D29 9!a Kð?ð?  495  a D30 9!a Nð?ð?  490  b D31 9!a Nð?ð?  485  c D32 9!a Kð?ð?  480  d D33 9!a Kð?ð?  475  e D34 9!a Kð?ð?  470  f D35 9!a Nð?ð?  465  g D36 9!a Cð?ð?  460  h D37 9!a Cð?ð?  455  i D38 9!a Cð?ð?  450  j D39 9!a Cð?ð?  445  k D40 9!a Cð?ð?  440  l D41 9!a Cð?ð?  435  m D42 9!a Cð?ð?  430  n D43 9!a Cð?ð?  425  o D44 9!a Cð?ð?  420  p D45 9!a Cð?ð?  415  q D46 9!a Cð?ð?  410  r D47 9!a Cð?ð?  405  s D48 9!a Cð?ð?  400  t D49 9!a Cð?ð?  395  u D50 9!a Cð?ð?  390  v D51 9!a Cð?ð?  385  w D52 9!a Cð?ð?  380  x D53 9!a Cð?ð?  375  y D54 9!a Cð?ð?  370  z D55 9!a Cð?ð?  365  { D56 9!a Cð?ð?  360  | D57 9!a Cð?ð?  355  } D58 9!a Cð?ð?  350  ~ D59 9!a Cð?ð?  345   D60 9!a Cð?ð?  340  € D61 9!a Cð?ð?  335  � D62 9!a Cð?ð?  330  ‚ D63 9!a Cð?ð?  325  ƒ D64 9!a Cð?ð?  320  „ D65 9!a Cð?ð?  315  … D66 9!a Cð?ð?  310  † D67 9!a Cð?ð?  305  ‡ D68 9!a Cð?ð?  300  ˆ D69 9!a Cð?ð?  295  ‰ D70 9!a Cð?ð?  290  Š D71 9!a Cð?ð?  285  ‹ D72 9!a Cð?ð?  280  Œ D73 9!a Cð?ð?  275  � D74 9!a Cð?ð?  270  Ž D75 9!a Cð?ð?  265  � D76 9!a Cð?ð?  260  � D77 9!a Cð?ð?  255  ‘ D78 9!a Cð?ð?  250  ’ D79 9!a Cð?ð?  245  “ D80 9!a Cð?ð?  240 i ^@ð?@$@ð?.@JP�q (J€ð?€ ×£= ×£= PdSample - Blank XYZ¸ ÿÿpüÿÿÿüÿÿÿüÿÿÿ{®Gáz´? ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerInfoStorage7 ( ¸Ú :Π™Ùô?@DDÌ?( : @${[0|4|_Storage_Ebdded_pages_Data_|8|834556263]}\0\0\0\0 ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerGridStyle8 ( ¸Ú î Π™Ùô?@DDÌ?( î óÁ}Z@ ÿ²²¡°Sample - Blank XYZÿÿ CGXStylesMapStyles URL Origin TextHotSpot HeaderPicture EMBEDDINGOrigin Text Edit ogDataMask ogFormula ogRowLabelogPrintAreaMask ogComment ogColLabel Column HeaderogURLStandardogHeader ogReplicatesogParam ogLongNameogData ogSparklineogUDL ogCategoriesogEMBED ogFootNote ogCellLink ogSeparatorogUnit ogColFilter ogRowColLabel ogSampleRate Row Header ogTableTag ogLabelogEMBEDˆ !Î Row Header9€(Íàßã?ÿÿÿ ogRowLabel€ ogCategoriesH !Í ogReplicatesogUnit€ogPrintAreaMaskÿÿCGXUserAttributeMapÿÿCGXUserAttribute 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0 ogSampleRate€ogHeaderÿÿCGXFontÇ�P_Origin_Default_font_"€€7.000000€7.000000€5.000000€3.000000 ogSeparator€!Íàßã?ÿÿÿ ÎStandard¿¾û Íÿÿÿ?ÿÿÿ €Ç�Z_Origin_Default_font_" ogLabelúúÈ?ÿÿÿ ogRowColLabel€!Í ogFormula@  ogCellLinkˆ  ogCommentÈ  ÍogDataÀ€ÿÿCGXEllipseUserAttribute8Î ogSparkline€ogURLˆ  ogTableTag   Í €‰n"Î Column Header;àßã?ÿÿÿ €@� ogColLabel€ ogLongNameÈ  Í ogColFilterH !Í ogDataMask ÿogParam€ ogFootNote €Ç�F_Origin_Default_font_"€€7.000000€7.000000€3.000000€5.000000ogUDLÀ€ÿÿCGXDataÿÿÿÿÿÿÿÿÿÿÿÿÿÿ CGXPropertiesÀÀÀÿÿàßãGridd=Ç Current Cell.ÿÿCGXStyle 1Í Invert Thick.@Invert Thin. Invert Thick. Thin Border. Thick Border. No Border.�``�&&ÿÿÿÿ  !€$D!€$P/$Nÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ  !€ €À¼ $Rÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÌü!lÌÿÿCGXDelayedRangePoolÿÿCGXDelayedRange1ÿÿCGXSpanCellPoolÿÿÿÿÿÿÿÿ'€)€1+€ÿÿÿÿÿÿÿÿ+€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ƒ #dd(>>ÂÿÂÿ__WIPR ( ¸Ú d(  ÿÿÿÿ ƒ #8tœ333333Û?ÞÝÝÝÝݽ?(H>>ÂÿÂÿ__WIOTN ( ¸Ú Hœ333333Û?ÞÝÝÝÝݽ?(H H 2{{{{ÿÿÿÿÿÿÿÿÿÿ  = A !Q Jð?ð?  Long Name nm  > B =!a ^ð?ð?G B Sample - Blank nm@${[0|3|SYSTEM|17|1484463613]}[135] [44] 163=0  ? C > a tð?ð?  S1c/R1c Z of Sample - Blank i ^ð?@ð?ð?@�q€ð?€ ×£= ×£= PdAbs Spectra Graphs¸ ÿÿKüÿÿÿüÿÿÿüÿÿÿ{®Gáz´? ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerInfoStorage7 ( ¸Ú :Π™Ùô?@DDÌ?( : @${[0|4|_Storage_Ebdded_pages_Data_|8|834556263]}\0\0\0\0 ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerGridStyle8 ( ¸Ú ¶ Π™Ùô?@DDÌ?( ¶ óÁ}Z@ ÿ²²¡°Abs Spectra Graphsÿÿ CGXStylesMapStyles URL Origin TextHotSpot HeaderPicture EMBEDDINGOrigin Text Edit ogDataMask ogFormula ogRowLabelogPrintAreaMask ogComment ogColLabel Column HeaderogURLStandardogHeader ogReplicatesogParam ogLongNameogData ogSparklineogUDL ogCategoriesogEMBED ogFootNote ogCellLink ogSeparatorogUnit ogColFilter ogRowColLabel ogSampleRate Row Header ogTableTag ogLabelogEMBEDˆ !Î Row Header9€(Íàßã?ÿÿÿ ogRowLabel€ ogCategoriesH !Í ogReplicatesogUnit€ogPrintAreaMaskÿÿCGXUserAttributeMapÿÿCGXUserAttribute 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0 ogSampleRate€ogHeaderÿÿCGXFontÇ�P_Origin_Default_font_"€€7.000000€7.000000€5.000000€3.000000 ogSeparator€!Íàßã?ÿÿÿ ÎStandard¿¾û Íÿÿÿ?ÿÿÿ €Ç�Z_Origin_Default_font_" ogLabelúúÈ?ÿÿÿ ogRowColLabel€!Í ogFormula@  ogCellLinkˆ  ogCommentÈ  ÍogDataÀ€ÿÿCGXEllipseUserAttribute8Î ogSparkline€ogURLˆ  ogTableTag   Í €‰n"Î Column Header;àßã?ÿÿÿ €@� ogColLabel€ ogLongNameÈ  Í ogColFilterH !Í ogDataMask ÿogParam€ ogFootNote €Ç�F_Origin_Default_font_"€€7.000000€7.000000€3.000000€5.000000ogUDLÀ€ÿÿCGXDataÿÿÿÿÿÿÿÿÿÿÿÿÿÿ CGXPropertiesÀÀÀÿÿàßãGridd=Ç Current Cell.ÿÿCGXStyle 1Í Invert Thick.@Invert Thin. Invert Thick. Thin Border. Thick Border. No Border.�``�&&ÿÿÿÿ  !€$D!€$P/$Nÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ  !€ €À¼ $Rÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿCGXDelayedRangePoolÿÿCGXSpanCellPoolÿÿÿÿÿÿÿÿ'€ÿÿCGXDelayedRange)€ÿÿÿÿÿÿÿÿ)€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ƒ #dd(>>ÂÿÂÿ__WIPR ( ¸Ú d(  ÿÿÿÿ ƒ #8tœ333333Û?ÞÝÝÝÝݽ?(H>>ÂÿÂÿ__WIOTN ( ¸Ú |œ333333Û?ÞÝÝÝÝݽ?(H | 2{{{{ÿÿÿÿÿÿÿÿÿÿ i ^ð?@ð?ð?@�q€ð?€ ×£= ×£= PdWaterfall Plot Blank¸ ÿÿ üÿÿÿüÿÿÿüÿÿÿ{®Gáz´? ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerInfoStorage7 ( ¸Ú òΠ™Ùô?@DDÌ?( ò @${[0|4|_Storage_Ebdded_pages_Data_|8|834556263]}\0\0\0\0@${[0|4|TREE|156|496342011]}10\0 ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerGridStyle8 ( ¸Ú Π™Ùô?@DDÌ?( óÁ}Z@ ÿ²²¡°Waterfall Plot Blankÿÿ CGXStylesMapStyles URL Origin TextHotSpot HeaderPicture EMBEDDINGOrigin Text Edit ogDataMask ogFormula ogRowLabelogPrintAreaMask ogComment ogColLabel Column HeaderogURLStandardogHeader ogReplicatesogParam ogLongNameogData ogSparklineogUDL ogCategoriesogEMBED ogFootNote ogCellLink ogSeparatorogUnit ogColFilter ogRowColLabel ogSampleRate Row Header ogTableTag ogLabelogEMBEDˆ !Î Row Header9€(Íàßã?ÿÿÿ ogRowLabel€ ogCategoriesH !Í ogReplicatesogUnit€ogPrintAreaMaskÿÿCGXUserAttributeMapÿÿCGXUserAttribute 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0 ogSampleRate€ogHeaderÿÿCGXFontÇ�P_Origin_Default_font_"€€7.000000€7.000000€5.000000€3.000000 ogSeparator€!Íàßã?ÿÿÿ ÎStandard¿¾û Íÿÿÿ?ÿÿÿ €Ç�Z_Origin_Default_font_" ogLabelúúÈ?ÿÿÿ ogRowColLabel€!Í ogFormula@  ogCellLinkˆ  ogCommentÈ  ÍogDataÀ€ÿÿCGXEllipseUserAttribute8Î ogSparkline€ogURLˆ  ogTableTag   Í €‰n"Î Column Header;àßã?ÿÿÿ €@� ogColLabel€ ogLongNameÈ  Í ogColFilterH !Í ogDataMask ÿogParam€ ogFootNote €Ç�F_Origin_Default_font_"€€7.000000€7.000000€3.000000€5.000000ogUDLÀ€ÿÿCGXDataÿÿÿÿÿÿÿÿÿÿÿÿÿÿ CGXPropertiesÀÀÀÿÿàßãGridd=Ç Current Cell.ÿÿCGXStyle 1Í Invert Thick.@Invert Thin. Invert Thick. Thin Border. Thick Border. No Border.�``�&&ÿÿÿÿ  !€$D!€$P/$Nÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ  !€ €À¼ $Rÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ ½r½½½½½r ½ ½ÿÿCGXDelayedRangePoolÿÿCGXSpanCellPoolÿÿÿÿÿÿÿÿ'€ÿÿCGXDelayedRange)€ÿÿÿÿÿÿÿÿ)€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ƒ #dd(>>ÂÿÂÿ__WIPR ( ¸Ú d(  ÿÿÿÿ ƒ #8tœ333333Û?ÞÝÝÝÝݽ?(H>>ÂÿÂÿ__WIOTN ( ¸Ú |œ333333Û?ÞÝÝÝÝݽ?(H | 2{{{{ÿÿÿÿÿÿÿÿÿÿ i ^ð?@ð?ð?@�q€ð?€ ×£= ×£= PdWaterfall Plot Sample¸ ÿÿcüÿÿÿüÿÿÿüÿÿÿ{®Gáz´? ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerInfoStorage7 ( ¸Ú óΠ™Ùô?@DDÌ?( ó @${[0|4|_Storage_Ebdded_pages_Data_|8|834556263]}\0\0\0\0@${[0|4|TREE|157|830402170]}140\0 ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerGridStyle8 ( ¸Ú  Π™Ùô?@DDÌ?(  óÁ}Z@ ÿ²²¡°Waterfall Plot Sampleÿÿ CGXStylesMapStyles URL Origin TextHotSpot HeaderPicture EMBEDDINGOrigin Text Edit ogDataMask ogFormula ogRowLabelogPrintAreaMask ogComment ogColLabel Column HeaderogURLStandardogHeader ogReplicatesogParam ogLongNameogData ogSparklineogUDL ogCategoriesogEMBED ogFootNote ogCellLink ogSeparatorogUnit ogColFilter ogRowColLabel ogSampleRate Row Header ogTableTag ogLabelogEMBEDˆ !Î Row Header9€(Íàßã?ÿÿÿ ogRowLabel€ ogCategoriesH !Í ogReplicatesogUnit€ogPrintAreaMaskÿÿCGXUserAttributeMapÿÿCGXUserAttribute 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0 ogSampleRate€ogHeaderÿÿCGXFontÇ�P_Origin_Default_font_"€€7.000000€7.000000€5.000000€3.000000 ogSeparator€!Íàßã?ÿÿÿ ÎStandard¿¾û Íÿÿÿ?ÿÿÿ €Ç�Z_Origin_Default_font_" ogLabelúúÈ?ÿÿÿ ogRowColLabel€!Í ogFormula@  ogCellLinkˆ  ogCommentÈ  ÍogDataÀ€ÿÿCGXEllipseUserAttribute8Î ogSparkline€ogURLˆ  ogTableTag   Í €‰n"Î Column Header;àßã?ÿÿÿ €@� ogColLabel€ ogLongNameÈ  Í ogColFilterH !Í ogDataMask ÿogParam€ ogFootNote €Ç�F_Origin_Default_font_"€€7.000000€7.000000€3.000000€5.000000ogUDLÀ€ÿÿCGXDataÿÿÿÿÿÿÿÿÿÿÿÿÿÿ CGXPropertiesÀÀÀÿÿàßãGridd=Ç Current Cell.ÿÿCGXStyle 1Í Invert Thick.@Invert Thin. Invert Thick. Thin Border. Thick Border. No Border.�``�&&ÿÿÿÿ  !€$D!€$P/$Nÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ  !€ €À¼ $Rÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ ½r½½½½½r ½ ½ÿÿCGXDelayedRangePoolÿÿCGXSpanCellPoolÿÿÿÿÿÿÿÿ'€ÿÿCGXDelayedRange)€ÿÿÿÿÿÿÿÿ)€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ƒ #dd(>>ÂÿÂÿ__WIPR ( ¸Ú d(  ÿÿÿÿ ƒ #8tœ333333Û?ÞÝÝÝÝݽ?(H>>ÂÿÂÿ__WIOTN ( ¸Ú |œ333333Û?ÞÝÝÝÝݽ?(H | 2{{{{ÿÿÿÿÿÿÿÿÿÿ i ^ð?@ð?ð?@�q€ð?€ ×£= ×£= PdSample - Blank Waterfall Plot¸ ÿÿdüÿÿÿüÿÿÿüÿÿÿ {®Gáz´? ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerInfoStorage7 ( ¸Ú 5Π™Ùô?@DDÌ?( 5 @${[0|4|_Storage_Ebdded_pages_Data_|8|834556263]}\0\0\0\0@${[0|4|TREE|222|2107462884]}71516\0 ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerGridStyle8 ( ¸Ú Π™Ùô?@DDÌ?( óÁ}Z@ ÿ²²¡°Sample - Blank Waterfall Plotÿÿ CGXStylesMapStyles URL Origin TextHotSpot HeaderPicture EMBEDDINGOrigin Text Edit ogDataMask ogFormula ogRowLabelogPrintAreaMask ogComment ogColLabel Column HeaderogURLStandardogHeader ogReplicatesogParam ogLongNameogData ogSparklineogUDL ogCategoriesogEMBED ogFootNote ogCellLink ogSeparatorogUnit ogColFilter ogRowColLabel ogSampleRate Row Header ogTableTag ogLabelogEMBEDˆ !Î Row Header9€(Íàßã?ÿÿÿ ogRowLabel€ ogCategoriesH !Í ogReplicatesogUnit€ogPrintAreaMaskÿÿCGXUserAttributeMapÿÿCGXUserAttribute 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0 ogSampleRate€ogHeaderÿÿCGXFontÇ�P_Origin_Default_font_"€€7.000000€7.000000€5.000000€3.000000 ogSeparator€!Íàßã?ÿÿÿ ÎStandard¿¾û Íÿÿÿ?ÿÿÿ €Ç�Z_Origin_Default_font_" ogLabelúúÈ?ÿÿÿ ogRowColLabel€!Í ogFormula@  ogCellLinkˆ  ogCommentÈ  ÍogDataÀ€ÿÿCGXEllipseUserAttribute8Î ogSparkline€ogURLˆ  ogTableTag   Í €‰n"Î Column Header;àßã?ÿÿÿ €@� ogColLabel€ ogLongNameÈ  Í ogColFilterH !Í ogDataMask ÿogParam€ ogFootNote €Ç�F_Origin_Default_font_"€€7.000000€7.000000€3.000000€5.000000ogUDLÀ€ÿÿCGXDataÿÿÿÿÿÿÿÿÿÿÿÿÿÿ CGXPropertiesÀÀÀÿÿàßãGridd=Ç Current Cell.ÿÿCGXStyle 1Í Invert Thick.@Invert Thin. Invert Thick. Thin Border. Thick Border. No Border.�``�&&ÿÿÿÿ  !€$D!€$P/$Nÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ  !€ €À¼ $Rÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ ½r½½½½½r ½ ½ÿÿCGXDelayedRangePoolÿÿCGXSpanCellPoolÿÿÿÿÿÿÿÿ'€ÿÿCGXDelayedRange)€ÿÿÿÿÿÿÿÿ)€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ƒ #dd(>>ÂÿÂÿ__WIPR ( ¸Ú d(  ÿÿÿÿ ƒ #8tœ333333Û?ÞÝÝÝÝݽ?(H>>ÂÿÂÿ__WIOTN ( ¸Ú |œ333333Û?ÞÝÝÝÝݽ?(H | 2{{{{ÿÿÿÿÿÿÿÿÿÿ i ^ð?@ð?ð?@�q€ð?€ ×£= ×£= PdSample - Blank Contour Plot¸ ÿÿeüÿÿÿüÿÿÿüÿÿÿ{®Gáz´? ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerInfoStorage7 ( ¸Ú :Π™Ùô?@DDÌ?( : @${[0|4|_Storage_Ebdded_pages_Data_|8|834556263]}\0\0\0\0 ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerGridStyle8 ( ¸Ú  Π™Ùô?@DDÌ?(  óÁ}Z@ ÿ²²¡°Sample - Blank Contour Plotÿÿ CGXStylesMapStyles URL Origin TextHotSpot HeaderPicture EMBEDDINGOrigin Text Edit ogDataMask ogFormula ogRowLabelogPrintAreaMask ogComment ogColLabel Column HeaderogURLStandardogHeader ogReplicatesogParam ogLongNameogData ogSparklineogUDL ogCategoriesogEMBED ogFootNote ogCellLink ogSeparatorogUnit ogColFilter ogRowColLabel ogSampleRate Row Header ogTableTag ogLabelogEMBEDˆ !Î Row Header9€(Íàßã?ÿÿÿ ogRowLabel€ ogCategoriesH !Í ogReplicatesogUnit€ogPrintAreaMaskÿÿCGXUserAttributeMapÿÿCGXUserAttribute 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0 ogSampleRate€ogHeaderÿÿCGXFontÇ�P_Origin_Default_font_"€€7.000000€7.000000€5.000000€3.000000 ogSeparator€!Íàßã?ÿÿÿ ÎStandard¿¾û Íÿÿÿ?ÿÿÿ €Ç�Z_Origin_Default_font_" ogLabelúúÈ?ÿÿÿ ogRowColLabel€!Í ogFormula@  ogCellLinkˆ  ogCommentÈ  ÍogDataÀ€ÿÿCGXEllipseUserAttribute8Î ogSparkline€ogURLˆ  ogTableTag   Í €‰n"Î Column Header;àßã?ÿÿÿ €@� ogColLabel€ ogLongNameÈ  Í ogColFilterH !Í ogDataMask ÿogParam€ ogFootNote €Ç�F_Origin_Default_font_"€€7.000000€7.000000€3.000000€5.000000ogUDLÀ€ÿÿCGXDataÿÿÿÿÿÿÿÿÿÿÿÿÿÿ CGXPropertiesÀÀÀÿÿàßãGridd=Ç Current Cell.ÿÿCGXStyle 1Í Invert Thick.@Invert Thin. Invert Thick. Thin Border. Thick Border. No Border.�``�&&ÿÿÿÿ  !€$D!€$P/$Nÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ  !€ €À¼ $Rÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ lr½½½½½r ½ ½ÿÿCGXDelayedRangePoolÿÿCGXSpanCellPoolÿÿÿÿÿÿÿÿ'€ÿÿCGXDelayedRange)€ÿÿÿÿÿÿÿÿ)€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ƒ #dd(>>ÂÿÂÿ__WIPR ( ¸Ú d(  ÿÿÿÿ ƒ #8tœ333333Û?ÞÝÝÝÝݽ?(H>>ÂÿÂÿ__WIOTN ( ¸Ú |œ333333Û?ÞÝÝÝÝݽ?(H | 2{{{{ÿÿÿÿÿÿÿÿÿÿ i ^ð?@ð?ð?@�q€ð?€ ×£= ×£= PdProcessed Graph: IFE¸ ÿÿL üÿÿÿüÿÿÿüÿÿÿ{®Gáz´? ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerInfoStorage7 ( ¸Ú �Π™Ùô?@DDÌ?( � @${[0|4|_Storage_Ebdded_pages_Data_|8|834556263]}\0\0\0\0@${[0|4|TREE|299|864982011]}222316Sample - Blank Waterfall Plot\0 ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerGridStyle8 ( ¸Ú Π™Ùô?@DDÌ?( óÁ}Z@ ÿ²²¡°Processed Graph: IFEÿÿ CGXStylesMapStyles URL Origin TextHotSpot HeaderPicture EMBEDDINGOrigin Text Edit ogDataMask ogFormula ogRowLabelogPrintAreaMask ogComment ogColLabel Column HeaderogURLStandardogHeader ogReplicatesogParam ogLongNameogData ogSparklineogUDL ogCategoriesogEMBED ogFootNote ogCellLink ogSeparatorogUnit ogColFilter ogRowColLabel ogSampleRate Row Header ogTableTag ogLabelogEMBEDˆ !Î Row Header9€(Íàßã?ÿÿÿ ogRowLabel€ ogCategoriesH !ÍogUnit€ ogReplicates ogSampleRate€ogPrintAreaMaskÿÿCGXUserAttributeMapÿÿCGXUserAttribute 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0 ogSeparator€!Íàßã?ÿÿÿogHeaderÿÿCGXFontÇ�P_Origin_Default_font_"€€7.000000€7.000000€5.000000€3.000000 ÎStandard¿¾û Íÿÿÿ?ÿÿÿ €Ç�Z_Origin_Default_font_" ogLabelúúÈ?ÿÿÿ ogRowColLabel€!Í ogFormula@  ogCommentÈ  Í ogCellLinkˆ  ogSparkline€ogDataÀ€ÿÿCGXEllipseUserAttribute8Î ogTableTag   Í €‰nogURLˆ "Î Column Header;àßã?ÿÿÿ €@� ogColLabel€ ogLongNameÈ  Í ogColFilterH !ÍogParam€ ogDataMask ÿogUDLÀ€ ogFootNote €Ç�F_Origin_Default_font_"€€7.000000€7.000000€3.000000€5.000000ÿÿCGXDataÿÿÿÿÿÿÿÿÿÿÿÿÿÿ CGXPropertiesÀÀÀÿÿàßãGridd=Ç Current Cell.ÿÿCGXStyle 1Í Invert Thick.@Invert Thin. Invert Thick. Thin Border. Thick Border. No Border.�``�&&ÿÿÿÿ  !€$D!€$P/$Nÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ  !€ €À¼ $Rÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ ½r½½½½½r ½ ½ÿÿCGXDelayedRangePoolÿÿCGXSpanCellPoolÿÿÿÿÿÿÿÿ'€ÿÿCGXDelayedRange)€ÿÿÿÿÿÿÿÿ)€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ƒ #dd(>>ÂÿÂÿ__WIPR ( ¸Ú d(  ÿÿÿÿ ƒ #8tœ333333Û?ÞÝÝÝÝݽ?(H>>ÂÿÂÿ__WIOTN ( ¸Ú |œ333333Û?ÞÝÝÝÝݽ?(H | 2{{{{ÿÿÿÿÿÿÿÿÿÿ i ^4@ð?T@"@ð?.@JP�q (J€ð?€ ×£= ×£= PdProcessed Data: IFE¸ ² üÿÿÿüÿÿÿüÿÿÿ{®Gáz´?T ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerInfoStorage7 ( ¸Ú :Π™Ùô?@DDÌ?( : @${[0|4|_Storage_Ebdded_pages_Data_|8|834556263]}\0\0\0\0 ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerGridStyle8 ( ¸Ú % Π™Ùô?@DDÌ?( % óÁ}Z‘@ ÿ²²¡°Processed Data: IFEÿÿ CGXStylesMapStyles URL Origin TextHotSpot HeaderPicture EMBEDDINGOrigin Text Edit ogDataMask ogFormula ogRowLabelogPrintAreaMask ogComment ogColLabel Column HeaderogURLStandardogHeader ogReplicatesogParam ogLongNameogData ogSparklineogUDL ogCategoriesogEMBED ogFootNote ogCellLink ogSeparatorogUnit ogColFilter ogRowColLabel ogSampleRate Row Header ogTableTag ogLabelogEMBEDˆ !Î Row Header9€(Íàßã?ÿÿÿ ogRowLabel€ ogCategoriesH !ÍogUnit€ ogReplicates ogSampleRate€ogPrintAreaMaskÿÿCGXUserAttributeMapÿÿCGXUserAttribute 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0 ogSeparator€!Íàßã?ÿÿÿogHeaderÿÿCGXFontÇ�P_Origin_Default_font_"€€7.000000€7.000000€5.000000€3.000000 ÎStandard¿¾û Íÿÿÿ?ÿÿÿ €Ç�Z_Origin_Default_font_" ogLabelúúÈ?ÿÿÿ ogRowColLabel€!Í ogFormula@  ogCommentÈ  Í ogCellLinkˆ  ogSparkline€ogDataÀ€ÿÿCGXEllipseUserAttribute8Î ogTableTag   Í €‰nogURLˆ "Î Column Header;àßã?ÿÿÿ €@� ogColLabel€ ogLongNameÈ  Í ogColFilterH !ÍogParam€ ogDataMask ÿogUDLÀ€ ogFootNote €Ç�F_Origin_Default_font_"€€7.000000€7.000000€3.000000€5.000000ÿÿCGXDataÿÿÿÿÿÿÿÿÿÿÿÿÿÿ CGXPropertiesÀÀÀÿÿàßãGridd=Ç Current Cell.ÿÿCGXStyle 1Í Invert Thick.@Invert Thin. Invert Thick. Thin Border. Thick Border. No Border.�``�&&ÿÿÿÿ  !€$D!€$P/$Nÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ  !€ €À¼ $Rÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ(Ìè % øT$ ø#øø "ø('ø l!& ÿÿCGXDelayedRangePoolÿÿCGXDelayedRange2TÿÿCGXSpanCellPoolÿÿÿÿÿÿÿÿ'€)€2T+€ÿÿÿÿÿÿÿÿ+€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ƒ ¸?BÔAÔÁ¿>>ÂÿÂÿA  i ƒ #dd(>>ÂÿÂÿ__WIPR ( ¸Ú d(  ÿÿÿÿ ƒ #8tœ333333Û?ÞÝÝÝÝݽ?(H>>ÂÿÂÿ__WIOTN ( ¸Ú Hœ333333Û?ÞÝÝÝÝݽ?(H H 2{{{{ÿÿÿÿÿÿÿÿÿÿ  ” .A !Q ^ð?ð?°   Sample - Blank nm  • B ”!a Kð?ð?µ  650  – C1 ”!a Kð?ð?¸  645  — C2 ”!a Ið?ð?·  640  ˜ D1 ”!a Kð?ð?  635  ™ D2 ”!a Kð?ð?  630  š D3 ”!a Eð?ð?  625  › D4 ”!a Nð?ð?  620  œ D5 ”!a Kð?ð?  615  � D6 ”!a Kð?ð?  610  ž D7 ”!a Kð?ð?  605  Ÿ D8 ”!a Kð?ð?  600    D9 ”!a Kð?ð?  595  ¡ D10 ”!a Kð?ð?  590  ¢ D11 ”!a Nð?ð?  585  £ D12 ”!a`Rð?ð?  580  ¤ D13 ”!a Kð?ð?  575  ¥ D14 ”!a Kð?ð?  570  ¦ D15 ”!a Kð?ð?  565  § D16 ”!a Kð?ð?  560  ¨ D17 ”!a Kð?ð?  555  © D18 ”!a Kð?ð?  550  ª D19 ”!a Kð?ð?  545  « D20 ”!a Kð?ð?  540  ¬ D21 ”!a Nð?ð?  535  ­ D22 ”!a Kð?ð?  530  ® D23 ”!a Kð?ð?  525  ¯ D24 ”!a Kð?ð?  520  ° D25 ”!a Kð?ð?  515  ± D26 ”!a Kð?ð?  510  ² D27 ”!a Kð?ð?  505  ³ D28 ”!a Kð?ð?  500  ´ D29 ”!a Kð?ð?  495  µ D30 ”!a Nð?ð?  490  ¶ D31 ”!a Nð?ð?  485  · D32 ”!a Kð?ð?  480  ¸ D33 ”!a Kð?ð?  475  ¹ D34 ”!a Kð?ð?  470  º D35 ”!a Nð?ð?  465  » D36 ”!a Cð?ð?  460  ¼ D37 ”!a Cð?ð?  455  ½ D38 ”!a Cð?ð?  450  ¾ D39 ”!a Cð?ð?  445  ¿ D40 ”!a Cð?ð?  440  À D41 ”!a Cð?ð?  435  Á D42 ”!a Cð?ð?  430   D43 ”!a Cð?ð?  425  à D44 ”!a Cð?ð?  420  Ä D45 ”!a Cð?ð?  415  Å D46 ”!a Cð?ð?  410  Æ D47 ”!a Cð?ð?  405  Ç D48 ”!a Cð?ð?  400  È D49 ”!a Cð?ð?  395  É D50 ”!a Cð?ð?  390  Ê D51 ”!a Cð?ð?  385  Ë D52 ”!a Cð?ð?  380  Ì D53 ”!a Cð?ð?  375  Í D54 ”!a Cð?ð?  370  Î D55 ”!a Cð?ð?  365  Ï D56 ”!a Cð?ð?  360  Ð D57 ”!a Cð?ð?  355  Ñ D58 ”!a Cð?ð?  350  Ò D59 ”!a Cð?ð?  345  Ó D60 ”!a Cð?ð?  340  Ô D61 ”!a Cð?ð?  335  Õ D62 ”!a Cð?ð?  330  Ö D63 ”!a Cð?ð?  325  × D64 ”!a Cð?ð?  320  Ø D65 ”!a Cð?ð?  315  Ù D66 ”!a Cð?ð?  310  Ú D67 ”!a Cð?ð?  305  Û D68 ”!a Cð?ð?  300  Ü D69 ”!a Cð?ð?  295  Ý D70 ”!a Cð?ð?  290  Þ D71 ”!a Cð?ð?  285  ß D72 ”!a Cð?ð?  280  à D73 ”!a Cð?ð?  275  á D74 ”!a Cð?ð?  270  â D75 ”!a Cð?ð?  265  ã D76 ”!a Cð?ð?  260  ä D77 ”!a Cð?ð?  255  å D78 ”!a Cð?ð?  250  æ D79 ”!a Cð?ð?  245  ç D80 ”!a Cð?ð?  240 i ^@ð?@$@ð?.@JP�q (J€ð?€ ×£= ×£= PdProcessed XYZ: IFE¸ ¼ üÿÿÿüÿÿÿüÿÿÿ{®Gáz´? ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerInfoStorage7 ( ¸Ú :Π™Ùô?@DDÌ?( : @${[0|4|_Storage_Ebdded_pages_Data_|8|834556263]}\0\0\0\0 ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerGridStyle8 ( ¸Ú  Π™Ùô?@DDÌ?(  óÁ}Z@ ÿ²²¡°Processed XYZ: IFEÿÿ CGXStylesMapStyles URL Origin TextHotSpot HeaderPicture EMBEDDINGOrigin Text Edit ogDataMask ogFormula ogRowLabelogPrintAreaMask ogComment ogColLabel Column HeaderogURLStandardogHeader ogReplicatesogParam ogLongNameogData ogSparklineogUDL ogCategoriesogEMBED ogFootNote ogCellLink ogSeparatorogUnit ogColFilter ogRowColLabel ogSampleRate Row Header ogTableTag ogLabelogEMBEDˆ !Î Row Header9€(Íàßã?ÿÿÿ ogRowLabel€ ogCategoriesH !ÍogUnit€ ogReplicates ogSampleRate€ogPrintAreaMaskÿÿCGXUserAttributeMapÿÿCGXUserAttribute 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0 ogSeparator€!Íàßã?ÿÿÿogHeaderÿÿCGXFontÇ�P_Origin_Default_font_"€€7.000000€7.000000€5.000000€3.000000 ÎStandard¿¾û Íÿÿÿ?ÿÿÿ €Ç�Z_Origin_Default_font_" ogLabelúúÈ?ÿÿÿ ogRowColLabel€!Í ogFormula@  ogCommentÈ  Í ogCellLinkˆ  ogSparkline€ogDataÀ€ÿÿCGXEllipseUserAttribute8Î ogTableTag   Í €‰nogURLˆ "Î Column Header;àßã?ÿÿÿ €@� ogColLabel€ ogLongNameÈ  Í ogColFilterH !ÍogParam€ ogDataMask ÿogUDLÀ€ ogFootNote €Ç�F_Origin_Default_font_"€€7.000000€7.000000€3.000000€5.000000ÿÿCGXDataÿÿÿÿÿÿÿÿÿÿÿÿÿÿ CGXPropertiesÀÀÀÿÿàßãGridd=Ç Current Cell.ÿÿCGXStyle 1Í Invert Thick.@Invert Thin. Invert Thick. Thin Border. Thick Border. No Border.�``�&&ÿÿÿÿ  !€$D!€$P/$Nÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ  !€ €À¼ $Rÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ(Ìè % øT$ ø#øø "ø('ø l!& ÿÿCGXDelayedRangePoolÿÿCGXDelayedRange1ÿÿCGXSpanCellPoolÿÿÿÿÿÿÿÿ'€)€1+€ÿÿÿÿÿÿÿÿ+€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ƒ #dd(>>ÂÿÂÿ__WIPR ( ¸Ú d(  ÿÿÿÿ ƒ #8tœ333333Û?ÞÝÝÝÝݽ?(H>>ÂÿÂÿ__WIOTN ( ¸Ú Hœ333333Û?ÞÝÝÝÝݽ?(H H 2{{{{ÿÿÿÿÿÿÿÿÿÿ  è A !Q`^ð?ð?º  EX nm  é B è!a Kð?ð?¿ / EM nm@${[0|3|SYSTEM|11|480197856]}[44] 163=0  ê C é a Kð?ð?  Z of Processed Data: IFE i ^ð?@ð?ð?@�q€ð?€ ×£= ×£= PdProcessed Contour: IFE¸ Ä üÿÿÿüÿÿÿüÿÿÿ{®Gáz´? ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerInfoStorage7 ( ¸Ú 5Π™Ùô?@DDÌ?( 5 @${[0|4|_Storage_Ebdded_pages_Data_|8|834556263]}\0\0\0\0@${[0|4|TREE|222|2107462884]}71516\0 ƒ #Bj¦Π™Ùô?@DDÌ?(>>ÂÿÂÿ__LayerGridStyle8 ( ¸Ú Π™Ùô?@DDÌ?( óÁ}Z@ ÿ²²¡°Processed Contour: IFEÿÿ CGXStylesMapStyles URL Origin TextHotSpot HeaderPicture EMBEDDINGOrigin Text Edit ogDataMask ogFormula ogRowLabelogPrintAreaMask ogComment ogColLabel Column HeaderogURLStandardogHeader ogReplicatesogParam ogLongNameogData ogSparklineogUDL ogCategoriesogEMBED ogFootNote ogCellLink ogSeparatorogUnit ogColFilter ogRowColLabel ogSampleRate Row Header ogTableTag ogLabelogEMBEDˆ !Î Row Header9€(Íàßã?ÿÿÿ ogRowLabel€ ogCategoriesH !ÍogUnit€ ogReplicates ogSampleRate€ogPrintAreaMaskÿÿCGXUserAttributeMapÿÿCGXUserAttribute 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0€ 2 10 0 0 0 0 ogSeparator€!Íàßã?ÿÿÿogHeaderÿÿCGXFontÇ�P_Origin_Default_font_"€€7.000000€7.000000€5.000000€3.000000 ÎStandard¿¾û Íÿÿÿ?ÿÿÿ €Ç�Z_Origin_Default_font_" ogLabelúúÈ?ÿÿÿ ogRowColLabel€!Í ogFormula@  ogCommentÈ  Í ogCellLinkˆ  ogSparkline€ogDataÀ€ÿÿCGXEllipseUserAttribute8Î ogTableTag   Í €‰nogURLˆ "Î Column Header;àßã?ÿÿÿ €@� ogColLabel€ ogLongNameÈ  Í ogColFilterH !ÍogParam€ ogDataMask ÿogUDLÀ€ ogFootNote €Ç�F_Origin_Default_font_"€€7.000000€7.000000€3.000000€5.000000ÿÿCGXDataÿÿÿÿÿÿÿÿÿÿÿÿÿÿ CGXPropertiesÀÀÀÿÿàßãGridd=Ç Current Cell.ÿÿCGXStyle 1Í Invert Thick.@Invert Thin. Invert Thick. Thin Border. Thick Border. No Border.�``�&&ÿÿÿÿ  !€$D!€$P/$Nÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ  !€ €À¼ $Rÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ lr½½½½½r ½ ½ÿÿCGXDelayedRangePoolÿÿCGXSpanCellPoolÿÿÿÿÿÿÿÿ'€ÿÿCGXDelayedRange)€ÿÿÿÿÿÿÿÿ)€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ƒ #dd(>>ÂÿÂÿ__WIPR ( ¸Ú d(  ÿÿÿÿ ƒ #8tœ333333Û?ÞÝÝÝÝݽ?(H>>ÂÿÂÿ__WIOTN ( ¸Ú |œ333333Û?ÞÝÝÝÝݽ?(H | 2{{{{ÿÿÿÿÿÿÿÿÿÿ IFILE @ ERR JYOBUSY ð? JYRBUSY ð? JYDSBUSY JYBBUSY ð? P ResultsLog ¯ [3/27/2026 14:39:07 "" (2461126)] [3/31/2026 11:28:47 "" (2461130)]    Þ6 $ë\¶�½BA¨÷ñVæÆBA  bar  $ G c MG@${[0|4|FolderLastUsed|33|2278516735]}\0       � /bar/00[JYIFE1]Sheet1!E[JYIFE1]Sheet1!(A,B)013.982259079770835e-006[JYIFE1]Sheet1!F[DfAqDDD3]"Processed Data: IFE"!020Long Name010[DfAqDDD3]"Processed XYZ: IFE"!(A"Long Name",B"Sample - Blank",C"645")/bar/[DfAqDDD9]"Sample - Blank XYZ"!1.525.-1.-1.08000<__XF>wclear ² @${[0|4|3537|49|602509819]}@${[0|3|SYSTEM|15|3913479034]}[135]\A153={""}\A\0@${[0|4|3536|55|507984739]}@${[0|3|SYSTEM|20|2018973560]}[135]\A153={""}\A5=""\A\0@${[0|4|2213|54|1614253819]}@${[0|3|SYSTEM|20|308526560]}[135]\A136={}\A153={}\A\0@${[0|4|2189|54|3122782463]}@${[0|3|SYSTEM|20|308526560]}[135]\A136={}\A153={}\A\0@${[0|4|2130|47|2411961214]}@${[0|3|SYSTEM|13|2928021112]}[135]\A136={}\A\0@${[0|4|2172|57|3328897273]}@${[0|3|SYSTEM|22|2888754943]}[135]\A153={""}\A136={}\A\0@${[0|4|2357|49|2465295226]}@${[0|3|SYSTEM|15|3913479034]}[135]\A153={""}\A\0@${[0|4|2223|49|1744686439]}@${[0|3|SYSTEM|15|3913479034]}[135]\A153={""}\A\0@${[0|4|2265|49|3578073464]}@${[0|3|SYSTEM|15|3913479034]}[135]\A153={""}\A\0@${[0|4|2283|54|2417140067]}@${[0|3|SYSTEM|20|308526560]}[135]\A136={}\A153={}\A\0@${[0|4|2371|54|2240641279]}@${[0|3|SYSTEM|20|308526560]}[135]\A136={}\A153={}\A\0@${[0|4|2067|47|926402018]}@${[0|3|SYSTEM|13|2928021112]}[135]\A136={}\A\0@${[0|4|2301|47|586923488]}@${[0|3|SYSTEM|13|2928021112]}[135]\A136={}\A\0@${[0|4|2269|54|2317586552]}@${[0|3|SYSTEM|20|308526560]}[135]\A136={}\A153={}\A\0@${[0|4|2285|54|1902695396]}@${[0|3|SYSTEM|20|308526560]}[135]\A136={}\A153={}\A\0@${[0|4|2331|54|1471610492]}@${[0|3|SYSTEM|20|308526560]}[135]\A136={}\A153={}\A\0@${[0|4|2323|47|1109120996]}@${[0|3|SYSTEM|13|2928021112]}[135]\A136={}\A\0@${[0|4|2193|57|2634009959]}@${[0|3|SYSTEM|22|2888754943]}[135]\A153={""}\A136={}\A\0@${[0|4|2328|49|4233551713]}@${[0|3|SYSTEM|15|3913479034]}[135]\A153={""}\A\0@${[0|4|2334|49|1209344611]}@${[0|3|SYSTEM|15|3913479034]}[135]\A153={""}\A\0@${[0|4|2119|49|3000251493]}@${[0|3|SYSTEM|15|3913479034]}[135]\A153={""}\A\0@${[0|4|2140|49|1198170979]}@${[0|3|SYSTEM|15|3913479034]}[135]\A153={""}\A\0@${[0|4|2187|49|2415079910]}@${[0|3|SYSTEM|15|3913479034]}[135]\A153={""}\A\0@${[0|4|2152|49|2154067449]}@${[0|3|SYSTEM|15|3913479034]}[135]\A153={""}\A\0@${[0|4|2290|49|3045328766]}@${[0|3|SYSTEM|15|3913479034]}[135]\A153={""}\A\0  % "� (j3&('†‡Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('Ö‡Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&(':.Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&8'é...�34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('9 >Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('É>Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&(' >Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('8 Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('$ Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&(' Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('z4Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&8'ß444�34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&(' #Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('N#Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('Ž#Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('×Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&0'–#34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('”Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&0'›#34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('ÊÅ34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('üÅ34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&(' Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&0'> #34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&8'„�34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&8'^�34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&0',#34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&8'& �34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&8'¿�34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&@'ù ß34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&0'™#34 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('¸Å34 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('äÅ34 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&0'0 #34 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&0'S#34 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&0'q#34 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&0'< #34 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&0'- #34 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&0'²#34 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&0'#34 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&0'§#34 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&0'î#34 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&@'ç ß34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&8'n�34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&0'F #34 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&(' Å34 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&0'ó#34 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('ÜÅ34 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&0'a#34 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('g+Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&0'E ++#34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('Ò+Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&0'*++#34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('6 +Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&(' +Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('v+Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&0'¶++#34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&8'€+++�34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&8'3+++�34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&0'L++#34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&8'°+++�34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&8'r+++�34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&@'Q ++++ß34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&@' ++++ß34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&8'`+++�34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&(' ]Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('2 ]Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('MÅ34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('©Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('BÅ34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('“Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&(' Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('3 Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&@'à ß34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('­Å34 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('7 #Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&0'ô#34 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&0'H #34 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&8' 444�34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&(' 4Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&8'Ø...�34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('-.Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('ÇÅ34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('"#Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&(' #Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('ȇÅ34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('12Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('‚Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&0' ]]#34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('Û]Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('+ TÅ34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&H'o(#ppp=3 4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&0'* #34 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4 ÿÿÿÿ X4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&H'ÿ(+++++=3 4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&8'V+++�34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&H' (#ppp=3 4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS4ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('¶ ² Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('´ ² Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('³ ² Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('± ² Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('À ¼ Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('¾ ¼ Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('½ ¼ Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾3&('» ¼ Å34ÿÿÿÿX4ÿ5eÄÿ5eÄÿ5eÄÿ5eÄS ¾¾   >   ] liborigin-3.0.4/tests/examples/PaxHeaders/2folder-with-graphs.opj.out.orig0000644000000000000000000000013115223443210023574 xustar0030 mtime=1783514760.864652588 29 atime=1783514854.87209672 30 ctime=1783607690.177524378 liborigin-3.0.4/tests/examples/2folder-with-graphs.opj.out.orig0000644000175000001440000000142215223443210025240 0ustar00dozentusers00000000000000opj2dat 3.0.3, Copyright (C) 2008-2024 Stefan Gerlach, 2017 Miquel Garriga Project has 4 windows. Origin project Tree 2folder-with-graphs 2022-01-15 17:31:39 Parsing status = 1 OPJ PROJECT "examples/2folder-with-graphs.opj" VERSION = 9.85 number of datasets = 4 number of spreadsheets = 2 number of matrices = 0 number of excels = 0 number of functions = 0 number of graphs = 2 number of notes = 0 Spreadsheet 1 Name: Book1 Label: Columns: 2 Column 1 : A / type : 0, rows : 32 Column 2 : B / type : 1, rows : 32 saved to examples/2folder-with-graphs.opj.1.dat AB Data: Spreadsheet 2 Name: Book2 Label: Columns: 2 Column 1 : A / type : 0, rows : 32 Column 2 : B / type : 1, rows : 32 saved to examples/2folder-with-graphs.opj.2.dat AB Data: liborigin-3.0.4/tests/examples/PaxHeaders/data+graph-7.0.opj.out.orig0000644000000000000000000000013215223443210022315 xustar0030 mtime=1783514760.888652446 30 atime=1783514854.888096625 30 ctime=1783607690.177524378 liborigin-3.0.4/tests/examples/data+graph-7.0.opj.out.orig0000644000175000001440000000111515223443210023757 0ustar00dozentusers00000000000000opj2dat 3.0.3, Copyright (C) 2008-2024 Stefan Gerlach, 2017 Miquel Garriga Project has 2 windows. Origin project Tree data+graph-7.0 2006-04-29 17:26:12 Parsing status = 1 OPJ PROJECT "examples/data+graph-7.0.opj" VERSION = 7 number of datasets = 2 number of spreadsheets = 1 number of matrices = 0 number of excels = 0 number of functions = 0 number of graphs = 1 number of notes = 0 Spreadsheet 1 Name: Data1 Label: Columns: 2 Column 1 : A / type : 0, rows : 30 Column 2 : B / type : 1, rows : 30 saved to examples/data+graph-7.0.opj.1.dat AB Data: liborigin-3.0.4/tests/examples/PaxHeaders/crash.opj.out.orig0000644000000000000000000000013215223443566021123 xustar0030 mtime=1783514998.999244478 30 atime=1783515003.195219666 30 ctime=1783607690.177524378 liborigin-3.0.4/tests/examples/crash.opj.out.orig0000644000175000001440000000061715223443566022573 0ustar00dozentusers00000000000000opj2dat 3.0.3, Copyright (C) 2008-2024 Stefan Gerlach, 2017 Miquel Garriga Project has 1 windows. Origin project Tree bar 2013-01-31 10:11:35 Parsing status = 1 OPJ PROJECT "examples/crash.opj" VERSION = 9.3 number of datasets = 746 number of spreadsheets = 0 number of matrices = 0 number of excels = 1 number of functions = 0 number of graphs = 0 number of notes = 0 liborigin-3.0.4/tests/PaxHeaders/run-example-import-tests.sh0000644000000000000000000000013215223444101021151 xustar0030 mtime=1783515201.138109217 30 atime=1783607052.841696798 30 ctime=1783607690.177524378 liborigin-3.0.4/tests/run-example-import-tests.sh0000755000175000001440000000153015223444101022617 0ustar00dozentusers00000000000000#!/usr/bin/env bash set -euo pipefail # Path to the converter OPJ2DAT="${OPJ2DAT:-../build/opj2dat}" TESTDIR="examples" failed=0 for opj in "$TESTDIR"/*.opj; do data="${opj}.1.dat" data_orig="${opj}.1.dat.orig" output="${opj}.out" output_orig="${opj}.out.orig" printf "Testing %-20s ... \n" "$(basename "$opj")" rm -f "$data" "$output" "$OPJ2DAT" "$opj" > "${output}" #check output if diff -u "$output" "$output_orig"; then echo "OUTPUT PASS" rm -f "$output" else echo "OUTPUT FAIL" failed=1 fi # check data # TODO: also .2, etc. if [ -e $data_orig ]; then if diff -u "$data" "$data_orig"; then echo "DATA PASS" rm -f "$data" else echo "DATA FAIL" failed=1 fi fi done exit $failed liborigin-3.0.4/PaxHeaders/opj2dat.cpp0000644000000000000000000000013115221716602014622 xustar0029 mtime=1783078274.27539212 30 atime=1783606986.493556723 30 ctime=1783607690.177524378 liborigin-3.0.4/opj2dat.cpp0000644000175000001440000001275715221716602016303 0ustar00dozentusers00000000000000/*************************************************************************** File : opj2dat.cpp -------------------------------------------------------------------- Copyright : (C) 2008-2024 Stefan Gerlach (C) 2017 Miquel Garriga Description : Origin project converter ***************************************************************************/ /*************************************************************************** * * * 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, write to the Free Software * * Foundation, Inc., 51 Franklin Street, Fifth Floor, * * Boston, MA 02110-1301 USA * * * ***************************************************************************/ #include "OriginFile.h" #include #include #include #include using namespace std; int main(int argc, char *argv[]) { if (argc < 2) { cout << "Usage : ./opj2dat [--check-only] " << endl; return -1; } cout << "opj2dat " << liboriginVersionString() << ", Copyright (C) 2008-2024 Stefan Gerlach, 2017 Miquel Garriga" << endl; if (string(argv[1]) == "-v") return 0; bool write_spreads = true; if ((argc > 2) && (string(argv[1]) == "--check-only")) write_spreads = false; string inputfile = argv[argc - 1]; OriginFile opj(inputfile); int status = opj.parse(); cout << "Parsing status = " << status << endl; if (!status) return -1; cout << "OPJ PROJECT \"" << inputfile.c_str() << "\" VERSION = " << opj.version() << endl; cout << "number of datasets = " << opj.datasetCount() << endl; cout << "number of spreadsheets = " << opj.spreadCount() << endl; cout << "number of matrices = " << opj.matrixCount() << endl; cout << "number of excels = " << opj.excelCount() << endl; cout << "number of functions = " << opj.functionCount() << endl; cout << "number of graphs = " << opj.graphCount() << endl; cout << "number of notes = " << opj.noteCount() << endl; for (unsigned int s = 0; s < opj.spreadCount(); s++) { Origin::SpreadSheet spread = opj.spread(s); size_t columnCount = spread.columns.size(); cout << "Spreadsheet " << (s + 1) << endl; cout << " Name: " << spread.name.c_str() << endl; cout << " Label: " << spread.label.c_str() << endl; cout << " Columns: " << columnCount << endl; for (size_t j = 0; j < columnCount; j++) { Origin::SpreadColumn column = spread.columns[j]; cout << " Column " << (j + 1) << " : " << column.name.c_str() << " / type : " << column.type << ", rows : " << spread.maxRows << endl; } if (write_spreads) { ostringstream sfilename; sfilename << inputfile.c_str() << "." << (s + 1) << ".dat"; cout << "saved to " << sfilename.str() << endl; ofstream outf; outf.open(sfilename.str().c_str(), ios_base::out); if (!outf.good()) { cout << "Could not open " << sfilename.str() << endl; return -1; } // header for (size_t j = 0; j < columnCount; j++) { outf << spread.columns[j].name.c_str() << "; "; cout << spread.columns[j].name.c_str(); } outf << endl; cout << endl << " Data: " << endl; // data for (int i = 0; i < (int)spread.maxRows; i++) { for (size_t j = 0; j < columnCount; j++) { if (i < (int)spread.columns[j].data.size()) { Origin::variant value(spread.columns[j].data[i]); if (value.type() == Origin::variant::V_DOUBLE) { double v = value.as_double(); if (v != _ONAN) { outf << v << "; "; } else { outf << nan("NaN") << "; "; } } if (value.type() == Origin::variant::V_STRING) { outf << value.as_string() << "; "; } } else { outf << "; "; } } outf << endl; } outf.close(); } } return 0; } liborigin-3.0.4/PaxHeaders/compile0000644000000000000000000000013215221716752014135 xustar0030 mtime=1783078378.955388728 30 atime=1783607029.089646652 30 ctime=1783607690.177524378 liborigin-3.0.4/compile0000755000175000001440000000011515221716752015601 0ustar00dozentusers00000000000000mkdir build cd build cmake -DGENERATE_CODE_FOR_LOG=1 .. make # make install liborigin-3.0.4/PaxHeaders/OriginAnyParser.cpp0000644000000000000000000000013215223727312016336 xustar0030 mtime=1783606986.617556985 30 atime=1783606988.561561089 30 ctime=1783607690.181524368 liborigin-3.0.4/OriginAnyParser.cpp0000644000175000001440000036051415223727312020013 0ustar00dozentusers00000000000000 /* OriginAnyParser.cpp SPDX-FileCopyrightText: 2017 Miquel Garriga SPDX-FileCopyrightText: 2021-2024 Stefan Gerlach SPDX-License-Identifier: GPL-3.0-or-later Parser for all versions. Based mainly on Origin750Parser.cpp */ #include "OriginAnyParser.h" #include #include using namespace std; /* define a macro to get an int (or uint) from a istringstream in binary mode */ #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ # define GET_SHORT(iss, ovalue) \ { \ iss.read(reinterpret_cast(&ovalue), 2); \ }; # define GET_INT(iss, ovalue) \ { \ iss.read(reinterpret_cast(&ovalue), 4); \ }; # define GET_FLOAT(iss, ovalue) \ { \ iss.read(reinterpret_cast(&ovalue), 4); \ }; # define GET_DOUBLE(iss, ovalue) \ { \ iss.read(reinterpret_cast(&ovalue), 8); \ }; #else void inline swap_bytes(unsigned char *data, int size) { int i = 0, j = size - 1; while (i < j) { std::swap(data[i], data[j]); ++i, --j; } } # define GET_SHORT(iss, ovalue) \ { \ iss.read(reinterpret_cast(&ovalue), 2); \ swap_bytes(reinterpret_cast(&ovalue), 2); \ }; # define GET_INT(iss, ovalue) \ { \ iss.read(reinterpret_cast(&ovalue), 4); \ swap_bytes(reinterpret_cast(&ovalue), 4); \ }; # define GET_FLOAT(iss, ovalue) \ { \ iss.read(reinterpret_cast(&ovalue), 4); \ swap_bytes(reinterpret_cast(&ovalue), 4); \ }; # define GET_DOUBLE(iss, ovalue) \ { \ iss.read(reinterpret_cast(&ovalue), 8); \ swap_bytes(reinterpret_cast(&ovalue), 8); \ }; #endif OriginAnyParser::OriginAnyParser(const string &fileName) : file(fileName.c_str(), ios::binary), logfile(nullptr), d_file_size(0), curpos(0), objectIndex(0), parseError(0), ispread(-1), imatrix(-1), iexcel(-1), igraph(-1), ilayer(-1) { } bool OriginAnyParser::parse() { #ifdef GENERATE_CODE_FOR_LOG // append progress in log file logfile = fopen("opjfile.log", "a"); #endif // GENERATE_CODE_FOR_LOG // get length of file: file.seekg(0, ios_base::end); d_file_size = file.tellg(); file.seekg(0, ios_base::beg); LOG_PRINT(logfile, "File size: %" PRId64 "\n", static_cast(d_file_size)) // get file and program version, check it is a valid file readFileVersion(); if (parseError > 1) return false; curpos = file.tellg(); LOG_PRINT(logfile, "Now at %" PRId64 " [0x%" PRIx64 "]\n", curpos, curpos) // get global header readGlobalHeader(); if (parseError > 1) return false; curpos = file.tellg(); LOG_PRINT(logfile, "Now at %" PRId64 " [0x%" PRIx64 "]\n", curpos, curpos) // get dataset list unsigned int dataset_list_size = 0; objectIndex = 0; // use it to count DataSets LOG_PRINT(logfile, "Reading Data sets ...\n") while (true) { if (!readDataSetElement()) break; dataset_list_size++; } if (parseError > 1) return false; LOG_PRINT(logfile, " ... done. Data sets: %u\n", dataset_list_size) curpos = file.tellg(); LOG_PRINT(logfile, "Now at %" PRId64 " [0x%" PRIx64 "], file size %" PRId64 "\n", curpos, curpos, d_file_size) for (unsigned int i = 0; i < spreadSheets.size(); ++i) { if (spreadSheets[i].sheets > 1) { LOG_PRINT(logfile, " CONVERT SPREADSHEET \"%s\" to EXCEL\n", spreadSheets[i].name.c_str()); convertSpreadToExcel(i); --i; } } // get window list unsigned int window_list_size = 0; objectIndex = 0; // reset it to count Windows (except Notes) LOG_PRINT(logfile, "Reading Windows ...\n") while (true) { if (!readWindowElement()) break; window_list_size++; } LOG_PRINT(logfile, " ... done. Windows: %u\n", window_list_size) curpos = file.tellg(); LOG_PRINT(logfile, "Now at %" PRId64 " [0x%" PRIx64 "], file size %" PRId64 "\n", curpos, curpos, d_file_size) // get parameter list unsigned int parameter_list_size = 0; LOG_PRINT(logfile, "Reading Parameters ...\n") while (true) { if (!readParameterElement()) break; parameter_list_size++; } LOG_PRINT(logfile, " ... done. Parameters: %u\n", parameter_list_size) curpos = file.tellg(); LOG_PRINT(logfile, "Now at %" PRId64 " [0x%" PRIx64 "], file size %" PRId64 "\n", curpos, curpos, d_file_size) // Note windows were added between version >4.141 and 4.210, // i.e., with Release 5.0 if (curpos < d_file_size) { // get note windows list unsigned int note_list_size = 0; LOG_PRINT(logfile, "Reading Note windows ...\n") objectIndex = 0; // reset it to count Notes while (true) { if (!readNoteElement()) break; note_list_size++; } LOG_PRINT(logfile, " ... done. Note windows: %u\n", note_list_size) curpos = file.tellg(); LOG_PRINT(logfile, "Now at %" PRId64 " [0x%" PRIx64 "], file size %" PRId64 "\n", curpos, curpos, d_file_size) } // Project Tree was added between version >4.210 and 4.2616, // i.e., with Release 6.0 if (curpos < d_file_size) { // get project tree readProjectTree(); curpos = file.tellg(); LOG_PRINT(logfile, "Now at %" PRId64 " [0x%" PRIx64 "], file size %" PRId64 "\n", curpos, curpos, d_file_size) } // Attachments were added between version >4.2673_558 and 4.2764_623, // i.e., with Release 7.0 if (curpos < d_file_size) { readAttachmentList(); curpos = file.tellg(); LOG_PRINT(logfile, "Now at %" PRId64 " [0x%" PRIx64 "], file size %" PRId64 "\n", curpos, curpos, d_file_size) } if (curpos >= d_file_size) LOG_PRINT(logfile, "Now at end of file\n") #ifdef GENERATE_CODE_FOR_LOG fclose(logfile); #endif // GENERATE_CODE_FOR_LOG return true; } string toLowerCase(string str) { for (unsigned int i = 0; i < str.length(); i++) if (str[i] >= 0x41 && str[i] <= 0x5A) str[i] = str[i] + 0x20; return str; } OriginParser *createOriginAnyParser(const string &fileName) { return new OriginAnyParser(fileName); } unsigned int OriginAnyParser::readObjectSize() { unsigned int obj_size = 0; char c = 0; file >> obj_size; file >> c; if (c != '\n') { curpos = file.tellg(); LOG_PRINT(logfile, "Wrong delimiter %c at %" PRId64 " [0x%" PRIx64 "]\n", c, curpos, curpos) parseError = 3; return 0; } return obj_size; } string OriginAnyParser::readObjectAsString(unsigned int size) { // read a size-byte blob of data followed by '\n' if (size > 0) { char c; // get a string large enough to hold the result, initialize it to all 0's string blob = string(size, '\0'); // read data into that string // cannot use '>>' operator because iendianfstream truncates it at first '\0' file.read(&blob[0], size); // read the '\n' file >> c; if (c != '\n') { curpos = file.tellg(); LOG_PRINT(logfile, "Wrong delimiter %c at %" PRId64 " [0x%" PRIx64 "]\n", c, curpos, curpos) parseError = 4; return string(); } return blob; } return string(); } void OriginAnyParser::readFileVersion() { // get file and program version, check it is a valid file string sFileVersion; getline(file, sFileVersion); if ((sFileVersion.substr(0, 4) != "CPYA")) { LOG_PRINT(logfile, "File, is not a valid OPJ file\n") if ((sFileVersion.substr(0, 5) != "CPYUA")) { LOG_PRINT(logfile, "File, is not a valid OPJU file\n") parseError = 2; return; } } if (*sFileVersion.rbegin() != '#') parseError = 1; LOG_PRINT(logfile, "File version string: %s\n", sFileVersion.c_str()) } void OriginAnyParser::readGlobalHeader() { LOG_PRINT(logfile, "readGlobalHeader()\n") // get global header size unsigned int gh_size = 0, gh_endmark = 0; gh_size = readObjectSize(); curpos = file.tellg(); LOG_PRINT(logfile, "Global header size: %d [0x%X], starts at %" PRId64 " [0x%" PRIx64 "],", gh_size, gh_size, curpos, curpos) // get global header data string gh_data; gh_data = readObjectAsString(gh_size); curpos = file.tellg(); LOG_PRINT(logfile, " ends at %" PRId64 " [0x%" PRIx64 "]\n", curpos, curpos) // when gh_size > 0x1B, a double with fileVersion/100 can be read at gh_data[0x1B:0x23] if (gh_size > 0x1B) { istringstream stmp; stmp.str(gh_data.substr(0x1B)); double dFileVersion; GET_DOUBLE(stmp, dFileVersion) if (dFileVersion > 8.5) { fileVersion = (unsigned int)trunc(dFileVersion * 100.); } else { fileVersion = 10 * (unsigned int)trunc(dFileVersion * 10.); } LOG_PRINT(logfile, "Project version as read from header: %.2f (%.6f)\n", fileVersion / 100.0, dFileVersion) } // now read a zero size end mark gh_endmark = readObjectSize(); if (gh_endmark != 0) { curpos = file.tellg(); LOG_PRINT(logfile, "Wrong end of list mark %d at %" PRId64 " [0x%" PRIx64 "]\n", gh_endmark, curpos, curpos) parseError = 5; return; } } bool OriginAnyParser::readDataSetElement() { LOG_PRINT(logfile, "readDataSetElement()\n") /* get info and values of a DataSet (worksheet column, matrix sheet, ...) * return true if a DataSet is found, otherwise return false */ unsigned int dse_header_size = 0, dse_data_size = 0, dse_mask_size = 0; std::streamoff dsh_start = 0, dsd_start = 0, dsm_start = 0; string dse_header; // get dataset header size dse_header_size = readObjectSize(); if (dse_header_size == 0) return false; curpos = file.tellg(); dsh_start = curpos; LOG_PRINT(logfile, "Column: header size %d [0x%X], starts at %" PRId64 " [0x%" PRIx64 "], ", dse_header_size, dse_header_size, curpos, curpos) dse_header = readObjectAsString(dse_header_size); // get known info string name(25, 0); name = dse_header.substr(0x58, 25); // go to end of dataset header, get data size file.seekg(dsh_start + dse_header_size + 1, ios_base::beg); dse_data_size = readObjectSize(); dsd_start = file.tellg(); string dse_data = readObjectAsString(dse_data_size); curpos = file.tellg(); LOG_PRINT(logfile, "data size %d [0x%X], from %" PRId64 " [0x%" PRIx64 "] to %" PRId64 " [0x%" PRIx64 "],", dse_data_size, dse_data_size, dsd_start, dsd_start, curpos, curpos) // get data values getColumnInfoAndData(dse_header, dse_header_size, dse_data, dse_data_size); // go to end of data values, get mask size (often zero) file.seekg(dsd_start + dse_data_size, ios_base::beg); // dse_data_size can be zero if (dse_data_size > 0) file.seekg(1, ios_base::cur); dse_mask_size = readObjectSize(); dsm_start = file.tellg(); if (dse_mask_size > 0) LOG_PRINT(logfile, "\nmask size %d [0x%X], starts at %" PRId64 " [0x%" PRIx64 "]", dse_mask_size, dse_mask_size, dsm_start, dsm_start) string dse_mask = readObjectAsString(dse_mask_size); // get mask values if (dse_mask_size > 0) { curpos = file.tellg(); LOG_PRINT(logfile, ", ends at %" PRId64 " [0x%" PRIx64 "]\n", curpos, curpos) // TODO: extract mask values from dse_mask // go to end of dataset mask file.seekg(dsm_start + dse_mask_size + 1, ios_base::beg); } curpos = file.tellg(); LOG_PRINT(logfile, " ends at %" PRId64 " [0x%" PRIx64 "]: ", curpos, curpos) LOG_PRINT(logfile, "%s\n", name.c_str()) return true; } bool OriginAnyParser::readWindowElement() { LOG_PRINT(logfile, "readWindowElement()\n") /* get general info and details of a window * return true if a Window is found, otherwise return false */ unsigned int wde_header_size = 0; std::streamoff wdh_start = 0; // get window header size wde_header_size = readObjectSize(); if (wde_header_size == 0) return false; curpos = file.tellg(); wdh_start = curpos; LOG_PRINT(logfile, "Window found: header size %d [0x%X], starts at %" PRId64 " [0x%" PRIx64 "]: ", wde_header_size, wde_header_size, curpos, curpos) string wde_header = readObjectAsString(wde_header_size); // get known info string name(25, 0); name = wde_header.substr(0x02, 25).c_str(); LOG_PRINT(logfile, "%s\n", name.c_str()) // classify type of window ispread = findSpreadByName(name); imatrix = findMatrixByName(name); iexcel = findExcelByName(name); igraph = -1; if (ispread != -1) { LOG_PRINT(logfile, "\n Window is a Worksheet book\n") getWindowProperties(spreadSheets[ispread], wde_header, wde_header_size); } else if (imatrix != -1) { LOG_PRINT(logfile, "\n Window is a Matrix book\n") getWindowProperties(matrixes[imatrix], wde_header, wde_header_size); } else if (iexcel != -1) { LOG_PRINT(logfile, "\n Window is an Excel book\n") getWindowProperties(excels[iexcel], wde_header, wde_header_size); } else { LOG_PRINT(logfile, "\n Window is a Graph\n") graphs.push_back(Graph(name)); igraph = (int)graphs.size() - 1; getWindowProperties(graphs[igraph], wde_header, wde_header_size); } // go to end of window header file.seekg(wdh_start + wde_header_size + 1, ios_base::beg); // get layer list unsigned int layer_list_size = 0; LOG_PRINT(logfile, " Reading Layers ...\n") while (true) { ilayer = layer_list_size; if (!readLayerElement()) break; layer_list_size++; } LOG_PRINT(logfile, " ... done. Layers: %u\n", layer_list_size) curpos = file.tellg(); LOG_PRINT(logfile, "window ends at %" PRId64 " [0x%" PRIx64 "]\n", curpos, curpos) return true; } bool OriginAnyParser::readLayerElement() { LOG_PRINT(logfile, "readLayerElement()\n") /* get general info and details of a layer * return true if a Layer is found, otherwise return false */ unsigned int lye_header_size = 0; std::streamoff lyh_start = 0; // get layer header size lye_header_size = readObjectSize(); if (lye_header_size == 0) return false; curpos = file.tellg(); lyh_start = curpos; LOG_PRINT(logfile, " Layer found: header size %d [0x%X], starts at %" PRId64 " [0x%" PRIx64 "]\n", lye_header_size, lye_header_size, curpos, curpos) string lye_header = readObjectAsString(lye_header_size); // get known info LOG_PRINT(logfile, " Reading Layer properties ...\n") getLayerProperties(lye_header, lye_header_size); // go to end of layer header file.seekg(lyh_start + lye_header_size + 1, ios_base::beg); // get annotation list unsigned int annotation_list_size = 0; LOG_PRINT(logfile, " Reading Annotations ...\n") /* Some annotations can be groups of annotations. We need a recursive function for those cases */ annotation_list_size = readAnnotationList(); if (annotation_list_size > 0) { LOG_PRINT(logfile, " ... done. Annotations: %u\n", annotation_list_size) } // get curve list unsigned int curve_list_size = 0; LOG_PRINT(logfile, " Reading Curves ...\n") while (true) { if (!readCurveElement()) break; curve_list_size++; } LOG_PRINT(logfile, " ... done. Curves: %u\n", curve_list_size) // get axisbreak list unsigned int axisbreak_list_size = 0; LOG_PRINT(logfile, " Reading Axis breaks ...\n") while (true) { if (!readAxisBreakElement()) break; axisbreak_list_size++; } LOG_PRINT(logfile, " ... done. Axis breaks: %u\n", axisbreak_list_size) // get x axisparameter list unsigned int axispar_x_list_size = 0; LOG_PRINT(logfile, " Reading x-Axis parameters ...\n") while (true) { if (!readAxisParameterElement(1)) break; axispar_x_list_size++; } LOG_PRINT(logfile, " ... done. x-Axis parameters: %u\n", axispar_x_list_size) // get y axisparameter list unsigned int axispar_y_list_size = 0; LOG_PRINT(logfile, " Reading y-Axis parameters ...\n") while (true) { if (!readAxisParameterElement(2)) break; axispar_y_list_size++; } LOG_PRINT(logfile, " ... done. y-Axis parameters: %u\n", axispar_y_list_size) // get z axisparameter list unsigned int axispar_z_list_size = 0; LOG_PRINT(logfile, " Reading z-Axis parameters ...\n") while (true) { if (!readAxisParameterElement(3)) break; axispar_z_list_size++; } LOG_PRINT(logfile, " ... done. z-Axis parameters: %u\n", axispar_z_list_size) curpos = file.tellg(); LOG_PRINT(logfile, " layer ends at %" PRId64 " [0x%" PRIx64 "]\n", curpos, curpos) return true; } unsigned int OriginAnyParser::readAnnotationList() { LOG_PRINT(logfile, "readAnnotationList()\n") /* Purpose of this function is to allow recursive call for groups of annotation elements. */ unsigned int annotation_list_size = 0; while (true) { if (!readAnnotationElement()) break; annotation_list_size++; } return annotation_list_size; } bool OriginAnyParser::readAnnotationElement() { LOG_PRINT(logfile, "readAnnotationElement()\n") /* get general info and details of an Annotation * return true if an Annotation is found, otherwise return false */ unsigned int ane_header_size = 0; std::streamoff anh_start = 0; // get annotation header size ane_header_size = readObjectSize(); if (ane_header_size == 0) return false; curpos = file.tellg(); anh_start = curpos; LOG_PRINT(logfile, " Annotation found: header size %d [0x%X], starts at %" PRId64 " [0x%" PRIx64 "]: ", ane_header_size, ane_header_size, curpos, curpos) string ane_header = readObjectAsString(ane_header_size); // get known info string name(41, 0); name = ane_header.substr(0x46, 41); LOG_PRINT(logfile, "%s\n", name.c_str()) // go to end of annotation header file.seekg(anh_start + ane_header_size + 1, ios_base::beg); // data of an annotation element is divided in three blocks // first block unsigned int ane_data_1_size = 0; std::streamoff andt1_start = 0; ane_data_1_size = readObjectSize(); andt1_start = file.tellg(); LOG_PRINT(logfile, " block 1 size %d [0x%X] at %" PRId64 " [0x%" PRIx64 "]\n", ane_data_1_size, ane_data_1_size, andt1_start, andt1_start) string andt1_data = readObjectAsString(ane_data_1_size); // TODO: get known info // go to end of first data block file.seekg(andt1_start + ane_data_1_size + 1, ios_base::beg); // second block unsigned int ane_data_2_size = 0; std::streamoff andt2_start = 0; ane_data_2_size = readObjectSize(); andt2_start = file.tellg(); LOG_PRINT(logfile, " block 2 size %d [0x%X] at %" PRId64 " [0x%" PRIx64 "]\n", ane_data_2_size, ane_data_2_size, andt2_start, andt2_start) string andt2_data; // check for group of annotations if (((ane_data_1_size == 0x5e) || (ane_data_1_size == 0x0A)) && (ane_data_2_size == 0x04)) { curpos = file.tellg(); LOG_PRINT(logfile, " Annotation group found at %" PRId64 " [0x%" PRIx64 "] ...\n", curpos, curpos) unsigned int angroup_size = readAnnotationList(); curpos = file.tellg(); if (angroup_size > 0) { LOG_PRINT(logfile, " ... group end at %" PRId64 " [0x%" PRIx64 "]. Annotations: %d\n", curpos, curpos, angroup_size) } andt2_data = string(); } else { andt2_data = readObjectAsString(ane_data_2_size); // TODO: get known info // go to end of second data block file.seekg(andt2_start + ane_data_2_size, ios_base::beg); if (ane_data_2_size > 0) file.seekg(1, ios_base::cur); } // third block unsigned int ane_data_3_size = 0; ane_data_3_size = readObjectSize(); std::streamoff andt3_start = file.tellg(); if (andt3_start > 0) { LOG_PRINT(logfile, " block 3 size %d [0x%X] at %" PRId64 " [0x%" PRIx64 "]\n", ane_data_3_size, ane_data_3_size, andt3_start, andt3_start) } string andt3_data = readObjectAsString(ane_data_3_size); curpos = file.tellg(); LOG_PRINT(logfile, " annotation ends at %" PRId64 " [0x%" PRIx64 "]\n", curpos, curpos) // get annotation info getAnnotationProperties(ane_header, ane_header_size, andt1_data, ane_data_1_size, andt2_data, ane_data_2_size, andt3_data, ane_data_3_size); return true; } bool OriginAnyParser::readCurveElement() { LOG_PRINT(logfile, "readCurveElement()\n") /* get general info and details of a Curve * return true if a Curve is found, otherwise return false */ unsigned int cve_header_size = 0, cve_data_size = 0; std::streamoff cvh_start = 0, cvd_start = 0; // get curve header size cve_header_size = readObjectSize(); if (cve_header_size == 0) return false; curpos = file.tellg(); cvh_start = curpos; LOG_PRINT(logfile, " Curve: header size %d [0x%X], starts at %" PRId64 " [0x%" PRIx64 "], ", cve_header_size, cve_header_size, curpos, curpos) string cve_header = readObjectAsString(cve_header_size); // TODO: get known info from curve header string name = cve_header.substr(0x12, 12); // go to end of header, get curve data size file.seekg(cvh_start + cve_header_size + 1, ios_base::beg); cve_data_size = readObjectSize(); cvd_start = file.tellg(); LOG_PRINT(logfile, "data size %d [0x%X], from %" PRId64 " [0x%" PRIx64 "]", cve_data_size, cve_data_size, cvd_start, cvd_start) string cve_data = readObjectAsString(cve_data_size); // TODO: get known info from curve data // go to end of data file.seekg(cvd_start + cve_data_size, ios_base::beg); if (cve_data_size > 0) file.seekg(1, ios_base::cur); curpos = file.tellg(); LOG_PRINT(logfile, "to %" PRId64 " [0x%" PRIx64 "]: %s\n", curpos, curpos, name.c_str()) // get curve (or column) info getCurveProperties(cve_header, cve_header_size, cve_data, cve_data_size); return true; } bool OriginAnyParser::readAxisBreakElement() { LOG_PRINT(logfile, "readAxisBreakElement()\n") /* get info of Axis breaks * return true if an Axis break, otherwise return false */ unsigned int abe_data_size = 0; std::streamoff abd_start = 0; // get axis break data size abe_data_size = readObjectSize(); if (abe_data_size == 0) return false; curpos = file.tellg(); abd_start = curpos; string abd_data = readObjectAsString(abe_data_size); // get known info // go to end of axis break data file.seekg(abd_start + abe_data_size + 1, ios_base::beg); // get axis break info getAxisBreakProperties(abd_data, abe_data_size); return true; } bool OriginAnyParser::readAxisParameterElement(unsigned int naxis) { LOG_PRINT(logfile, "readAxisParameterElement()\n") /* get info of Axis parameters for naxis-axis (x,y,z) = (1,2,3) * return true if an Axis break is found, otherwise return false */ unsigned int ape_data_size = 0; std::streamoff apd_start = 0; // get axis break data size ape_data_size = readObjectSize(); if (ape_data_size == 0) return false; curpos = file.tellg(); apd_start = curpos; string apd_data = readObjectAsString(ape_data_size); // get known info // go to end of axis break data file.seekg(apd_start + ape_data_size + 1, ios_base::beg); // get axis parameter info getAxisParameterProperties(apd_data, ape_data_size, naxis); return true; } bool OriginAnyParser::readParameterElement() { LOG_PRINT(logfile, "readParameterElement()\n") // get parameter name string par_name; char c; getline(file, par_name); if (par_name[0] == '\0') { unsigned int eof_parameters_mark = readObjectSize(); if (eof_parameters_mark != 0) { LOG_PRINT(logfile, "Wrong end of parameters mark\n") } return false; } LOG_PRINT(logfile, " %s:", par_name.c_str()) // get value double value; file >> value; LOG_PRINT(logfile, " %g\n", value) // read the '\n' file >> c; if (c != '\n') { curpos = file.tellg(); LOG_PRINT(logfile, "Wrong delimiter %c at %" PRId64 " [0x%" PRIx64 "]\n", c, curpos, curpos) parseError = 6; return false; } return true; } bool OriginAnyParser::readNoteElement() { LOG_PRINT(logfile, "readNoteElement()\n") /* get info of Note windows, including "Results Log" * return true if a Note window is found, otherwise return false */ unsigned int nwe_header_size = 0, nwe_label_size = 0, nwe_contents_size = 0; std::streamoff nwh_start = 0, nwl_start = 0, nwc_start = 0; // get note header size nwe_header_size = readObjectSize(); if (nwe_header_size == 0) return false; curpos = file.tellg(); nwh_start = curpos; LOG_PRINT(logfile, " Note window found: header size %d [0x%X], starts at %" PRId64 " [0x%" PRIx64 "]\n", nwe_header_size, nwe_header_size, curpos, curpos) string nwe_header = readObjectAsString(nwe_header_size); // TODO: get known info from header // go to end of header file.seekg(nwh_start + nwe_header_size + 1, ios_base::beg); // get label size nwe_label_size = readObjectSize(); nwl_start = file.tellg(); string nwe_label = readObjectAsString(nwe_label_size); LOG_PRINT(logfile, " label at %" PRId64 " [0x%" PRIx64 "]: %s\n", nwl_start, nwl_start, nwe_label.c_str()) // go to end of label file.seekg(nwl_start + nwe_label_size, ios_base::beg); if (nwe_label_size > 0) file.seekg(1, ios_base::cur); // get contents size nwe_contents_size = readObjectSize(); nwc_start = file.tellg(); string nwe_contents = readObjectAsString(nwe_contents_size); if (nwc_start > 0) { LOG_PRINT(logfile, " contents at %" PRId64 " [0x%" PRIx64 "]: \n%s\n", nwc_start, nwc_start, nwe_contents.c_str()) } // get note window info getNoteProperties(nwe_header, nwe_header_size, nwe_label, nwe_label_size, nwe_contents, nwe_contents_size); return true; } void OriginAnyParser::readProjectTree() { LOG_PRINT(logfile, "readProjectTree()\n") unsigned int pte_depth = 0; // first preamble size and data (usually 4) unsigned int pte_pre1_size = readObjectSize(); string pte_pre1 = readObjectAsString(pte_pre1_size); // second preamble size and data (usually 16) unsigned int pte_pre2_size = readObjectSize(); string pte_pre2 = readObjectAsString(pte_pre2_size); // root element and children unsigned int rootfolder = readFolderTree( projectTree.insert(projectTree.begin(), ProjectNode("", ProjectNode::Folder)), pte_depth); if (rootfolder > 0) { LOG_PRINT(logfile, "Number of files at root: %u\n", rootfolder) } // epilogue (should be zero) unsigned int pte_post_size = readObjectSize(); if (pte_post_size != 0) { LOG_PRINT(logfile, "Wrong end of project tree mark\n") } // log info on project tree #ifdef GENERATE_CODE_FOR_LOG outputProjectTree(cout); #endif // GENERATE_CODE_FOR_LOG return; } unsigned int OriginAnyParser::readFolderTree(tree::iterator parent, unsigned int depth) { LOG_PRINT(logfile, "readFolderTree()\n") unsigned int fle_header_size = 0, fle_eofh_size = 0, fle_name_size = 0, fle_prop_size = 0; // folder header size, data, end mark fle_header_size = readObjectSize(); string fle_header = readObjectAsString(fle_header_size); fle_eofh_size = readObjectSize(); // (usually 0) if (fle_eofh_size != 0) { LOG_PRINT(logfile, "Wrong end of folder header mark") } // folder name size fle_name_size = readObjectSize(); curpos = file.tellg(); string fle_name = readObjectAsString(fle_name_size); LOG_PRINT(logfile, "Folder name at %" PRId64 " [0x%" PRIx64 "]: %s\n", curpos, curpos, fle_name.c_str()); // additional properties fle_prop_size = readObjectSize(); for (unsigned int i = 0; i < fle_prop_size; i++) { unsigned int obj_size = readObjectSize(); string obj_data = readObjectAsString(obj_size); } // get project folder properties tree::iterator current_folder = projectTree.append_child(parent, ProjectNode(fle_name, ProjectNode::Folder)); getProjectFolderProperties(current_folder, fle_header, fle_header_size); // file entries unsigned int number_of_files_size = 0; number_of_files_size = readObjectSize(); // should be 4 as number_of_files is an integer curpos = file.tellg(); LOG_PRINT(logfile, "Number of files at %" PRId64 " [0x%" PRIx64 "] ", curpos, curpos) string fle_nfiles = readObjectAsString(number_of_files_size); istringstream stmp(ios_base::binary); stmp.str(fle_nfiles); unsigned int number_of_files = 0; GET_INT(stmp, number_of_files) LOG_PRINT(logfile, "%u\n", number_of_files) for (unsigned int i = 0; i < number_of_files; i++) { readProjectLeaf(current_folder); } // subfolder entries unsigned int number_of_folders_size = 0; number_of_folders_size = readObjectSize(); // should be 4 as number_of_subfolders is an integer curpos = file.tellg(); LOG_PRINT(logfile, "Number of subfolders at %" PRId64 " [0x%" PRIx64 "] ", curpos, curpos) string fle_nfolders = readObjectAsString(number_of_folders_size); stmp.str(fle_nfolders); unsigned int number_of_folders = 0; GET_INT(stmp, number_of_folders) LOG_PRINT(logfile, "%u\n", number_of_folders) for (unsigned int i = 0; i < number_of_folders; i++) { depth++; unsigned int files_in_subfolder = readFolderTree(current_folder, depth); if (files_in_subfolder > 0) { LOG_PRINT(logfile, "Number of files in subfolder: %u\n", files_in_subfolder) } depth--; } return number_of_files; } void OriginAnyParser::readProjectLeaf(tree::iterator current_folder) { // preamble size (usually 0) and data unsigned int ptl_pre_size = readObjectSize(); string ptl_pre = readObjectAsString(ptl_pre_size); // file data size (usually 8) and data unsigned int ptl_data_size = readObjectSize(); curpos = file.tellg(); string ptl_data = readObjectAsString(ptl_data_size); LOG_PRINT(logfile, "File at %" PRId64 " [0x%" PRIx64 "]\n", curpos, curpos) // epilogue (should be zero) unsigned int ptl_post_size = readObjectSize(); if (ptl_post_size != 0) { LOG_PRINT(logfile, "Wrong end of project leaf mark\n") } // get project node properties getProjectLeafProperties(current_folder, ptl_data, ptl_data_size); return; } void OriginAnyParser::readAttachmentList() { LOG_PRINT(logfile, "readAttachmentList()\n") /* Attachments are divided in two groups (which can be empty) first group is preceded by two integers: 4096 (0x1000) and number_of_attachments followed as usual by a '\n' mark second group is a series of (header, name, data) triplets without the '\n' mark. */ // figure out if first group is not empty. In this case we will read integer=8 at current file // position unsigned int att_1st_empty = 0; file >> att_1st_empty; file.seekg(-4, ios_base::cur); istringstream stmp(ios_base::binary); string att_header; if (att_1st_empty == 8) { // first group unsigned int att_list1_size = 0; // get two integers // next line fails if first attachment group is empty: readObjectSize exits as there is no // '\n' after 4 bytes for uint att_list1_size = readObjectSize(); // should be 8 as we expect two integer values curpos = file.tellg(); string att_list1 = readObjectAsString(att_list1_size); LOG_PRINT(logfile, "First attachment group at %" PRId64 " [0x%" PRIx64 "]", curpos, curpos) stmp.str(att_list1); unsigned int att_mark = 0, number_of_atts = 0, iattno = 0, att_data_size = 0; GET_INT(stmp, att_mark) // should be 4096 GET_INT(stmp, number_of_atts) LOG_PRINT(logfile, " with %u attachments.\n", number_of_atts) for (unsigned int i = 0; i < number_of_atts; i++) { /* Header is a group of 7 integers followed by \n 1st attachment mark (4096: 0x00 0x10 0x00 0x00) 2nd attachment number ( (&att_header[0]), 12); if (file.gcount() != 12) break; // get header size, type and data size unsigned int att_header_size = 0, att_type = 0, att_size = 0; stmp.str(att_header); GET_INT(stmp, att_header_size) GET_INT(stmp, att_type) GET_INT(stmp, att_size) // get name and data unsigned int name_size = att_header_size - 3 * 4; string att_name = string(name_size, 0); file.read(&att_name[0], name_size); curpos = file.tellg(); string att_data = string(att_size, 0); file.read(&att_data[0], att_size); LOG_PRINT(logfile, "attachment at %" PRId64 " [0x%" PRIx64 "], type 0x%X, size %d [0x%X]: %s\n", curpos, curpos, att_type, att_size, att_size, att_name.c_str()) } return; } bool OriginAnyParser::getColumnInfoAndData(const string &col_header, unsigned int col_header_size, const string &col_data, unsigned int col_data_size) { istringstream stmp(ios_base::binary); short data_type; char data_type_u; unsigned char valuesize; string name(25, 0), column_name; stmp.str(col_header.substr(0x16)); GET_SHORT(stmp, data_type); data_type_u = col_header[0x3F]; if (fileVersion == 350) { valuesize = col_header[0x36]; } else { valuesize = col_header[0x3D]; } if (valuesize == 0) { LOG_PRINT(logfile, " WARNING : found strange valuesize of %d\n", (int)valuesize); valuesize = 8; } if (fileVersion == 350) { name = col_header.substr(0x57, 25).c_str(); } else { name = col_header.substr(0x58, 25).c_str(); } string dataset_name = name; string::size_type colpos = name.find_last_of("_"); if (colpos != string::npos) { column_name = name.substr(colpos + 1); name.resize(colpos); } LOG_PRINT(logfile, "\n data_type 0x%.4X, data_type_u 0x%.2X, valuesize %d [0x%X], %s [%s]\n", data_type, data_type_u, valuesize, valuesize, name.c_str(), column_name.c_str()); int total_rows, first_row, last_row; stmp.str(col_header.substr(0x19)); GET_INT(stmp, total_rows); GET_INT(stmp, first_row); GET_INT(stmp, last_row); LOG_PRINT(logfile, " total %d, first %d, last %d rows\n", total_rows, first_row, last_row) unsigned short signature; if (col_header_size > 0x72) { stmp.str(col_header.substr(0x71)); GET_SHORT(stmp, signature); } else { LOG_PRINT(logfile, " NOTE: alternative signature determination\n") signature = col_header[0x18]; } LOG_PRINT(logfile, " signature %d [0x%X], valuesize %d size %u ", signature, signature, valuesize, col_data_size) vector::difference_type spread = 0; if (column_name.empty()) { // Matrix or function if (data_type == 0x6081) { // Function functions.push_back(Function(name, objectIndex)); Origin::Function &f = functions.back(); f.formula = toLowerCase(col_data.c_str()); stmp.str(col_header.substr(0x0A)); short t; GET_SHORT(stmp, t) if (t == 0x1194) f.type = Function::Polar; stmp.str(col_header.substr(0x21)); GET_INT(stmp, f.totalPoints) GET_DOUBLE(stmp, f.begin) double d; GET_DOUBLE(stmp, d) f.end = f.begin + d * (f.totalPoints - 1); LOG_PRINT(logfile, "\n NEW FUNCTION: %s = %s", f.name.c_str(), f.formula.c_str()); LOG_PRINT(logfile, ". Range [%g : %g], number of points: %d\n", f.begin, f.end, f.totalPoints); } else { // Matrix vector::difference_type mIndex = -1; string::size_type pos = name.find_first_of("@"); if (pos != string::npos) { string sheetName = name; name.resize(pos); mIndex = findMatrixByName(name); if (mIndex != -1) { LOG_PRINT(logfile, "\n NEW MATRIX SHEET\n"); matrixes[mIndex].sheets.push_back(MatrixSheet(sheetName, objectIndex)); } } else { LOG_PRINT(logfile, "\n NEW MATRIX\n"); matrixes.push_back(Matrix(name)); matrixes.back().sheets.push_back(MatrixSheet(name, objectIndex)); } // add an empty data set to keep objectIndex synchronized with datasets.size() datasets.push_back(SpreadColumn(name, objectIndex)); getMatrixValues(col_data, col_data_size, data_type, data_type_u, valuesize, mIndex); } } else { size_t current_col = 1; //, nr = 0, nbytes = 0; static unsigned int col_index = 0; unsigned int current_sheet = 0; if (spreadSheets.size() == 0 || findSpreadByName(name) == -1) { LOG_PRINT(logfile, "\n NEW SPREADSHEET\n"); spreadSheets.push_back(SpreadSheet(name)); spread = spreadSheets.size() - 1; spreadSheets.back().maxRows = 0; } else { spread = findSpreadByName(name); current_col = spreadSheets[spread].columns.size(); if (!current_col) current_col = 1; ++current_col; } spreadSheets[spread].columns.push_back(SpreadColumn(column_name, objectIndex)); spreadSheets[spread].columns.back().colIndex = ++col_index; spreadSheets[spread].columns.back().dataset_name = dataset_name; spreadSheets[spread].columns.back().numRows = total_rows; spreadSheets[spread].columns.back().beginRow = first_row; spreadSheets[spread].columns.back().endRow = last_row; string::size_type sheetpos = spreadSheets[spread].columns.back().name.find_last_of("@"); if (sheetpos != string::npos) { unsigned int sheet = strtol(column_name.substr(sheetpos + 1).c_str(), nullptr, 10); if (sheet > 1) { spreadSheets[spread].columns.back().name = column_name; current_sheet = sheet - 1; spreadSheets[spread].columns.back().sheet = current_sheet; if (spreadSheets[spread].sheets < sheet) spreadSheets[spread].sheets = sheet; } } LOG_PRINT(logfile, " data index %u, valuesize %d, ", objectIndex, valuesize) unsigned int nr = col_data_size / valuesize; LOG_PRINT(logfile, "n. of rows = %u\n\n", nr) spreadSheets[spread].maxRows < nr ? spreadSheets[spread].maxRows = nr : 0; stmp.str(col_data); for (unsigned int i = 0; i < nr; ++i) { double value; if (valuesize <= 8) // Numeric, Time, Date, Month, Day { GET_DOUBLE(stmp, value) if ((i < 5) || (i > (nr - 5))) { LOG_PRINT(logfile, "%g ", value) } else if (i == 5) { LOG_PRINT(logfile, "... ") } spreadSheets[spread].columns[(current_col - 1)].data.push_back(value); } else if ((data_type & 0x100) == 0x100) // Text&Numeric { unsigned char c = col_data[i * valuesize]; stmp.seekg(i * valuesize + 2, ios_base::beg); if (c != 1) // value { GET_DOUBLE(stmp, value); if ((i < 5) || (i > (nr - 5))) { LOG_PRINT(logfile, "%g ", value) } else if (i == 5) { LOG_PRINT(logfile, "... ") } spreadSheets[spread].columns[(current_col - 1)].data.push_back(value); } else // text { string svaltmp = col_data.substr(i * valuesize + 2, valuesize - 2); // TODO: check if this test is still needed if (svaltmp.find(0x0E) != string::npos) { // try find non-printable symbol - garbage test svaltmp = string(); LOG_PRINT(logfile, "Non printable symbol found, place 1 for i=%u\n", i) } if ((i < 5) || (i > (nr - 5))) { LOG_PRINT(logfile, "\"%s\" ", svaltmp.c_str()) } else if (i == 5) { LOG_PRINT(logfile, "... ") } spreadSheets[spread].columns[(current_col - 1)].data.push_back(svaltmp); } } else // text { string svaltmp = col_data.substr(i * valuesize, valuesize).c_str(); // TODO: check if this test is still needed if (svaltmp.find(0x0E) != string::npos) { // try find non-printable symbol - garbage test svaltmp = string(); LOG_PRINT(logfile, "Non printable symbol found, place 2 for i=%u\n", i) } if ((i < 5) || (i > (nr - 5))) { LOG_PRINT(logfile, "\"%s\" ", svaltmp.c_str()) } else if (i == 5) { LOG_PRINT(logfile, "... ") } spreadSheets[spread].columns[(current_col - 1)].data.push_back(svaltmp); } } LOG_PRINT(logfile, "\n\n") datasets.push_back(spreadSheets[spread].columns.back()); } ++objectIndex; return true; } void OriginAnyParser::getMatrixValues(const string &col_data, unsigned int col_data_size, short data_type, char data_type_u, char valuesize, vector::difference_type mIndex) { if (matrixes.empty()) return; istringstream stmp; stmp.str(col_data); if (mIndex < 0) mIndex = (vector::difference_type)matrixes.size() - 1; unsigned int size = col_data_size / valuesize; bool logValues = true; switch (data_type) { case 0x6001: // double for (unsigned int i = 0; i < size; ++i) { double value; GET_DOUBLE(stmp, value) matrixes[mIndex].sheets.back().data.push_back(value); } break; case 0x6003: // float for (unsigned int i = 0; i < size; ++i) { float value; GET_FLOAT(stmp, value) matrixes[mIndex].sheets.back().data.push_back((double)value); } break; case 0x6801: // int if (data_type_u == 8) { // unsigned for (unsigned int i = 0; i < size; ++i) { unsigned int value; GET_INT(stmp, value) matrixes[mIndex].sheets.back().data.push_back((double)value); } } else { for (unsigned int i = 0; i < size; ++i) { int value; GET_INT(stmp, value) matrixes[mIndex].sheets.back().data.push_back((double)value); } } break; case 0x6803: // short if (data_type_u == 8) { // unsigned for (unsigned int i = 0; i < size; ++i) { unsigned short value; GET_SHORT(stmp, value) matrixes[mIndex].sheets.back().data.push_back((double)value); } } else { for (unsigned int i = 0; i < size; ++i) { short value; GET_SHORT(stmp, value) matrixes[mIndex].sheets.back().data.push_back((double)value); } } break; case 0x6821: // char if (data_type_u == 8) { // unsigned for (unsigned int i = 0; i < size; ++i) { unsigned char value; value = col_data[i]; matrixes[mIndex].sheets.back().data.push_back((double)value); } } else { for (unsigned int i = 0; i < size; ++i) { char value; value = col_data[i]; matrixes[mIndex].sheets.back().data.push_back((double)value); } } break; default: LOG_PRINT(logfile, " UNKNOWN MATRIX DATATYPE: %02X SKIP DATA\n", data_type); matrixes.pop_back(); logValues = false; } if (logValues) { LOG_PRINT(logfile, " FIRST 10 CELL VALUES: "); for (unsigned int i = 0; i < 10 && i < matrixes[mIndex].sheets.back().data.size(); ++i) LOG_PRINT(logfile, "%g\t", matrixes[mIndex].sheets.back().data[i]); } } void OriginAnyParser::getWindowProperties(Origin::Window &window, const string &wde_header, unsigned int wde_header_size) { LOG_PRINT(logfile, "getWindowProperties()\n") window.objectID = objectIndex; ++objectIndex; istringstream stmp; stmp.str(wde_header.substr(0x1B)); GET_SHORT(stmp, window.frameRect.left) GET_SHORT(stmp, window.frameRect.top) GET_SHORT(stmp, window.frameRect.right) GET_SHORT(stmp, window.frameRect.bottom) char c = wde_header[0x32]; if (c & 0x01) window.state = Window::Minimized; else if (c & 0x02) window.state = Window::Maximized; if (wde_header[0x42] != 0) { window.windowBackgroundColorGradient = (ColorGradientDirection)(wde_header[0x42] >> 2); window.windowBackgroundColorBase.type = Color::Regular; window.windowBackgroundColorBase.regular = wde_header[0x43]; window.windowBackgroundColorEnd.type = Color::Regular; window.windowBackgroundColorEnd.regular = wde_header[0x44]; } else { window.windowBackgroundColorGradient = ColorGradientDirection::NoGradient; window.windowBackgroundColorBase.type = Color::Regular; window.windowBackgroundColorBase.regular = Color::White; window.windowBackgroundColorEnd.type = Color::Regular; window.windowBackgroundColorEnd.regular = Color::White; } LOG_PRINT(logfile, "ColorGradient %d, base %d, end %d\n", window.windowBackgroundColorGradient, window.windowBackgroundColorBase.regular, window.windowBackgroundColorEnd.regular); c = wde_header[0x69]; if (c & 0x01) window.title = Window::Label; else if (c & 0x02) window.title = Window::Name; else window.title = Window::Both; window.hidden = ((c & 0x08) != 0); if (window.hidden) { LOG_PRINT(logfile, " WINDOW %u NAME : %s is hidden\n", objectIndex, window.name.c_str()); } else { LOG_PRINT(logfile, " WINDOW %u NAME : %s is not hidden\n", objectIndex, window.name.c_str()); } if (wde_header_size > 0x82) { // only projects of version 6.0 and higher have these double creationDate, modificationDate; stmp.str(wde_header.substr(0x73)); GET_DOUBLE(stmp, creationDate); window.creationDate = doubleToPosixTime(creationDate); GET_DOUBLE(stmp, modificationDate) window.modificationDate = doubleToPosixTime(modificationDate); } if ((wde_header_size > 0x9E) && (wde_header[0x42] != 0)) { // get window background colors for version > 5.0 window.windowBackgroundColorBase = getColor(wde_header.substr(0x97, 4)); window.windowBackgroundColorEnd = getColor(wde_header.substr(0x9B, 4)); } if (wde_header_size > 0xC3) { window.label = wde_header.substr(0xC3).c_str(); window.label = window.label.substr(0, window.label.find("@${")); LOG_PRINT(logfile, " WINDOW %u LABEL: %s\n", objectIndex, window.label.c_str()); } if (imatrix != -1) { // additional properties for matrix windows unsigned char h = wde_header[0x29]; matrixes[imatrix].activeSheet = h; if (wde_header_size > 0x86) { h = wde_header[0x87]; matrixes[imatrix].header = (h == 194) ? Matrix::XY : Matrix::ColumnRow; } } if (igraph != -1) { // additional properties for graph/layout windows stmp.str(wde_header.substr(0x23)); GET_SHORT(stmp, graphs[igraph].width) GET_SHORT(stmp, graphs[igraph].height) unsigned char co = wde_header[0x38]; graphs[igraph].connectMissingData = ((co & 0x40) != 0); string templateName = wde_header.substr(0x45, 20).c_str(); graphs[igraph].templateName = templateName; if (templateName == "LAYOUT") graphs[igraph].isLayout = true; } } void OriginAnyParser::getLayerProperties(const string &lye_header, unsigned int lye_header_size) { LOG_PRINT(logfile, "getLayerProperties()\n") istringstream stmp; if (ispread != -1) { // spreadsheet spreadSheets[ispread].loose = false; } else if (imatrix != -1) { // matrix MatrixSheet &sheet = matrixes[imatrix].sheets[ilayer]; unsigned short width = 8; stmp.str(lye_header.substr(0x27)); GET_SHORT(stmp, width) if (width == 0) width = 8; sheet.width = width; stmp.str(lye_header.substr(0x2B)); GET_SHORT(stmp, sheet.columnCount) stmp.str(lye_header.substr(0x52)); GET_SHORT(stmp, sheet.rowCount) unsigned char view = lye_header[0x71]; if (view != 0x32 && view != 0x28) { sheet.view = MatrixSheet::ImageView; } else { sheet.view = MatrixSheet::DataView; } if (lye_header_size > 0xD2) { sheet.name = lye_header.substr(0xD2, 32).c_str(); } } else if (iexcel != -1) { // excel excels[iexcel].loose = false; if (lye_header_size > 0x12d) { ilayer = (unsigned char)lye_header[0x12d]; LOG_PRINT(logfile, " Apparent layer index = %d\n", ilayer) } if ((unsigned int)ilayer >= excels[iexcel].sheets.size()) excels[iexcel].sheets.resize(ilayer + 1); if (lye_header_size > 0xD2) { excels[iexcel].sheets[ilayer].name = lye_header.substr(0xD2, 32).c_str(); } } else { // graph graphs[igraph].layers.push_back(GraphLayer()); GraphLayer &glayer = graphs[igraph].layers[ilayer]; stmp.str(lye_header.substr(0x0F)); GET_DOUBLE(stmp, glayer.xAxis.min); GET_DOUBLE(stmp, glayer.xAxis.max); GET_DOUBLE(stmp, glayer.xAxis.step); glayer.xAxis.majorTicks = lye_header[0x2B]; unsigned char g = lye_header[0x2D]; glayer.xAxis.zeroLine = ((g & 0x80) != 0); glayer.xAxis.oppositeLine = ((g & 0x40) != 0); glayer.xAxis.minorTicks = lye_header[0x37]; glayer.xAxis.scale = lye_header[0x38]; stmp.str(lye_header.substr(0x3A)); GET_DOUBLE(stmp, glayer.yAxis.min); GET_DOUBLE(stmp, glayer.yAxis.max); GET_DOUBLE(stmp, glayer.yAxis.step); glayer.yAxis.majorTicks = lye_header[0x56]; g = lye_header[0x58]; glayer.yAxis.zeroLine = ((g & 0x80) != 0); glayer.yAxis.oppositeLine = ((g & 0x40) != 0); glayer.yAxis.minorTicks = lye_header[0x62]; glayer.yAxis.scale = lye_header[0x63]; g = lye_header[0x68]; glayer.gridOnTop = ((g & 0x04) != 0); glayer.exchangedAxes = ((g & 0x40) != 0); stmp.str(lye_header.substr(0x71)); GET_SHORT(stmp, glayer.clientRect.left) GET_SHORT(stmp, glayer.clientRect.top) GET_SHORT(stmp, glayer.clientRect.right) GET_SHORT(stmp, glayer.clientRect.bottom) unsigned char border = lye_header[0x89]; glayer.borderType = (BorderType)(border >= 0x80 ? border - 0x80 : None); if (lye_header_size > 0x107) glayer.backgroundColor = getColor(lye_header.substr(0x105, 4)); } } Origin::Color OriginAnyParser::getColor(const string &strbincolor) { /* decode a color value from a 4 byte binary string */ Origin::Color result{ Origin::Color::Regular, { Origin::Color::Black } }; unsigned char sbincolor[4]; for (int i = 0; i < 4; i++) { sbincolor[i] = strbincolor[i]; } switch (sbincolor[3]) { case 0: if (sbincolor[0] < 0x64) { result.regular = sbincolor[0]; } else { switch (sbincolor[2]) { case 0: result.type = Origin::Color::Indexing; break; case 0x40: result.type = Origin::Color::Mapping; break; case 0x80: result.type = Origin::Color::RGB; break; } result.column = sbincolor[0] - 0x64; } break; case 1: result.type = Origin::Color::Custom; for (int i = 0; i < 3; ++i) result.custom[i] = sbincolor[i]; break; case 0x20: result.type = Origin::Color::Increment; result.starting = sbincolor[1]; break; case 0xFF: if (sbincolor[0] == 0xFC) result.type = Origin::Color::None; else if (sbincolor[0] == 0xF7) result.type = Origin::Color::Automatic; else result.regular = sbincolor[0]; break; default: result.regular = sbincolor[0]; break; } return result; } void OriginAnyParser::getAnnotationProperties(const string &anhd, unsigned int anhdsz, const string &andt1, unsigned int andt1sz, const string &andt2, unsigned int andt2sz, const string &andt3, unsigned int andt3sz) { LOG_PRINT(logfile, "getAnnotationProperties()\n") /* LOG_PRINT(logfile, "anhd =") for (unsigned int i = 0; i < anhdsz; i++) LOG_PRINT(logfile, " %02x", anhd[i] & 0xFF); LOG_PRINT(logfile, "\n") LOG_PRINT(logfile, "andt1 =") for (unsigned int i = 0; i < andt1sz; i++) LOG_PRINT(logfile, " %02x", andt1[i] & 0xFF); LOG_PRINT(logfile, "\n") LOG_PRINT(logfile, "andt2 =") for (unsigned int i = 0; i < andt2sz; i++) LOG_PRINT(logfile, " %02x", andt2[i] & 0xFF); LOG_PRINT(logfile, "\n") LOG_PRINT(logfile, "andt3 =") for (unsigned int i = 0; i < andt3sz; i++) LOG_PRINT(logfile, " %02x", andt3[i] & 0xFF); LOG_PRINT(logfile, "\n") */ istringstream stmp; (void)anhdsz; (void)andt3; (void)andt3sz; string sec_name = anhd.substr(0x46, 41).c_str(); if (ispread != -1) { int col_index = findColumnByName((int)ispread, sec_name); if (col_index != -1) { // check if it is a formula spreadSheets[ispread].columns[col_index].command = andt1.c_str(); LOG_PRINT(logfile, " Column: %s has formula: %s\n", sec_name.c_str(), spreadSheets[ispread].columns[col_index].command.c_str()) } } else if (imatrix != -1) { MatrixSheet &sheet = matrixes[imatrix].sheets[ilayer]; stmp.str(andt1.c_str()); if (sec_name == "MV") { sheet.command = andt1.c_str(); } else if (sec_name == "Y2") { stmp >> sheet.coordinates[0]; } else if (sec_name == "X2") { stmp >> sheet.coordinates[1]; } else if (sec_name == "Y1") { stmp >> sheet.coordinates[2]; } else if (sec_name == "X1") { stmp >> sheet.coordinates[3]; } else if (sec_name == "COLORMAP") { // Color maps for matrix annotations are similar to color maps for graph curves (3D). // They differ only in the start offset to the data string. getColorMap(sheet.colorMap, andt2, andt2sz); } } else if (iexcel != -1) { vector::difference_type col_index = findExcelColumnByName(iexcel, ilayer, sec_name); if (col_index != -1) { // check if it is a formula excels[iexcel].sheets[ilayer].columns[col_index].command = andt1.c_str(); } } else { GraphLayer &glayer = graphs[igraph].layers[ilayer]; Rect r; stmp.str(anhd.substr(0x03)); GET_SHORT(stmp, r.left) GET_SHORT(stmp, r.top) GET_SHORT(stmp, r.right) GET_SHORT(stmp, r.bottom) unsigned char attach = anhd[0x28]; LOG_PRINT(logfile, "attach = %02x\n", attach) bool shown = true; // axis title shown: attach = 0x22 if (attach == 0x32) shown = false; if (attach >= (unsigned char)Attach::End_) attach = Attach::Frame; unsigned char border = anhd[0x29]; Color color = getColor(anhd.substr(0x33, 4)); if (sec_name == "PL") glayer.yAxis.formatAxis[0].prefix = andt1.c_str(); if (sec_name == "PR") glayer.yAxis.formatAxis[1].prefix = andt1.c_str(); if (sec_name == "PB") glayer.xAxis.formatAxis[0].prefix = andt1.c_str(); if (sec_name == "PT") glayer.xAxis.formatAxis[1].prefix = andt1.c_str(); if (sec_name == "SL") glayer.yAxis.formatAxis[0].suffix = andt1.c_str(); if (sec_name == "SR") glayer.yAxis.formatAxis[1].suffix = andt1.c_str(); if (sec_name == "SB") glayer.xAxis.formatAxis[0].suffix = andt1.c_str(); if (sec_name == "ST") glayer.xAxis.formatAxis[1].suffix = andt1.c_str(); if (sec_name == "OL") glayer.yAxis.formatAxis[0].factor = andt1.c_str(); if (sec_name == "OR") glayer.yAxis.formatAxis[1].factor = andt1.c_str(); if (sec_name == "OB") glayer.xAxis.formatAxis[0].factor = andt1.c_str(); if (sec_name == "OT") glayer.xAxis.formatAxis[1].factor = andt1.c_str(); if (sec_name == "X1T") { glayer.xAxis.anchor = stod(andt1); LOG_PRINT(logfile, " x axis anchor = %g\n", glayer.xAxis.anchor) } if (sec_name == "Y1T") { glayer.yAxis.anchor = stod(andt1); LOG_PRINT(logfile, " y axis anchor = %g\n", glayer.yAxis.anchor) } if (sec_name == "Z1T") { glayer.zAxis.anchor = stod(andt1); LOG_PRINT(logfile, " z axis anchor = %g\n", glayer.zAxis.anchor) } unsigned char type = andt1[0x00]; LineVertex begin, end; /* OriginNNNParser identify line/arrow annotation by checking size of andt1 Origin410: 21||24; Origin 500: 24; Origin 610: 24||96; Origin700 and higher: 120; An alternative is to look at anhd[0x02]: (0x21 for Circle/Rect, 0x22 for Line/Arrow, 0x23 for Polygon/Polyline) */ unsigned char ankind = anhd[0x02]; if (ankind == 0x22) { // Line/Arrow if ((attach == Origin::Scale) && (andt1sz > 0x5F)) { if (type == 2) { stmp.str(andt1.substr(0x20)); GET_DOUBLE(stmp, begin.x) GET_DOUBLE(stmp, end.x) stmp.str(andt1.substr(0x40)); GET_DOUBLE(stmp, begin.y) GET_DOUBLE(stmp, end.y) } else if (type == 4) { // curved arrow: start point, 2 middle points and end point stmp.str(andt1.substr(0x20)); GET_DOUBLE(stmp, begin.x) GET_DOUBLE(stmp, end.x) GET_DOUBLE(stmp, end.x) GET_DOUBLE(stmp, end.x) GET_DOUBLE(stmp, begin.y) GET_DOUBLE(stmp, end.y) GET_DOUBLE(stmp, end.y) GET_DOUBLE(stmp, end.y) } } else { short x1 = 0, x2 = 0, y1 = 0, y2 = 0; if (type == 2) { // straight line/arrow stmp.str(andt1.substr(0x01)); GET_SHORT(stmp, x1) GET_SHORT(stmp, x2) stmp.seekg(4, ios_base::cur); GET_SHORT(stmp, y1) GET_SHORT(stmp, y2) } else if (type == 4) { // curved line/arrow has 4 points stmp.str(andt1.substr(0x01)); GET_SHORT(stmp, x1) stmp.seekg(4, ios_base::cur); GET_SHORT(stmp, x2) GET_SHORT(stmp, y1) stmp.seekg(4, ios_base::cur); GET_SHORT(stmp, y2) } double dx = fabs(x2 - x1); double dy = fabs(y2 - y1); double minx = (x1 <= x2) ? x1 : x2; double miny = (y1 <= y2) ? y1 : y2; begin.x = (x1 == x2) ? r.left + 0.5 * r.width() : r.left + (x1 - minx) / dx * r.width(); end.x = (x1 == x2) ? r.left + 0.5 * r.width() : r.left + (x2 - minx) / dx * r.width(); begin.y = (y1 == y2) ? r.top + 0.5 * r.height() : r.top + (y1 - miny) / dy * r.height(); end.y = (y1 == y2) ? r.top + 0.5 * r.height() : r.top + (y2 - miny) / dy * r.height(); } if (andt1sz > 0x11) { unsigned char arrows = andt1[0x11]; switch (arrows) { case 0: begin.shapeType = 0; end.shapeType = 0; break; case 1: begin.shapeType = 1; end.shapeType = 0; break; case 2: begin.shapeType = 0; end.shapeType = 1; break; case 3: begin.shapeType = 1; end.shapeType = 1; break; } } if (andt1sz > 0x77) { begin.shapeType = andt1[0x60]; unsigned int w = 0; stmp.str(andt1.substr(0x64)); GET_INT(stmp, w) begin.shapeWidth = (double)w / 500.0; GET_INT(stmp, w) begin.shapeLength = (double)w / 500.0; end.shapeType = andt1[0x6C]; stmp.str(andt1.substr(0x70)); GET_INT(stmp, w) end.shapeWidth = (double)w / 500.0; GET_INT(stmp, w) end.shapeLength = (double)w / 500.0; } } // text properties short rotation = 0; unsigned char fontSize = 12; if (andt1sz > 0x04) { stmp.str(andt1.substr(0x02)); GET_SHORT(stmp, rotation) fontSize = andt1[0x4]; } unsigned char tab = 8; if (andt1sz > 0x0A) tab = andt1[0x0A]; // line properties unsigned char lineStyle = 0; if (andt1sz > 0x12) lineStyle = andt1[0x12]; unsigned short w1 = 0; if (andt1sz > 0x14) { stmp.str(andt1.substr(0x13)); GET_SHORT(stmp, w1) } double width = (double)w1 / 500.0; Figure figure; if (andt1sz > 0x06) { stmp.str(andt1.substr(0x05)); GET_SHORT(stmp, w1) figure.width = (double)w1 / 500.0; } if (andt1sz > 0x08) figure.style = andt1[0x08]; if (andt1sz > 0x4E) { figure.fillAreaColor = getColor(andt1.substr(0x42, 4)); stmp.str(andt1.substr(0x46)); GET_SHORT(stmp, w1) figure.fillAreaPatternWidth = (double)w1 / 500.0; figure.fillAreaPatternColor = getColor(andt1.substr(0x4A, 4)); figure.fillAreaPattern = andt1[0x4E]; } if (andt1sz > 0x57) { unsigned char h = andt1[0x57]; figure.useBorderColor = (h == 0x10); } if (sec_name == "XB") { string text = andt2.c_str(); glayer.xAxis.position = GraphAxis::Bottom; glayer.xAxis.formatAxis[0].label = TextBox( text, r, color, fontSize, rotation / 10, tab, (BorderType)(border >= 0x80 ? border - 0x80 : None), (Attach)attach, shown); } else if (sec_name == "XT") { string text = andt2.c_str(); glayer.xAxis.position = GraphAxis::Top; glayer.xAxis.formatAxis[1].label = TextBox( text, r, color, fontSize, rotation / 10, tab, (BorderType)(border >= 0x80 ? border - 0x80 : None), (Attach)attach, shown); } else if (sec_name == "YL") { string text = andt2.c_str(); glayer.yAxis.position = GraphAxis::Left; glayer.yAxis.formatAxis[0].label = TextBox( text, r, color, fontSize, rotation / 10, tab, (BorderType)(border >= 0x80 ? border - 0x80 : None), (Attach)attach, shown); } else if (sec_name == "YR") { string text = andt2.c_str(); glayer.yAxis.position = GraphAxis::Right; glayer.yAxis.formatAxis[1].label = TextBox( text, r, color, fontSize, rotation / 10, tab, (BorderType)(border >= 0x80 ? border - 0x80 : None), (Attach)attach, shown); } else if (sec_name == "ZF") { string text = andt2.c_str(); glayer.zAxis.position = GraphAxis::Front; glayer.zAxis.formatAxis[0].label = TextBox( text, r, color, fontSize, rotation / 10, tab, (BorderType)(border >= 0x80 ? border - 0x80 : None), (Attach)attach, shown); } else if (sec_name == "ZB") { string text = andt2.c_str(); glayer.zAxis.position = GraphAxis::Back; glayer.zAxis.formatAxis[1].label = TextBox( text, r, color, fontSize, rotation / 10, tab, (BorderType)(border >= 0x80 ? border - 0x80 : None), (Attach)attach, shown); } else if (sec_name == "3D") { stmp.str(andt2); GET_DOUBLE(stmp, glayer.zAxis.min) GET_DOUBLE(stmp, glayer.zAxis.max) GET_DOUBLE(stmp, glayer.zAxis.step) glayer.zAxis.majorTicks = andt2[0x1C]; glayer.zAxis.minorTicks = andt2[0x28]; glayer.zAxis.scale = andt2[0x29]; stmp.str(andt2.substr(0x5A)); GET_FLOAT(stmp, glayer.xAngle) GET_FLOAT(stmp, glayer.yAngle) GET_FLOAT(stmp, glayer.zAngle) stmp.str(andt2.substr(0x218)); GET_FLOAT(stmp, glayer.xLength) GET_FLOAT(stmp, glayer.yLength) GET_FLOAT(stmp, glayer.zLength) glayer.xLength /= 23.0; glayer.yLength /= 23.0; glayer.zLength /= 23.0; glayer.orthographic3D = (andt2[0x240] != 0); } else if ((sec_name == "Legend") || (sec_name == "legend")) { string text = andt2.c_str(); glayer.legend = TextBox(text, r, color, fontSize, rotation / 10, tab, (BorderType)(border >= 0x80 ? border - 0x80 : None), (Attach)attach); } else if (sec_name == "__BCO2") { // histogram stmp.str(andt2.substr(0x10)); GET_DOUBLE(stmp, glayer.histogramBin) stmp.str(andt2.substr(0x20)); GET_DOUBLE(stmp, glayer.histogramEnd) GET_DOUBLE(stmp, glayer.histogramBegin) // TODO: check if 0x5E is right (obtained from anhdsz-0x46+93-andt1sz = 111-70+93-40 = // 94) glayer.percentile.p1SymbolType = andt2[0x5E]; glayer.percentile.p99SymbolType = andt2[0x5F]; glayer.percentile.meanSymbolType = andt2[0x60]; glayer.percentile.maxSymbolType = andt2[0x61]; glayer.percentile.minSymbolType = andt2[0x62]; // 0x9F = 0x5E+65 glayer.percentile.labels = andt2[0x9F]; // 0x6B = 0x5E+106-93 = 107 glayer.percentile.whiskersRange = andt2[0x6B]; glayer.percentile.boxRange = andt2[0x6C]; // 0x8e = 0x5E+141-93 = 142 glayer.percentile.whiskersCoeff = andt2[0x8e]; glayer.percentile.boxCoeff = andt2[0x8f]; unsigned char h = andt2[0x90]; glayer.percentile.diamondBox = (h == 0x82) ? true : false; // 0xCB = 0x5E+109 = 203 stmp.str(andt2.substr(0xCB)); GET_SHORT(stmp, glayer.percentile.symbolSize) glayer.percentile.symbolSize = glayer.percentile.symbolSize / 2 + 1; // 0x101 = 0x5E+163 glayer.percentile.symbolColor = getColor(andt2.substr(0x101, 4)); glayer.percentile.symbolFillColor = getColor(andt2.substr(0x105, 4)); } else if (sec_name == "_206") { // box plot labels } else if (sec_name == "VLine") { stmp.str(andt1.substr(0x0A)); double start; GET_DOUBLE(stmp, start) stmp.str(andt1.substr(0x1A)); double vLineWidth; GET_DOUBLE(stmp, vLineWidth) glayer.vLine = start + 0.5 * vLineWidth; glayer.imageProfileTool = 2; } else if (sec_name == "HLine") { stmp.str(andt1.substr(0x12)); double start; GET_DOUBLE(stmp, start) stmp.str(andt1.substr(0x22)); double hLineWidth; GET_DOUBLE(stmp, hLineWidth) glayer.hLine = start + 0.5 * hLineWidth; glayer.imageProfileTool = 2; } else if (sec_name == "vline") { stmp.str(andt1.substr(0x20)); GET_DOUBLE(stmp, glayer.vLine) glayer.imageProfileTool = 1; } else if (sec_name == "hline") { stmp.str(andt1.substr(0x40)); GET_DOUBLE(stmp, glayer.hLine) glayer.imageProfileTool = 1; } else if (sec_name == "ZCOLORS") { glayer.isXYY3D = true; if (fileVersion < 600) { ColorMap &colorMap = glayer.colorMap; getZcolorsMap(colorMap, andt2, andt2sz); } } else if (sec_name == "SPECTRUM1") { glayer.isXYY3D = false; glayer.colorScale.visible = true; glayer.colorScale.reverseOrder = (andt2[0x18] != 0); stmp.str(andt2.substr(0x20)); GET_SHORT(stmp, glayer.colorScale.colorBarThickness) GET_SHORT(stmp, glayer.colorScale.labelGap) glayer.colorScale.labelsColor = getColor(andt2.substr(0x5C, 4)); } else if (sec_name == "&0") { glayer.isWaterfall = true; string text = andt1.c_str(); string::size_type commaPos = text.find_first_of(","); stmp.str(text.substr(0, commaPos)); stmp >> glayer.xOffset; stmp.str(text.substr(commaPos + 1)); stmp >> glayer.yOffset; } /* OriginNNNParser identify text, circle, rectangle and bitmap annotation by checking size of andt1: text/pie text rectangle/circle line bitmap Origin410: 22 0xA(10) 21/24 38 Origin500: 22 0xA(10) 24 40 Origin610: 22 0xA(10) 24/96 40 Origin700: 0x5E(94) 120 0x28(40) Origin750: 0x3E(62)/78 0x5E(94) 0x78(120) 0x28(40) Origin850: 0x3E(62)/78 0x5E(94) 0x78(120) 0x28(40) An alternative is to look at anhd[0x02]: (0x00 for Text, 0x21 for Circle/Rect, 0x22 for Line/Arrow, 0x23 for Polygon/Polyline) */ else if ((ankind == 0x0) && (sec_name != "DelData")) { // text string text = andt2.c_str(); if (sec_name.substr(0, 3) == "PIE") glayer.pieTexts.push_back(TextBox( text, r, color, fontSize, rotation / 10, tab, (BorderType)(border >= 0x80 ? border - 0x80 : None), (Attach)attach)); else glayer.texts.push_back(TextBox(text, r, color, fontSize, rotation / 10, tab, (BorderType)(border >= 0x80 ? border - 0x80 : None), (Attach)attach)); } else if (ankind == 0x21) { // rectangle & circle switch (type) { // type = andt1[0x00] case 0: case 1: figure.type = Figure::Rectangle; break; case 2: case 3: figure.type = Figure::Circle; break; } figure.clientRect = r; figure.attach = (Attach)attach; figure.color = color; glayer.figures.push_back(figure); } else if ((ankind == 0x22) && (sec_name != "sLine") && (sec_name != "sline")) { // line/arrow glayer.lines.push_back(Line()); Line &line(glayer.lines.back()); line.color = color; line.clientRect = r; line.attach = (Attach)attach; line.width = width; line.style = lineStyle; line.begin = begin; line.end = end; } else if (andt1sz == 40) { // bitmap if (type == 4) { // type = andt1[0x00] unsigned long filesize = andt2sz + 14; glayer.bitmaps.push_back(Bitmap()); Bitmap &bitmap(glayer.bitmaps.back()); bitmap.clientRect = r; bitmap.attach = (Attach)attach; bitmap.size = filesize; bitmap.borderType = (BorderType)(border >= 0x80 ? border - 0x80 : None); bitmap.data = new unsigned char[filesize]; unsigned char *data = bitmap.data; // add Bitmap header memcpy(data, "BM", 2); data += 2; memcpy(data, &filesize, 4); data += 4; unsigned int d = 0; memcpy(data, &d, 4); data += 4; d = 0x36; memcpy(data, &d, 4); data += 4; memcpy(data, andt2.c_str(), andt2sz); } else if (type == 6) { // TODO check if 0x5E is right (obtained from anhdsz-0x46+93-andt1sz = 111-70+93-40 // = 94) string gname = andt2.substr(0x5E).c_str(); glayer.bitmaps.push_back(Bitmap(gname)); Bitmap &bitmap(glayer.bitmaps.back()); bitmap.clientRect = r; bitmap.attach = (Attach)attach; bitmap.size = 0; bitmap.borderType = (BorderType)(border >= 0x80 ? border - 0x80 : None); } } } return; } void OriginAnyParser::getCurveProperties(const string &cvehd, unsigned int cvehdsz, const string &cvedt, unsigned int cvedtsz) { LOG_PRINT(logfile, "getCurveProperties()\n") istringstream stmp; if (ispread != -1) { // spreadsheet: curves are columns // TODO: check that spreadsheet columns are stored in proper order // vector header; unsigned char c = cvehd[0x11]; string name = cvehd.substr(0x12).c_str(); unsigned short width = 0; if (cvehdsz > 0x4B) { stmp.str(cvehd.substr(0x4A)); GET_SHORT(stmp, width) } int col_index = findColumnByName((int)ispread, name); if (col_index != -1) { spreadSheets[ispread].columns[col_index].name = name; SpreadColumn::ColumnType type; switch (c) { case 3: type = SpreadColumn::X; break; case 0: type = SpreadColumn::Y; break; case 5: type = SpreadColumn::Z; break; case 6: type = SpreadColumn::XErr; break; case 2: type = SpreadColumn::YErr; break; case 4: type = SpreadColumn::Label; break; default: type = SpreadColumn::NONE; break; } spreadSheets[ispread].columns[col_index].type = type; width /= 0xA; if (width == 0) width = 8; spreadSheets[ispread].columns[col_index].width = width; unsigned char c1 = cvehd[0x1E]; unsigned char c2 = cvehd[0x1F]; switch (c1) { case 0x00: // Numeric - Dec1000 case 0x09: // Text&Numeric - Dec1000 case 0x10: // Numeric - Scientific case 0x19: // Text&Numeric - Scientific case 0x20: // Numeric - Engineering case 0x29: // Text&Numeric - Engineering case 0x30: // Numeric - Dec1,000 case 0x39: // Text&Numeric - Dec1,000 spreadSheets[ispread].columns[col_index].valueType = (c1 % 0x10 == 0x9) ? TextNumeric : Numeric; spreadSheets[ispread].columns[col_index].valueTypeSpecification = c1 / 0x10; if (c2 >= 0x80) { spreadSheets[ispread].columns[col_index].significantDigits = c2 - 0x80; spreadSheets[ispread].columns[col_index].numericDisplayType = SignificantDigits; } else if (c2 > 0) { spreadSheets[ispread].columns[col_index].decimalPlaces = c2 - 0x03; spreadSheets[ispread].columns[col_index].numericDisplayType = DecimalPlaces; } break; case 0x02: // Time spreadSheets[ispread].columns[col_index].valueType = Time; spreadSheets[ispread].columns[col_index].valueTypeSpecification = c2 - 0x80; break; case 0x03: // Date case 0x33: spreadSheets[ispread].columns[col_index].valueType = Date; spreadSheets[ispread].columns[col_index].valueTypeSpecification = c2 - 0x80; break; case 0x31: // Text spreadSheets[ispread].columns[col_index].valueType = Text; break; case 0x4: // Month case 0x34: spreadSheets[ispread].columns[col_index].valueType = Month; spreadSheets[ispread].columns[col_index].valueTypeSpecification = c2; break; case 0x5: // Day case 0x35: spreadSheets[ispread].columns[col_index].valueType = Day; spreadSheets[ispread].columns[col_index].valueTypeSpecification = c2; break; default: // Text spreadSheets[ispread].columns[col_index].valueType = Text; break; } if (cvedtsz > 0) { spreadSheets[ispread].columns[col_index].comment = cvedt.c_str(); } // TODO: check that spreadsheet columns are stored in proper order // header.push_back(spreadSheets[ispread].columns[col_index]); } // TODO: check that spreadsheet columns are stored in proper order // for (unsigned int i = 0; i < header.size(); i++) // spreadSheets[spread].columns[i] = header[i]; } else if (imatrix != -1) { MatrixSheet sheet = matrixes[imatrix].sheets[ilayer]; unsigned char c1 = cvehd[0x1E]; unsigned char c2 = cvehd[0x1F]; sheet.valueTypeSpecification = c1 / 0x10; if (c2 >= 0x80) { sheet.significantDigits = c2 - 0x80; sheet.numericDisplayType = SignificantDigits; } else if (c2 > 0) { sheet.decimalPlaces = c2 - 0x03; sheet.numericDisplayType = DecimalPlaces; } matrixes[imatrix].sheets[ilayer] = sheet; } else if (iexcel != -1) { unsigned char c = cvehd[0x11]; string name = cvehd.substr(0x12).c_str(); unsigned short width = 0; stmp.str(cvehd.substr(0x4A)); GET_SHORT(stmp, width) unsigned short dataID = 0; stmp.str(cvehd.substr(0x04)); GET_SHORT(stmp, dataID) unsigned int isheet = datasets[dataID - 1].sheet; vector::difference_type col_index = findExcelColumnByName(iexcel, isheet, name); if (col_index != -1) { SpreadColumn::ColumnType type; switch (c) { case 3: type = SpreadColumn::X; break; case 0: type = SpreadColumn::Y; break; case 5: type = SpreadColumn::Z; break; case 6: type = SpreadColumn::XErr; break; case 2: type = SpreadColumn::YErr; break; case 4: type = SpreadColumn::Label; break; default: type = SpreadColumn::NONE; break; } excels[iexcel].sheets[isheet].columns[col_index].type = type; width /= 0xA; if (width == 0) width = 8; excels[iexcel].sheets[isheet].columns[col_index].width = width; unsigned char c1 = cvehd[0x1E]; unsigned char c2 = cvehd[0x1F]; switch (c1) { case 0x00: // Numeric - Dec1000 case 0x09: // Text&Numeric - Dec1000 case 0x10: // Numeric - Scientific case 0x19: // Text&Numeric - Scientific case 0x20: // Numeric - Engineering case 0x29: // Text&Numeric - Engineering case 0x30: // Numeric - Dec1,000 case 0x39: // Text&Numeric - Dec1,000 excels[iexcel].sheets[isheet].columns[col_index].valueType = (c1 % 0x10 == 0x9) ? TextNumeric : Numeric; excels[iexcel].sheets[isheet].columns[col_index].valueTypeSpecification = c1 / 0x10; if (c2 >= 0x80) { excels[iexcel].sheets[isheet].columns[col_index].significantDigits = c2 - 0x80; excels[iexcel].sheets[isheet].columns[col_index].numericDisplayType = SignificantDigits; } else if (c2 > 0) { excels[iexcel].sheets[isheet].columns[col_index].decimalPlaces = c2 - 0x03; excels[iexcel].sheets[isheet].columns[col_index].numericDisplayType = DecimalPlaces; } break; case 0x02: // Time excels[iexcel].sheets[isheet].columns[col_index].valueType = Time; excels[iexcel].sheets[isheet].columns[col_index].valueTypeSpecification = c2 - 0x80; break; case 0x03: // Date excels[iexcel].sheets[isheet].columns[col_index].valueType = Date; excels[iexcel].sheets[isheet].columns[col_index].valueTypeSpecification = c2 - 0x80; break; case 0x31: // Text excels[iexcel].sheets[isheet].columns[col_index].valueType = Text; break; case 0x04: // Month case 0x34: excels[iexcel].sheets[isheet].columns[col_index].valueType = Month; excels[iexcel].sheets[isheet].columns[col_index].valueTypeSpecification = c2; break; case 0x05: // Day case 0x35: excels[iexcel].sheets[isheet].columns[col_index].valueType = Day; excels[iexcel].sheets[isheet].columns[col_index].valueTypeSpecification = c2; break; default: // Text excels[iexcel].sheets[isheet].columns[col_index].valueType = Text; break; } if (cvedtsz > 0) { excels[iexcel].sheets[isheet].columns[col_index].comment = cvedt.c_str(); } } } else { GraphLayer &glayer = graphs[igraph].layers[ilayer]; glayer.curves.push_back(GraphCurve()); GraphCurve &curve(glayer.curves.back()); unsigned char h = cvehd[0x26]; curve.hidden = (h == 33); curve.type = cvehd[0x4C]; if (curve.type == GraphCurve::XYZContour || curve.type == GraphCurve::Contour) glayer.isXYY3D = false; unsigned short w; stmp.str(cvehd.substr(0x04)); GET_SHORT(stmp, w) pair column = findDataByIndex(w - 1); short nColY = w; if (column.first.size() > 0) { curve.dataName = column.first; if (glayer.is3D() || (curve.type == GraphCurve::XYZContour)) { curve.zColumnName = column.second; } else { curve.yColumnName = column.second; } } stmp.str(cvehd.substr(0x23)); GET_SHORT(stmp, w) column = findDataByIndex(w - 1); if (column.first.size() > 0) { curve.xDataName = (curve.dataName != column.first) ? column.first : string(); if (glayer.is3D() || (curve.type == GraphCurve::XYZContour)) { curve.yColumnName = column.second; } else if (glayer.isXYY3D) { curve.xColumnName = column.second; } else { curve.xColumnName = column.second; } } if (cvehdsz > 0x4E) { stmp.str(cvehd.substr(0x4D)); GET_SHORT(stmp, w) column = findDataByIndex(w - 1); if (column.first.size() > 0 && (glayer.is3D() || (curve.type == GraphCurve::XYZContour))) { curve.xColumnName = column.second; if (curve.dataName != column.first) { // graph X and Y from different tables } } } if (glayer.is3D() || glayer.isXYY3D) graphs[igraph].is3D = true; curve.lineConnect = cvehd[0x11]; curve.lineStyle = cvehd[0x12]; curve.boxWidth = cvehd[0x14]; stmp.str(cvehd.substr(0x15)); GET_SHORT(stmp, w) curve.lineWidth = (double)w / 500.0; curve.symbolShape = cvehd[0x17]; curve.symbolInterior = cvehd[0x18]; stmp.str(cvehd.substr(0x19)); GET_SHORT(stmp, w) curve.symbolSize = (double)w / 500.0; h = cvehd[0x1C]; curve.fillArea = (h == 2); curve.fillAreaType = cvehd[0x1E]; // text if (curve.type == GraphCurve::TextPlot) { stmp.str(cvehd.substr(0x13)); GET_SHORT(stmp, curve.text.rotation) curve.text.rotation /= 10; GET_SHORT(stmp, curve.text.fontSize) h = cvehd[0x19]; switch (h) { case 26: curve.text.justify = TextProperties::Center; break; case 2: curve.text.justify = TextProperties::Right; break; default: curve.text.justify = TextProperties::Left; break; } h = cvehd[0x20]; curve.text.fontUnderline = ((h & 0x1) != 0); curve.text.fontItalic = ((h & 0x2) != 0); curve.text.fontBold = ((h & 0x8) != 0); curve.text.whiteOut = ((h & 0x20) != 0); char offset = cvehd[0x37]; curve.text.xOffset = offset * 5; offset = cvehd[0x38]; curve.text.yOffset = offset * 5; } // vector if (curve.type == GraphCurve::FlowVector || curve.type == GraphCurve::Vector) { stmp.str(cvehd.substr(0x56)); GET_FLOAT(stmp, curve.vector.multiplier) h = cvehd[0x5E]; column = findDataByIndex(nColY - 1 + h - 0x64); if (column.first.size() > 0) curve.vector.endXColumnName = column.second; h = cvehd[0x62]; column = findDataByIndex(nColY - 1 + h - 0x64); if (column.first.size() > 0) curve.vector.endYColumnName = column.second; h = cvehd[0x18]; if (h >= 0x64) { column = findDataByIndex(nColY - 1 + h - 0x64); if (column.first.size() > 0) curve.vector.angleColumnName = column.second; } else if (h <= 0x08) curve.vector.constAngle = 45 * h; h = cvehd[0x19]; if (h >= 0x64) { column = findDataByIndex(nColY - 1 + h - 0x64); if (column.first.size() > 0) curve.vector.magnitudeColumnName = column.second; } else curve.vector.constMagnitude = (int)curve.symbolSize; stmp.str(cvehd.substr(0x66)); GET_SHORT(stmp, curve.vector.arrowLength) curve.vector.arrowAngle = cvehd[0x68]; h = cvehd[0x69]; curve.vector.arrowClosed = !(h & 0x1); stmp.str(cvehd.substr(0x70)); GET_SHORT(stmp, w) curve.vector.width = (double)w / 500.0; h = cvehd[0x142]; switch (h) { case 2: curve.vector.position = VectorProperties::Midpoint; break; case 4: curve.vector.position = VectorProperties::Head; break; default: curve.vector.position = VectorProperties::Tail; break; } } // pie if (curve.type == GraphCurve::Pie) { // code from Origin410/500Parser h = cvehd[0x14]; curve.pie.formatPercentages = ((h & 0x08) != 0); curve.pie.formatValues = !curve.pie.formatPercentages; curve.pie.positionAssociate = ((h & 0x80) != 0); curve.pie.formatCategories = ((h & 0x20) != 0); h = cvehd[0x19]; curve.pie.radius = 100 - h; h = cvehd[0x1A]; curve.pie.distance = h; curve.pie.formatAutomatic = true; curve.pie.viewAngle = 90; curve.pie.thickness = 33; curve.pie.rotation = 0; curve.pie.horizontalOffset = 0; if (cvehdsz > 0xA9) { // code from Origin750Parser.cpp h = cvehd[0x92]; curve.pie.formatPercentages = ((h & 0x01) != 0); curve.pie.formatValues = ((h & 0x02) != 0); curve.pie.positionAssociate = ((h & 0x08) != 0); curve.pie.clockwiseRotation = ((h & 0x20) != 0); curve.pie.formatCategories = ((h & 0x80) != 0); curve.pie.formatAutomatic = (cvehd[0x93] != 0); stmp.str(cvehd.substr(0x94)); GET_SHORT(stmp, curve.pie.distance) curve.pie.viewAngle = cvehd[0x96]; curve.pie.thickness = cvehd[0x98]; stmp.str(cvehd.substr(0x9A)); GET_SHORT(stmp, curve.pie.rotation) stmp.str(cvehd.substr(0x9E)); GET_SHORT(stmp, curve.pie.displacement) stmp.str(cvehd.substr(0xA0)); GET_SHORT(stmp, curve.pie.radius) GET_SHORT(stmp, curve.pie.horizontalOffset) stmp.str(cvehd.substr(0xA6)); GET_INT(stmp, curve.pie.displacedSectionCount) } } // surface if (glayer.isXYY3D || curve.type == GraphCurve::Mesh3D) { curve.surface.type = cvehd[0x17]; h = cvehd[0x1C]; if ((h & 0x60) == 0x60) curve.surface.grids = SurfaceProperties::X; else if (h & 0x20) curve.surface.grids = SurfaceProperties::Y; else if (h & 0x40) curve.surface.grids = SurfaceProperties::None; else curve.surface.grids = SurfaceProperties::XY; curve.surface.sideWallEnabled = ((h & 0x10) != 0); curve.surface.frontColor = getColor(cvehd.substr(0x1D, 4)); h = cvehd[0x13]; curve.surface.backColorEnabled = ((h & 0x08) != 0); curve.surface.surface.fill = ((h & 0x10) != 0); curve.surface.surface.contour = ((h & 0x40) != 0); curve.surface.topContour.fill = ((h & 0x02) != 0); curve.surface.topContour.contour = ((h & 0x04) != 0); curve.surface.bottomContour.fill = ((h & 0x80) != 0); curve.surface.bottomContour.contour = ((h & 0x01) != 0); if (cvehdsz > 0x165) { stmp.str(cvehd.substr(0x14C)); GET_SHORT(stmp, w) curve.surface.gridLineWidth = (double)w / 500.0; curve.surface.gridColor = getColor(cvehd.substr(0x14E, 4)); curve.surface.backColor = getColor(cvehd.substr(0x15A, 4)); curve.surface.xSideWallColor = getColor(cvehd.substr(0x15E, 4)); curve.surface.ySideWallColor = getColor(cvehd.substr(0x162, 4)); } if (cvehdsz > 0xA9) { stmp.str(cvehd.substr(0x94)); GET_SHORT(stmp, w) curve.surface.surface.lineWidth = (double)w / 500.0; curve.surface.surface.lineColor = getColor(cvehd.substr(0x96, 4)); stmp.str(cvehd.substr(0xB4)); GET_SHORT(stmp, w) curve.surface.topContour.lineWidth = (double)w / 500.0; curve.surface.topContour.lineColor = getColor(cvehd.substr(0xB6, 4)); stmp.str(cvehd.substr(0xA4)); GET_SHORT(stmp, w) curve.surface.bottomContour.lineWidth = (double)w / 500.0; curve.surface.bottomContour.lineColor = getColor(cvehd.substr(0xA6, 4)); } } if (curve.type == GraphCurve::Mesh3D || curve.type == GraphCurve::Contour || curve.type == GraphCurve::XYZContour) { if (curve.type == GraphCurve::Contour || curve.type == GraphCurve::XYZContour) glayer.isXYY3D = false; ColorMap &colorMap = (curve.type == GraphCurve::Mesh3D ? curve.surface.colorMap : curve.colorMap); h = cvehd[0x13]; colorMap.fillEnabled = ((h & 0x82) != 0); if ((curve.type == GraphCurve::Contour) && (cvehdsz > 0x89)) { stmp.str(cvehd.substr(0x7A)); GET_SHORT(stmp, curve.text.fontSize) h = cvehd[0x83]; curve.text.fontUnderline = ((h & 0x1) != 0); curve.text.fontItalic = ((h & 0x2) != 0); curve.text.fontBold = ((h & 0x8) != 0); curve.text.whiteOut = ((h & 0x20) != 0); curve.text.color = getColor(cvehd.substr(0x86, 4)); } if (cvedtsz > 0x6C) { getColorMap(colorMap, cvedt, cvedtsz); } else { colorMap = glayer.colorMap; } } if (fileVersion >= 850) { curve.lineTransparency = cvehd[0x9C]; h = cvehd[0x9D]; curve.fillAreaWithLineTransparency = !h; curve.fillAreaTransparency = cvehd[0x11E]; } else { // use sensible default values curve.fillAreaWithLineTransparency = false; curve.fillAreaTransparency = 255; } if (cvehdsz > 0x143) { curve.fillAreaColor = getColor(cvehd.substr(0xC2, 4)); stmp.str(cvehd.substr(0xC6)); GET_SHORT(stmp, w) curve.fillAreaPatternWidth = (double)w / 500.0; curve.fillAreaPatternColor = getColor(cvehd.substr(0xCA, 4)); curve.fillAreaPattern = cvehd[0xCE]; curve.fillAreaPatternBorderStyle = cvehd[0xCF]; stmp.str(cvehd.substr(0xD0)); GET_SHORT(stmp, w) curve.fillAreaPatternBorderWidth = (double)w / 500.0; curve.fillAreaPatternBorderColor = getColor(cvehd.substr(0xD2, 4)); curve.fillAreaTransparency = cvehd[0x11E]; curve.lineColor = getColor(cvehd.substr(0x16A, 4)); if (curve.type != GraphCurve::Contour) curve.text.color = curve.lineColor; curve.symbolFillColor = getColor(cvehd.substr(0x12E, 4)); curve.symbolColor = getColor(cvehd.substr(0x132, 4)); curve.vector.color = curve.symbolColor; h = cvehd[0x136]; curve.symbolThickness = (h == 255 ? 1 : h); curve.pointOffset = cvehd[0x137]; // h = cvehd[0x138]; curve.symbolFillTransparency = cvehd[0x139]; h = cvehd[0x143]; curve.connectSymbols = ((h & 0x8) != 0); } } } void OriginAnyParser::getAxisBreakProperties(const string &abdata, unsigned int abdatasz) { LOG_PRINT(logfile, "getAxisBreakProperties()\n") istringstream stmp; (void)abdatasz; if (ispread != -1) { // spreadsheet } else if (imatrix != -1) { // matrix } else if (iexcel != -1) { // excel } else { // graph GraphLayer &glayer = graphs[igraph].layers[ilayer]; unsigned char h = abdata[0x02]; if (h == 2) { glayer.xAxisBreak.minorTicksBefore = glayer.xAxis.minorTicks; glayer.xAxisBreak.scaleIncrementBefore = glayer.xAxis.step; glayer.xAxisBreak.show = true; stmp.str(abdata.substr(0x0B)); GET_DOUBLE(stmp, glayer.xAxisBreak.from) GET_DOUBLE(stmp, glayer.xAxisBreak.to) GET_DOUBLE(stmp, glayer.xAxisBreak.scaleIncrementAfter) GET_DOUBLE(stmp, glayer.xAxisBreak.position) h = abdata[0x2B]; glayer.xAxisBreak.log10 = (h == 1); glayer.xAxisBreak.minorTicksAfter = abdata[0x2C]; } else if (h == 4) { glayer.yAxisBreak.minorTicksBefore = glayer.yAxis.minorTicks; glayer.yAxisBreak.scaleIncrementBefore = glayer.yAxis.step; glayer.yAxisBreak.show = true; stmp.str(abdata.substr(0x0B)); GET_DOUBLE(stmp, glayer.yAxisBreak.from) GET_DOUBLE(stmp, glayer.yAxisBreak.to) GET_DOUBLE(stmp, glayer.yAxisBreak.scaleIncrementAfter) GET_DOUBLE(stmp, glayer.yAxisBreak.position) h = abdata[0x2B]; glayer.yAxisBreak.log10 = (h == 1); glayer.yAxisBreak.minorTicksAfter = abdata[0x2C]; } } } void OriginAnyParser::getAxisParameterProperties(const string &apdata, unsigned int apdatasz, int naxis) { LOG_PRINT(logfile, "getAxisParameterProperties()\n") istringstream stmp; if (igraph != -1) { static int iaxispar = 0; unsigned char h = 0; unsigned short w = 0; GraphLayer &glayer = graphs[igraph].layers[ilayer]; GraphAxis axis = glayer.xAxis; if (naxis == 1) { axis = glayer.xAxis; } else if (naxis == 2) { axis = glayer.yAxis; } else if (naxis == 3) { axis = glayer.zAxis; } if (iaxispar == 0) { // minor Grid h = apdata[0x26]; axis.minorGrid.hidden = (h == 0); axis.minorGrid.color = apdata[0x0F]; axis.minorGrid.style = apdata[0x12]; stmp.str(apdata.substr(0x15)); GET_SHORT(stmp, w) axis.minorGrid.width = (double)w / 500.0; } else if (iaxispar == 1) { // major Grid h = apdata[0x26]; axis.majorGrid.hidden = (h == 0); axis.majorGrid.color = apdata[0x0F]; axis.majorGrid.style = apdata[0x12]; stmp.str(apdata.substr(0x15)); GET_SHORT(stmp, w) axis.majorGrid.width = (double)w / 500.0; } else if (iaxispar == 2) { // tickaxis 0 h = apdata[0x26]; axis.tickAxis[0].showMajorLabels = ((h & 0x40) != 0); axis.tickAxis[0].color = apdata[0x0F]; stmp.str(apdata.substr(0x13)); GET_SHORT(stmp, w) axis.tickAxis[0].rotation = w / 10; GET_SHORT(stmp, w) axis.tickAxis[0].fontSize = w; h = apdata[0x1A]; axis.tickAxis[0].fontBold = ((h & 0x08) != 0); stmp.str(apdata.substr(0x23)); GET_SHORT(stmp, w) h = apdata[0x25]; unsigned char h1 = apdata[0x26]; axis.tickAxis[0].valueType = (ValueType)(h & 0x0F); pair column; switch (axis.tickAxis[0].valueType) { case Numeric: /*switch ((h>>4)) { case 0x9: axis.tickAxis[0].valueTypeSpecification=1; break; case 0xA: axis.tickAxis[0].valueTypeSpecification=2; break; case 0xB: axis.tickAxis[0].valueTypeSpecification=3; break; default: axis.tickAxis[0].valueTypeSpecification=0; }*/ if ((h >> 4) > 7) { axis.tickAxis[0].valueTypeSpecification = (h >> 4) - 8; axis.tickAxis[0].decimalPlaces = h1 - 0x40; } else { axis.tickAxis[0].valueTypeSpecification = (h >> 4); axis.tickAxis[0].decimalPlaces = -1; } break; case Time: case Date: case Month: case Day: case ColumnHeading: axis.tickAxis[0].valueTypeSpecification = h1 - 0x40; break; case Text: case TickIndexedDataset: case Categorical: column = findDataByIndex(w - 1); if (column.first.size() > 0) { axis.tickAxis[0].dataName = column.first; axis.tickAxis[0].columnName = column.second; } break; case TextNumeric: // Numeric Decimal 1.000 axis.tickAxis[0].valueType = Numeric; axis.tickAxis[0].valueTypeSpecification = 0; break; } } else if (iaxispar == 3) { // formataxis 0 h = apdata[0x26]; axis.formatAxis[0].hidden = (h == 0); axis.formatAxis[0].color = apdata[0x0F]; if (apdatasz > 0x4B) { stmp.str(apdata.substr(0x4A)); GET_SHORT(stmp, w) axis.formatAxis[0].majorTickLength = (double)w / 10.0; } stmp.str(apdata.substr(0x15)); GET_SHORT(stmp, w) axis.formatAxis[0].thickness = (double)w / 500.0; h = apdata[0x25]; axis.formatAxis[0].minorTicksType = (h >> 6); axis.formatAxis[0].majorTicksType = ((h >> 4) & 3); axis.formatAxis[0].axisPosition = (h & 0x0F); short w1 = 0; switch (axis.formatAxis[0].axisPosition) { // TODO: check if correct case 1: stmp.str(apdata.substr(0x37)); GET_SHORT(stmp, w1) axis.formatAxis[0].axisPositionValue = (double)w1; break; case 2: stmp.str(apdata.substr(0x2F)); GET_DOUBLE(stmp, axis.formatAxis[0].axisPositionValue) break; } } else if (iaxispar == 4) { // tickaxis 1 h = apdata[0x26]; axis.tickAxis[1].showMajorLabels = ((h & 0x40) != 0); axis.tickAxis[1].color = apdata[0x0F]; stmp.str(apdata.substr(0x13)); GET_SHORT(stmp, w) axis.tickAxis[1].rotation = w / 10; GET_SHORT(stmp, w) axis.tickAxis[1].fontSize = w; h = apdata[0x1A]; axis.tickAxis[1].fontBold = ((h & 0x08) != 0); stmp.str(apdata.substr(0x23)); GET_SHORT(stmp, w) h = apdata[0x25]; unsigned char h1 = apdata[0x26]; axis.tickAxis[1].valueType = (ValueType)(h & 0x0F); pair column; switch (axis.tickAxis[1].valueType) { case Numeric: /*switch ((h>>4)) { case 0x9: axis.tickAxis[1].valueTypeSpecification=1; break; case 0xA: axis.tickAxis[1].valueTypeSpecification=2; break; case 0xB: axis.tickAxis[1].valueTypeSpecification=3; break; default: axis.tickAxis[1].valueTypeSpecification=0; }*/ if ((h >> 4) > 7) { axis.tickAxis[1].valueTypeSpecification = (h >> 4) - 8; axis.tickAxis[1].decimalPlaces = h1 - 0x40; } else { axis.tickAxis[1].valueTypeSpecification = (h >> 4); axis.tickAxis[1].decimalPlaces = -1; } break; case Time: case Date: case Month: case Day: case ColumnHeading: axis.tickAxis[1].valueTypeSpecification = h1 - 0x40; break; case Text: case TickIndexedDataset: case Categorical: column = findDataByIndex(w - 1); if (column.first.size() > 0) { axis.tickAxis[1].dataName = column.first; axis.tickAxis[1].columnName = column.second; } break; case TextNumeric: // Numeric Decimal 1.000 axis.tickAxis[1].valueType = Numeric; axis.tickAxis[1].valueTypeSpecification = 0; break; } } else if (iaxispar == 5) { // formataxis 1 h = apdata[0x26]; axis.formatAxis[1].hidden = (h == 0); axis.formatAxis[1].color = apdata[0x0F]; if (apdatasz > 0x4B) { stmp.str(apdata.substr(0x4A)); GET_SHORT(stmp, w) axis.formatAxis[1].majorTickLength = (double)w / 10.0; } stmp.str(apdata.substr(0x15)); GET_SHORT(stmp, w) axis.formatAxis[1].thickness = (double)w / 500.0; h = apdata[0x25]; axis.formatAxis[1].minorTicksType = (h >> 6); axis.formatAxis[1].majorTicksType = ((h >> 4) & 3); axis.formatAxis[1].axisPosition = (h & 0x0F); short w1 = 0; switch (axis.formatAxis[1].axisPosition) { // TODO: check if correct case 1: stmp.str(apdata.substr(0x37)); GET_SHORT(stmp, w1) axis.formatAxis[1].axisPositionValue = (double)w1; break; case 2: stmp.str(apdata.substr(0x2F)); GET_DOUBLE(stmp, axis.formatAxis[1].axisPositionValue) break; } } if (naxis == 1) { glayer.xAxis = axis; } else if (naxis == 2) { glayer.yAxis = axis; } else if (naxis == 3) { glayer.zAxis = axis; } iaxispar++; iaxispar %= 6; } } void OriginAnyParser::getNoteProperties(const string &nwehd, unsigned int nwehdsz, const string &nwelb, unsigned int nwelbsz, const string &nwect, unsigned int nwectsz) { LOG_PRINT(logfile, "getNoteProperties()\n"); istringstream stmp; (void)nwehdsz; (void)nwelbsz; (void)nwectsz; // note window position and size Rect rect; unsigned int coord; stmp.str(nwehd); GET_INT(stmp, coord) rect.left = static_cast(coord); GET_INT(stmp, coord) rect.top = static_cast(coord); GET_INT(stmp, coord) rect.right = static_cast(coord); GET_INT(stmp, coord) rect.bottom = static_cast(coord); string name = nwelb.c_str(); // ResultsLog note window has left, top, right, bottom all zero. // All other parameters are also zero, except "name" and "text". if (!rect.bottom || !rect.right) { resultsLog = nwect; return; } unsigned char state = nwehd[0x18]; // files from version < 6.0 have nwehdsz < 1D if (nwehdsz < 0x2F) return; double creationDate, modificationDate; stmp.str(nwehd.substr(0x20)); GET_DOUBLE(stmp, creationDate) GET_DOUBLE(stmp, modificationDate) if (nwehdsz < 0x38) return; unsigned char c = nwehd[0x38]; if (nwehdsz < 0x3F) return; unsigned int labellen = 0; stmp.str(nwehd.substr(0x3C)); GET_INT(stmp, labellen) notes.push_back(Note(name)); LOG_PRINT(logfile, "notes: %d\n", (int)notes.size()); notes.back().objectID = objectIndex; ++objectIndex; notes.back().frameRect = rect; notes.back().creationDate = doubleToPosixTime(creationDate); notes.back().modificationDate = doubleToPosixTime(modificationDate); if (c == 0x01) notes.back().title = Window::Label; else if (c == 0x02) notes.back().title = Window::Name; else notes.back().title = Window::Both; if (state == 0x07) notes.back().state = Window::Minimized; else if (state == 0x0b) notes.back().state = Window::Maximized; notes.back().hidden = ((state & 0x40) != 0); if (labellen > 1) { notes.back().label = nwect.substr(0, labellen); notes.back().text = nwect.substr(labellen).c_str(); } else { notes.back().text = nwect.c_str(); } } void OriginAnyParser::getColorMap(ColorMap &cmap, const string &cmapdata, unsigned int cmapdatasz) { istringstream stmp; unsigned int cmoffset = 0; // color maps for matrix annotations have a different offset than graph curve's colormaps if (imatrix != -1) { cmoffset = 0x14; } else if (igraph != -1) { cmoffset = 0x6C; } else { return; } stmp.str(cmapdata.substr(cmoffset)); unsigned int colorMapSize = 0; GET_INT(stmp, colorMapSize) // check we have enough data to fill the map unsigned int minDataSize = cmoffset + 0x114 + (colorMapSize + 2) * 0x38; if (minDataSize > cmapdatasz) { LOG_PRINT(logfile, "WARNING: Too few data while getting ColorMap. Needed: at least %u bytes. Have: " "%u bytes.\n", minDataSize, cmapdatasz) return; } for (unsigned int i = 0; i < colorMapSize + 3; ++i) { unsigned int lvl_offset = cmoffset + 0x114 + i * 0x38; ColorMapLevel level; level.fillPattern = cmapdata[lvl_offset]; level.fillPatternColor = getColor(cmapdata.substr(lvl_offset + 0x04, 4)); stmp.str(cmapdata.substr(lvl_offset + 0x08)); unsigned short w; GET_SHORT(stmp, w) level.fillPatternLineWidth = (double)w / 500.0; level.lineStyle = cmapdata[lvl_offset + 0x10]; stmp.str(cmapdata.substr(lvl_offset + 0x12)); GET_SHORT(stmp, w) level.lineWidth = (double)w / 500.0; level.lineColor = getColor(cmapdata.substr(lvl_offset + 0x14, 4)); unsigned char h = cmapdata[lvl_offset + 0x1A]; level.labelVisible = (h & 0x1); level.lineVisible = !(h & 0x2); level.fillColor = getColor(cmapdata.substr(lvl_offset + 0x28, 4)); double value = 0.0; stmp.str(cmapdata.substr(lvl_offset + 0x30)); GET_DOUBLE(stmp, value) cmap.levels.push_back(make_pair(value, level)); } } void OriginAnyParser::getZcolorsMap(ColorMap &colorMap, const string &cmapdata, unsigned int cmapdatasz) { istringstream stmp; (void)cmapdatasz; Color lowColor; // color below lowColor.type = Origin::Color::Custom; lowColor.custom[0] = cmapdata[0x0E]; lowColor.custom[1] = cmapdata[0x0F]; lowColor.custom[2] = cmapdata[0x10]; // skip an unsigned char at 0x11 Color highColor; // color above highColor.type = Origin::Color::Custom; highColor.custom[0] = cmapdata[0x12]; highColor.custom[1] = cmapdata[0x13]; highColor.custom[2] = cmapdata[0x14]; // skip an unsigned char at 0x15 unsigned short colorMapSize; stmp.str(cmapdata.substr(0x16)); GET_SHORT(stmp, colorMapSize) // skip a short at 0x18-0x19 for (int i = 0; i < 4; ++i) { // low, high, middle and missing data colors Color color; (void)color; color.type = Origin::Color::Custom; color.custom[0] = cmapdata[0x1A + 4 * i]; color.custom[1] = cmapdata[0x1B + 4 * i]; color.custom[2] = cmapdata[0x1C + 4 * i]; } double zmin, zmax, zmissing; stmp.str(cmapdata.substr(0x2A)); GET_DOUBLE(stmp, zmin); GET_DOUBLE(stmp, zmax); GET_DOUBLE(stmp, zmissing); short val; for (int i = 0; i < 2; ++i) { Color color; (void)color; color.type = Origin::Color::Custom; color.custom[0] = cmapdata[0x66 + 10 * i]; color.custom[1] = cmapdata[0x67 + 10 * i]; color.custom[2] = cmapdata[0x68 + 10 * i]; // skip an unsigned char at 0x69+10*i stmp.str(cmapdata.substr(0x6A + 10 * i)); GET_SHORT(stmp, val) } ColorMapLevel level = { lowColor, 0, lowColor, 1., true, lowColor, 0, 1., true }; colorMap.levels.push_back(make_pair(zmin, level)); for (int i = 0; i < (colorMapSize + 1); ++i) { Color color; (void)color; color.type = Origin::Color::Custom; color.custom[0] = cmapdata[0x7A + 10 * i]; color.custom[1] = cmapdata[0x7B + 10 * i]; color.custom[2] = cmapdata[0x7C + 10 * i]; // skip an unsigned char at 0x7D+10*i stmp.str(cmapdata.substr((0x7E) + 10 * i)); GET_SHORT(stmp, val) level.fillColor = color; colorMap.levels.push_back(make_pair(val, level)); } level.fillColor = highColor; colorMap.levels.push_back(make_pair(zmax, level)); } void OriginAnyParser::getProjectLeafProperties(tree::iterator current_folder, const string &ptldt, unsigned int ptldtsz) { LOG_PRINT(logfile, "getProjectLeafProperties()\n"); istringstream stmp; (void)ptldtsz; stmp.str(ptldt); unsigned int file_type = 0, file_object_id = 0; GET_INT(stmp, file_type); GET_INT(stmp, file_object_id); LOG_PRINT(logfile, "file_type=%u file_object_id=%u\n", file_type, file_object_id); if (file_type == 0x100000) { // Note window LOG_PRINT(logfile, "notes.size()=%d\n", (int)notes.size()); if ((file_object_id < notes.size()) && (notes.size() > 0)) { projectTree.append_child(current_folder, ProjectNode(notes[file_object_id].name, ProjectNode::Note)); } } else { // other windows tree::iterator childnode; pair object = findWindowObjectByIndex(file_object_id); childnode = projectTree.append_child(current_folder, ProjectNode(object.second.name, object.first)); (*childnode).creationDate = object.second.creationDate; (*childnode).modificationDate = object.second.modificationDate; } } void OriginAnyParser::getProjectFolderProperties(tree::iterator current_folder, const string &flehd, unsigned int flehdsz) { istringstream stmp; (void)flehdsz; unsigned char a = flehd[0x02]; (*current_folder).active = (a == 1); double creationDate, modificationDate; stmp.str(flehd.substr(0x10)); GET_DOUBLE(stmp, creationDate); GET_DOUBLE(stmp, modificationDate); (*current_folder).creationDate = doubleToPosixTime(creationDate); (*current_folder).modificationDate = doubleToPosixTime(modificationDate); } void OriginAnyParser::outputProjectTree(std::ostream &out) { size_t windowsCount = spreadSheets.size() + matrixes.size() + excels.size() + graphs.size() + notes.size(); out << "Project has " << windowsCount << " windows." << endl; out << "Origin project Tree" << endl; char cdsz[21]; for (tree::sibling_iterator it = projectTree.begin(projectTree.begin()); it != projectTree.end(projectTree.begin()); ++it) { strftime(cdsz, sizeof(cdsz), "%F %T", gmtime(&(*it).creationDate)); out << string(projectTree.depth(it) - 1, ' ') << (*it).name.c_str() << "\t" << cdsz << endl; } } liborigin-3.0.4/PaxHeaders/OriginObj.h0000644000000000000000000000013215223727312014611 xustar0030 mtime=1783606986.669557094 30 atime=1783606988.565561097 30 ctime=1783607690.181524368 liborigin-3.0.4/OriginObj.h0000644000175000001440000006542615223727312016272 0ustar00dozentusers00000000000000/* File : OriginObj.h Description : Origin internal object classes -------------------------------------------------------------------- SPDX-FileCopyrightText: 2005-2007, 2017-2024 Stefan Gerlach SPDX-FileCopyrightText: 2007-2008 Alex Kargovsky SPDX-FileCopyrightText: 2007-2008 Ion Vasilief SPDX-License-Identifier: GPL-2.0-or-later */ #ifndef ORIGIN_OBJ_H #define ORIGIN_OBJ_H #include #include #include #include #if defined(_WIN32) && defined(ORIGIN_DLL) # ifdef ORIGIN_DLL_EXPORT # define ORIGIN_EXPORT __declspec(dllexport) # else # define ORIGIN_EXPORT __declspec(dllimport) # endif #else # define ORIGIN_EXPORT #endif #define _ONAN (-1.23456789E-300) namespace Origin { enum ValueType { Numeric = 0, Text = 1, Time = 2, Date = 3, Month = 4, Day = 5, ColumnHeading = 6, TickIndexedDataset = 7, TextNumeric = 9, Categorical = 10 }; // Numeric Format: // 1000 | 1E3 | 1k | 1,000 enum NumericFormat { Decimal = 0, Scientific = 1, Engineering = 2, DecimalWithMarks = 3 }; // Time Format: // hh:mm | hh | hh:mm:ss | hh:mm:ss.zz | hh ap | hh:mm ap | mm:ss // mm:ss.zz | hhmm | hhmmss | hh:mm:ss.zzz enum TimeFormat { TIME_HH_MM = 0, TIME_HH = 1, TIME_HH_MM_SS = 2, TIME_HH_MM_SS_ZZ = 3, TIME_HH_AP = 4, TIME_HH_MM_AP = 5, TIME_MM_SS = 6, TIME_MM_SS_ZZ = 7, TIME_HHMM = 8, TIME_HHMMSS = 9, TIME_HH_MM_SS_ZZZ = 10 }; // Date Format: // dd/MM/yyyy | dd/MM/yyyy HH:mm | dd/MM/yyyy HH:mm:ss | dd.MM.yyyy | y. (year abbreviation) | MMM d // M/d | d | ddd | First letter of day | yyyy | yy | dd.MM.yyyy hh:mm | dd.MM.yyyy hh:mm:ss // yyMMdd | yyMMdd hh:mm | yyMMdd hh:mm:ss | yyMMdd hhmm | yyMMdd hhmmss | MMM // First letter of month | Quartal | M-d-yyyy (Custom1) | hh:mm:ss.zzzz (Custom2) enum DateFormat { DATE_DD_MM_YYYY = -128, DATE_DD_MM_YYYY_HH_MM = -119, DATE_DD_MM_YYYY_HH_MM_SS = -118, DATE_DDMMYYYY = 0, DATE_Y = 1, DATE_MMM_D = 2, DATE_M_D = 3, DATE_D = 4, DATE_DDD = 5, DATE_DAY_LETTER = 6, DATE_YYYY = 7, DATE_YY = 8, DATE_DDMMYYYY_HH_MM = 9, DATE_DDMMYYYY_HH_MM_SS = 10, DATE_YYMMDD = 11, DATE_YYMMDD_HH_MM = 12, DATE_YYMMDD_HH_MM_SS = 13, DATE_YYMMDD_HHMM = 14, DATE_YYMMDD_HHMMSS = 15, DATE_MMM = 16, DATE_MONTH_LETTER = 17, DATE_Q = 18, DATE_M_D_YYYY = 19, DATE_HH_MM_SS_ZZZZ = 20 }; // Month Format: // MMM | MMMM | First letter of month enum MonthFormat { MONTH_MMM = 0, MONTH_MMMM = 1, MONTH_LETTER = 2 }; // ddd | dddd | First letter of day enum DayOfWeekFormat { DAY_DDD = 0, DAY_DDDD = 1, DAY_LETTER = 2 }; enum NumericDisplayType { DefaultDecimalDigits = 0, DecimalPlaces = 1, SignificantDigits = 2 }; enum Attach { Frame = 0, Page = 1, Scale = 2, End_ }; enum BorderType { BlackLine = 0, Shadow = 1, DarkMarble = 2, WhiteOut = 3, BlackOut = 4, None = -1 }; enum FillPattern { NoFill = 0, BDiagDense = 1, BDiagMedium = 2, BDiagSparse = 3, FDiagDense = 4, FDiagMedium = 5, FDiagSparse = 6, DiagCrossDense = 7, DiagCrossMedium = 8, DiagCrossSparse = 9, HorizontalDense = 10, HorizontalMedium = 11, HorizontalSparse = 12, VerticalDense = 13, VerticalMedium = 14, VerticalSparse = 15, CrossDense = 16, CrossMedium = 17, CrossSparse = 18 }; enum ColorGradientDirection { NoGradient = 0, TopLeft = 1, Left = 2, BottomLeft = 3, Top = 4, Center = 5, Bottom = 6, TopRight = 7, Right = 8, BottomRight = 9 }; struct Color { enum ColorType { None = 0, Automatic = 1, Regular = 2, Custom = 3, Increment = 4, Indexing = 5, RGB = 6, Mapping = 7 }; enum RegularColor { Black = 0, Red = 1, Green = 2, Blue = 3, Cyan = 4, Magenta = 5, Yellow = 6, DarkYellow = 7, Navy = 8, Purple = 9, Wine = 10, Olive = 11, DarkCyan = 12, Royal = 13, Orange = 14, Violet = 15, Pink = 16, White = 17, LightGray = 18, Gray = 19, LTYellow = 20, LTCyan = 21, LTMagenta = 22, DarkGray = 23, SpecialV7Axis = 0xF7 /*, Custom = 255*/ }; ColorType type; union { unsigned char regular; unsigned char custom[3]; unsigned char starting; unsigned char column; }; }; struct Rect { short left; short top; short right; short bottom; explicit Rect(short width = 0, short height = 0) : left(0), top(0), right(width), bottom(height) { }; int height() const { return bottom - top; }; int width() const { return right - left; }; bool isValid() const { return height() > 0 && width() > 0; } }; struct ColorMapLevel { Color fillColor; unsigned char fillPattern; Color fillPatternColor; double fillPatternLineWidth; bool lineVisible; Color lineColor; unsigned char lineStyle; double lineWidth; bool labelVisible; }; typedef std::vector> ColorMapVector; struct ColorMap { bool fillEnabled; ColorMapVector levels; }; struct Window { enum State { Normal, Minimized, Maximized }; enum Title { Name, Label, Both }; std::string name; std::string label; int objectID; bool hidden; State state; Title title; Rect frameRect; time_t creationDate; time_t modificationDate; ColorGradientDirection windowBackgroundColorGradient; Color windowBackgroundColorBase; Color windowBackgroundColorEnd; explicit Window(const std::string &_name = std::string(), const std::string &_label = std::string(), bool _hidden = false) : name(_name), label(_label), objectID(-1), hidden(_hidden), state(Normal), title(Both), creationDate(0), modificationDate(0), windowBackgroundColorGradient(NoGradient), windowBackgroundColorBase({ Color::Regular, { Color::White } }), windowBackgroundColorEnd({ Color::Regular, { Color::White } }) { }; }; // Variant type with boost-free functions // see // https://github.com/highperformancecoder/scidavis/commit/7c6e07dfad80dbe190af29ffa8a56c82a8aa9180 // see https://www.ojdip.net/2013/10/implementing-a-variant-type-in-cpp/ // https://stackoverflow.com/questions/35648390/tagged-union-c // https://books.google.de/books?id=PSUNAAAAQBAJ&pg=PA217&lpg=PA217&dq=c%2B%2B+tagged+union+string&source=bl&ots=DqArIieZ8H&sig=k2a6okxxgUuEkLw48hFJChkIG9o&hl=en&sa=X&ved=0ahUKEwjylreR08DUAhWBVRoKHWPSBqE4ChDoAQhUMAg#v=onepage&q=c%2B%2B%20tagged%20union%20string&f=false typedef class Variant { public: enum vtype { V_DOUBLE, V_STRING }; vtype type() const { return m_type; } double as_double() const { return m_double; } const char *as_string() const { return m_string; } Variant() { } Variant(const double d) : m_double(d) { } Variant(const std::string &s) : m_type(V_STRING) { asgString(s.c_str()); } Variant(const Variant &v) : m_type(v.m_type) { switch (v.m_type) { case V_DOUBLE: m_double = v.m_double; break; case V_STRING: asgString(v.m_string); break; } } Origin::Variant &operator=(const Origin::Variant &v) { if (m_type == V_STRING) delete[] m_string; switch (v.m_type) { case V_DOUBLE: m_double = v.m_double; break; case V_STRING: asgString(v.m_string); break; } m_type = v.m_type; return *this; } bool operator<(const Origin::Variant &v) const { if (m_type == V_DOUBLE && v.m_type == V_DOUBLE) return as_double() < v.as_double(); else if (m_type == V_STRING && v.m_type == V_STRING) return as_string() < v.as_string(); else return false; } ~Variant() { // printf("~Variant()\n"); if (m_type == V_STRING) delete[] m_string; } private: vtype m_type = V_DOUBLE; union { double m_double = 0.; char *m_string; }; void asgString(const char *x) { m_string = new char[strlen(x) + 1]; strcpy(m_string, x); } } variant; struct SpreadColumn { enum ColumnType { X, Y, Z, XErr, YErr, Label, NONE }; std::string name; std::string dataset_name; ColumnType type; ValueType valueType; int valueTypeSpecification; int significantDigits; int decimalPlaces; NumericDisplayType numericDisplayType; std::string command; std::string comment; int width; unsigned int index; unsigned int colIndex; unsigned int sheet; unsigned int numRows; unsigned int beginRow; unsigned int endRow; std::vector data; explicit SpreadColumn(const std::string &_name = std::string(), unsigned int _index = 0) : name(_name), type(ColumnType::Y), valueType(Numeric), valueTypeSpecification(0), significantDigits(6), decimalPlaces(6), numericDisplayType(DefaultDecimalDigits), width(8), index(_index), colIndex(0), sheet(0), numRows(0), beginRow(0), endRow(0) { }; }; struct SpreadSheet : public Window { unsigned int maxRows; bool loose; unsigned int sheets; std::vector columns; explicit SpreadSheet(const std::string &_name = std::string()) : Window(_name), maxRows(30), loose(true), sheets(1) { }; }; struct Excel : public Window { unsigned int maxRows; bool loose; std::vector sheets; explicit Excel(const std::string &_name = std::string(), const std::string &_label = std::string(), int _maxRows = 0, bool _hidden = false, bool _loose = true) : Window(_name, _label, _hidden), maxRows(_maxRows), loose(_loose) { }; }; struct MatrixSheet { enum ViewType { DataView, ImageView }; std::string name; unsigned short rowCount; unsigned short columnCount; int valueTypeSpecification; int significantDigits; int decimalPlaces; NumericDisplayType numericDisplayType; std::string command; unsigned short width; unsigned int index; ViewType view; ColorMap colorMap; std::vector data; std::vector coordinates; explicit MatrixSheet(const std::string &_name = std::string(), unsigned int _index = 0) : name(_name), rowCount(8), columnCount(8), valueTypeSpecification(0), significantDigits(6), decimalPlaces(6), numericDisplayType(DefaultDecimalDigits), width(8), index(_index), view(DataView), colorMap() { coordinates.push_back(10.0); coordinates.push_back(10.0); coordinates.push_back(1.0); coordinates.push_back(1.0); }; }; struct Matrix : public Window { enum HeaderViewType { ColumnRow, XY }; unsigned int activeSheet; HeaderViewType header; std::vector sheets; explicit Matrix(const std::string &_name = std::string()) : Window(_name), activeSheet(0), header(ColumnRow) { }; }; struct Function { enum FunctionType { Normal, Polar }; std::string name; FunctionType type; std::string formula; double begin; double end; int totalPoints; unsigned int index; explicit Function(const std::string &_name = std::string(), unsigned int _index = 0) : name(_name), type(Normal), begin(0.0), end(0.0), totalPoints(0), index(_index) { }; }; struct TextBox { std::string text; Rect clientRect; Color color; unsigned short fontSize; int rotation; int tab; BorderType borderType; Attach attach; bool shown; explicit TextBox(const std::string &_text = std::string()) : text(_text), color({ Color::Regular, { Color::Black } }), fontSize(20), rotation(0), tab(8), borderType(BlackLine), attach(Frame), shown(true) { }; TextBox(const std::string &_text, Rect _clientRect, Color _color, unsigned short _fontSize, int _rotation, int _tab, BorderType _borderType, Attach _attach, bool _shown = true) : text(_text), clientRect(_clientRect), color(_color), fontSize(_fontSize), rotation(_rotation), tab(_tab), borderType(_borderType), attach(_attach), shown(_shown) { }; }; struct PieProperties { unsigned char viewAngle; unsigned char thickness; bool clockwiseRotation; short rotation; unsigned short radius; unsigned short horizontalOffset; unsigned long displacedSectionCount; // maximum - 32 sections unsigned short displacement; // labels bool formatAutomatic; bool formatValues; bool formatPercentages; bool formatCategories; bool positionAssociate; unsigned short distance; PieProperties() : viewAngle(33), thickness(33), clockwiseRotation(false), rotation(33), radius(70), horizontalOffset(0), displacedSectionCount(0), displacement(25), formatAutomatic(false), formatValues(false), formatPercentages(false), formatCategories(false), positionAssociate(false), distance(25) { }; }; struct VectorProperties { enum VectorPosition { Tail, Midpoint, Head }; Color color; double width; unsigned short arrowLength; unsigned char arrowAngle; bool arrowClosed; std::string endXColumnName; std::string endYColumnName; VectorPosition position; std::string angleColumnName; std::string magnitudeColumnName; float multiplier; int constAngle; int constMagnitude; VectorProperties() : color({ Color::Regular, { Color::Black } }), width(2.0), arrowLength(45), arrowAngle(30), arrowClosed(false), position(Tail), multiplier(1.0), constAngle(0), constMagnitude(0) { }; }; struct TextProperties { enum Justify { Left, Center, Right }; Color color; bool fontBold; bool fontItalic; bool fontUnderline; bool whiteOut; Justify justify; short rotation; short xOffset; short yOffset; unsigned short fontSize; }; struct SurfaceProperties { struct SurfaceColoration { bool fill; bool contour; Color lineColor; double lineWidth; }; enum Type { ColorMap3D, ColorFill, WireFrame, Bars }; enum Grids { None, X, Y, XY }; unsigned char type; Grids grids; double gridLineWidth; Color gridColor; bool backColorEnabled; Color frontColor; Color backColor; bool sideWallEnabled; Color xSideWallColor; Color ySideWallColor; SurfaceColoration surface; SurfaceColoration topContour; SurfaceColoration bottomContour; ColorMap colorMap; }; struct PercentileProperties { unsigned char maxSymbolType; unsigned char p99SymbolType; unsigned char meanSymbolType; unsigned char p1SymbolType; unsigned char minSymbolType; Color symbolColor; Color symbolFillColor; unsigned short symbolSize; unsigned char boxRange; unsigned char whiskersRange; double boxCoeff; double whiskersCoeff; bool diamondBox; unsigned char labels; PercentileProperties() : maxSymbolType(1), p99SymbolType(2), meanSymbolType(3), p1SymbolType(4), minSymbolType(5), symbolColor({ Color::Regular, { Color::Black } }), symbolFillColor({ Color::Regular, { Color::White } }), symbolSize(5), boxRange(25), whiskersRange(5), boxCoeff(1.0), whiskersCoeff(1.5), diamondBox(true), labels(0) { }; }; struct GraphCurve { enum Plot { Scatter3D = 101, Surface3D = 103, Vector3D = 183, ScatterAndErrorBar3D = 184, TernaryContour = 185, PolarXrYTheta = 186, SmithChart = 191, Polar = 192, BubbleIndexed = 193, BubbleColorMapped = 194, Line = 200, Scatter = 201, LineSymbol = 202, Column = 203, Area = 204, HiLoClose = 205, Box = 206, ColumnFloat = 207, Vector = 208, PlotDot = 209, Wall3D = 210, Ribbon3D = 211, Bar3D = 212, ColumnStack = 213, AreaStack = 214, Bar = 215, BarStack = 216, FlowVector = 218, Histogram = 219, MatrixImage = 220, Pie = 225, Contour = 226, Unknown = 230, ErrorBar = 231, // yEr+- TextPlot = 232, XErrorBar = 233, // xEr+- SurfaceColorMap = 236, SurfaceColorFill = 237, SurfaceWireframe = 238, SurfaceBars = 239, Line3D = 240, Text3D = 241, Mesh3D = 242, XYZContour = 243, XYZTriangular = 245, LineSeries = 246, YErrorBar = 254, XYErrorBar = 255 }; enum LineStyle { Solid = 0, Dash = 1, Dot = 2, DashDot = 3, DashDotDot = 4, ShortDash = 5, ShortDot = 6, ShortDashDot = 7 }; enum LineConnect { NoLine = 0, Straight = 1, TwoPointSegment = 2, ThreePointSegment = 3, BSpline = 8, Spline = 9, StepHorizontal = 11, StepVertical = 12, StepHCenter = 13, StepVCenter = 14, Bezier = 15 }; bool hidden; unsigned char type; std::string dataName; std::string xDataName; std::string xColumnName; std::string yColumnName; std::string zColumnName; Color lineColor; unsigned char lineTransparency; unsigned char lineStyle; unsigned char lineConnect; unsigned char boxWidth; double lineWidth; bool fillArea; unsigned char fillAreaType; unsigned char fillAreaPattern; Color fillAreaColor; unsigned char fillAreaTransparency; bool fillAreaWithLineTransparency; Color fillAreaPatternColor; double fillAreaPatternWidth; unsigned char fillAreaPatternBorderStyle; Color fillAreaPatternBorderColor; double fillAreaPatternBorderWidth; unsigned char symbolInterior; unsigned char symbolShape; Color symbolColor; Color symbolFillColor; unsigned char symbolFillTransparency; double symbolSize; unsigned char symbolThickness; unsigned char pointOffset; bool connectSymbols; // pie PieProperties pie; // vector VectorProperties vector; // text TextProperties text; // surface SurfaceProperties surface; // contour ColorMap colorMap; }; struct GraphAxisBreak { bool show; bool log10; double from; double to; double position; double scaleIncrementBefore; double scaleIncrementAfter; unsigned char minorTicksBefore; unsigned char minorTicksAfter; GraphAxisBreak() : show(false), log10(false), from(4.), to(6.), position(50.), scaleIncrementBefore(5), scaleIncrementAfter(5), minorTicksBefore(1), minorTicksAfter(1) { }; }; struct GraphGrid { bool hidden; unsigned char color; unsigned char style; double width; }; struct GraphAxisFormat { bool hidden; unsigned char color; double thickness; double majorTickLength; int majorTicksType; int minorTicksType; int axisPosition; double axisPositionValue; TextBox label; std::string prefix; std::string suffix; std::string factor; }; struct GraphAxisTick { bool showMajorLabels; unsigned char color; ValueType valueType; int valueTypeSpecification; int decimalPlaces; unsigned short fontSize; bool fontBold; std::string dataName; std::string columnName; int rotation; }; struct GraphAxis { enum AxisPosition { Left = 0, Bottom, Right, Top, Front, Back }; enum Scale { Linear = 0, Log10 = 1, Probability = 2, Probit = 3, Reciprocal = 4, OffsetReciprocal = 5, Logit = 6, Ln = 7, Log2 = 8 }; AxisPosition position; bool zeroLine; bool oppositeLine; double min; double max; double step; double anchor; unsigned char majorTicks; unsigned char minorTicks; unsigned char scale; GraphGrid majorGrid; GraphGrid minorGrid; GraphAxisFormat formatAxis[2]; GraphAxisTick tickAxis[2]; // bottom-top, left-right }; struct Figure { enum FigureType { Rectangle, Circle }; FigureType type; Rect clientRect; Attach attach; Color color; unsigned char style; double width; Color fillAreaColor; unsigned char fillAreaPattern; Color fillAreaPatternColor; double fillAreaPatternWidth; bool useBorderColor; explicit Figure(FigureType _type = Rectangle) : type(_type), attach(Frame), color({ Color::Regular, { Color::Black } }), style(0), width(1.0), fillAreaColor({ Color::Regular, { Color::LightGray } }), fillAreaPattern(FillPattern::NoFill), fillAreaPatternColor({ Color::Regular, { Color::Black } }), fillAreaPatternWidth(1), useBorderColor(false) { }; }; struct LineVertex { unsigned char shapeType; double shapeWidth; double shapeLength; double x; double y; LineVertex() : shapeType(0), shapeWidth(0.0), shapeLength(0.0), x(0.0), y(0.0) { }; }; struct Line { Rect clientRect; Color color; Attach attach; double width; unsigned char style; LineVertex begin; LineVertex end; }; struct Bitmap { Rect clientRect; Attach attach; unsigned long size; std::string windowName; BorderType borderType; unsigned char *data; explicit Bitmap(const std::string &_name = std::string()) : attach(Frame), size(0), windowName(_name), borderType(BlackLine), data(nullptr) { }; Bitmap(const Bitmap &bitmap) : clientRect(bitmap.clientRect), attach(bitmap.attach), size(bitmap.size), windowName(bitmap.windowName), borderType(bitmap.borderType), data(nullptr) { if (size > 0) { data = new unsigned char[size]; memcpy(data, bitmap.data, size); } }; ~Bitmap() { if (size > 0) delete[] data; }; }; struct ColorScale { bool visible; bool reverseOrder; unsigned short labelGap; unsigned short colorBarThickness; Color labelsColor; ColorScale() : visible(true), reverseOrder(false), labelGap(5), colorBarThickness(3), labelsColor({ Color::Regular, { Color::Black } }) { }; }; struct GraphLayer { Rect clientRect; TextBox legend; Color backgroundColor; BorderType borderType; GraphAxis xAxis; GraphAxis yAxis; GraphAxis zAxis; GraphAxisBreak xAxisBreak; GraphAxisBreak yAxisBreak; GraphAxisBreak zAxisBreak; double histogramBin; double histogramBegin; double histogramEnd; PercentileProperties percentile; ColorScale colorScale; ColorMap colorMap; std::vector texts; std::vector pieTexts; std::vector lines; std::vector
figures; std::vector bitmaps; std::vector curves; float xAngle; float yAngle; float zAngle; float xLength; float yLength; float zLength; int imageProfileTool; double vLine; double hLine; bool isWaterfall; int xOffset; int yOffset; bool gridOnTop; bool exchangedAxes; bool isXYY3D; bool orthographic3D; GraphLayer() : backgroundColor({ Color::Regular, { Color::White } }), borderType(BlackLine), xAxis(), yAxis(), zAxis(), histogramBin(0.5), histogramBegin(0.0), histogramEnd(10.0), colorMap(), xAngle(0), yAngle(0), zAngle(0), xLength(10), yLength(10), zLength(10), imageProfileTool(0), vLine(0.0), hLine(0.0), isWaterfall(false), xOffset(10), yOffset(10), gridOnTop(false), exchangedAxes(false), isXYY3D(false), orthographic3D(false) { colorScale.visible = false; }; // bool threeDimensional; bool is3D() const { for (auto &c : curves) { switch (c.type) { case GraphCurve::Scatter3D: case GraphCurve::Surface3D: case GraphCurve::Vector3D: case GraphCurve::ScatterAndErrorBar3D: case GraphCurve::TernaryContour: case GraphCurve::Line3D: case GraphCurve::Mesh3D: case GraphCurve::XYZContour: case GraphCurve::XYZTriangular: return true; default: break; } } return false; } }; struct GraphLayerRange { double min; double max; double step; explicit GraphLayerRange(double _min = 0.0, double _max = 0.0, double _step = 0.0) : min(_min), max(_max), step(_step) { }; }; struct Graph : public Window { std::vector layers; unsigned short width; unsigned short height; bool is3D; bool isLayout; bool connectMissingData; std::string templateName; explicit Graph(const std::string &_name = std::string()) : Window(_name), width(400), height(300), is3D(false), isLayout(false), connectMissingData(false) { }; }; struct Note : public Window { std::string text; explicit Note(const std::string &_name = std::string()) : Window(_name) { }; }; struct ProjectNode { enum NodeType { SpreadSheet, Matrix, Excel, Graph, Graph3D, Note, Folder }; NodeType type; std::string name; time_t creationDate; time_t modificationDate; bool active; explicit ProjectNode(const std::string &_name = std::string(), NodeType _type = Folder, const time_t _creationDate = time(nullptr), const time_t _modificationDate = time(nullptr), bool _active = false) : type(_type), name(_name), creationDate(_creationDate), modificationDate(_modificationDate), active(_active) { }; }; } #endif // ORIGIN_OBJ_H liborigin-3.0.4/PaxHeaders/tree.hh0000644000000000000000000000013215223727312014036 xustar0030 mtime=1783606986.749557263 30 atime=1783606988.569561106 30 ctime=1783607690.181524368 liborigin-3.0.4/tree.hh0000644000175000001440000025336415223727312015517 0ustar00dozentusers00000000000000/* $Id: tree.hh,v 1.147 2007/10/19 11:24:24 peekas Exp $ STL-like templated tree class. SPDX-FileCopyrightText: 2001-2006 Kasper Peeters . SPDX-License-Identifier: GPL-2.0-only or GPL-3.0-only */ /** \mainpage tree.hh \author Kasper Peeters \version 2.4 \date 18-Oct-2007 \see http://www.aei.mpg.de/~peekas/tree/ \see http://www.aei.mpg.de/~peekas/tree/ChangeLog The tree.hh library for C++ provides an STL-like container class for n-ary trees, templated over the data stored at the nodes. Various types of iterators are provided (post-order, pre-order, and others). Where possible the access methods are compatible with the STL or alternative algorithms are available. */ /* The tree.hh code 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; version 2 or 3. 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 */ /** \todo - New-style move members are not completely finished yet. - It would be good to have an iterator which can iterate over all nodes below a given node. - Fixed depth iterators do not iterate over the entire range if there are 'holes' in the tree. - If a range uses const iter_base& as end iterator, things will inevitably go wrong, because upcast from iter_base to a non-sibling_iter is incorrect. This upcast should be removed (and then all illegal uses as previously in 'equal' will be flagged by the compiler). This requires new copy constructors though. - There's a bug in replace(sibling_iterator, ...) when the ranges sit next to each other. Turned up in append_child(iter,iter) but has been avoided now. - "std::operator<" does not work correctly on our iterators, and for some reason a globally defined template operator< did not get picked up. Using a comparison class now, but this should be investigated. */ #ifndef tree_hh_ # define tree_hh_ # include # include # include # include # include # include # include // HP-style construct/destroy have gone from the standard, // so here is a copy. namespace kp { template void constructor(T1 *p, T2 &val) { new ((void *)p) T1(val); } template void constructor(T1 *p) { new ((void *)p) T1; } template void destructor(T1 *p) { p->~T1(); } } /// A node in the tree, combining links to other nodes as well as the actual data. template class tree_node_ { // size: 5*4=20 bytes (on 32 bit arch), can be reduced by 8. public: tree_node_ *parent; tree_node_ *first_child, *last_child; tree_node_ *prev_sibling, *next_sibling; T data; }; // __attribute__((packed)); template>> class tree { protected: typedef tree_node_ tree_node; public: /// Value of the data stored at a node. typedef T value_type; class iterator_base; class pre_order_iterator; class post_order_iterator; class sibling_iterator; class leaf_iterator; tree(); tree(const T &); tree(const iterator_base &); tree(const tree &); ~tree(); void operator=(const tree &); /// Base class for iterators, only pointers stored, no traversal logic. # ifdef __SGI_STL_PORT class iterator_base : public stlport::bidirectional_iterator { # else class iterator_base { # endif public: typedef T value_type; typedef T *pointer; typedef T &reference; typedef size_t size_type; typedef ptrdiff_t difference_type; typedef std::bidirectional_iterator_tag iterator_category; iterator_base(); iterator_base(tree_node *); T &operator*() const; T *operator->() const; /// When called, the next increment/decrement skips children of this node. void skip_children(); /// Number of children of the node pointed to by the iterator. unsigned int number_of_children() const; sibling_iterator begin() const; sibling_iterator end() const; tree_node *node; protected: bool skip_current_children_; }; /// Depth-first iterator, first accessing the node, then its children. class pre_order_iterator : public iterator_base { public: pre_order_iterator(); pre_order_iterator(tree_node *); pre_order_iterator(const iterator_base &); pre_order_iterator(const sibling_iterator &); bool operator==(const pre_order_iterator &) const; bool operator!=(const pre_order_iterator &) const; pre_order_iterator &operator++(); pre_order_iterator &operator--(); pre_order_iterator operator++(int); pre_order_iterator operator--(int); pre_order_iterator &operator+=(unsigned int); pre_order_iterator &operator-=(unsigned int); }; /// Depth-first iterator, first accessing the children, then the node itself. class post_order_iterator : public iterator_base { public: post_order_iterator(); post_order_iterator(tree_node *); post_order_iterator(const iterator_base &); post_order_iterator(const sibling_iterator &); bool operator==(const post_order_iterator &) const; bool operator!=(const post_order_iterator &) const; post_order_iterator &operator++(); post_order_iterator &operator--(); post_order_iterator operator++(int); post_order_iterator operator--(int); post_order_iterator &operator+=(unsigned int); post_order_iterator &operator-=(unsigned int); /// Set iterator to the first child as deep as possible down the tree. void descend_all(); }; /// Breadth-first iterator, using a queue class breadth_first_queued_iterator : public iterator_base { public: breadth_first_queued_iterator(); breadth_first_queued_iterator(tree_node *); breadth_first_queued_iterator(const iterator_base &); bool operator==(const breadth_first_queued_iterator &) const; bool operator!=(const breadth_first_queued_iterator &) const; breadth_first_queued_iterator &operator++(); breadth_first_queued_iterator operator++(int); breadth_first_queued_iterator &operator+=(unsigned int); private: std::queue traversal_queue; }; /// The default iterator types throughout the tree class. typedef pre_order_iterator iterator; typedef breadth_first_queued_iterator breadth_first_iterator; /// Iterator which traverses only the nodes at a given depth from the root. class fixed_depth_iterator : public iterator_base { public: fixed_depth_iterator(); fixed_depth_iterator(tree_node *); fixed_depth_iterator(const iterator_base &); fixed_depth_iterator(const sibling_iterator &); fixed_depth_iterator(const fixed_depth_iterator &); bool operator==(const fixed_depth_iterator &) const; bool operator!=(const fixed_depth_iterator &) const; fixed_depth_iterator &operator++(); fixed_depth_iterator &operator--(); fixed_depth_iterator operator++(int); fixed_depth_iterator operator--(int); fixed_depth_iterator &operator+=(unsigned int); fixed_depth_iterator &operator-=(unsigned int); tree_node *first_parent_; private: void set_first_parent_(); void find_leftmost_parent_(); }; /// Iterator which traverses only the nodes which are siblings of each other. class sibling_iterator : public iterator_base { public: sibling_iterator(); sibling_iterator(tree_node *); sibling_iterator(const sibling_iterator &); sibling_iterator(const iterator_base &); bool operator==(const sibling_iterator &) const; bool operator!=(const sibling_iterator &) const; sibling_iterator &operator++(); sibling_iterator &operator--(); sibling_iterator operator++(int); sibling_iterator operator--(int); sibling_iterator &operator+=(unsigned int); sibling_iterator &operator-=(unsigned int); tree_node *range_first() const; tree_node *range_last() const; tree_node *parent_; private: void set_parent_(); }; /// Iterator which traverses only the leaves. class leaf_iterator : public iterator_base { public: leaf_iterator(); leaf_iterator(tree_node *); leaf_iterator(const sibling_iterator &); leaf_iterator(const iterator_base &); bool operator==(const leaf_iterator &) const; bool operator!=(const leaf_iterator &) const; leaf_iterator &operator++(); leaf_iterator &operator--(); leaf_iterator operator++(int); leaf_iterator operator--(int); leaf_iterator &operator+=(unsigned int); leaf_iterator &operator-=(unsigned int); }; /// Return iterator to the beginning of the tree. inline pre_order_iterator begin() const; /// Return iterator to the end of the tree. inline pre_order_iterator end() const; /// Return post-order iterator to the beginning of the tree. post_order_iterator begin_post() const; /// Return post-order iterator to the end of the tree. post_order_iterator end_post() const; /// Return fixed-depth iterator to the first node at a given depth from the given iterator. fixed_depth_iterator begin_fixed(const iterator_base &, unsigned int) const; /// Return fixed-depth iterator to end of the nodes at given depth from the given iterator. fixed_depth_iterator end_fixed(const iterator_base &, unsigned int) const; /// Return breadth-first iterator to the first node at a given depth. breadth_first_queued_iterator begin_breadth_first() const; /// Return breadth-first iterator to end of the nodes at given depth. breadth_first_queued_iterator end_breadth_first() const; /// Return sibling iterator to the first child of given node. sibling_iterator begin(const iterator_base &) const; /// Return sibling iterator to the end of the children of a given node. sibling_iterator end(const iterator_base &) const; /// Return leaf iterator to the first leaf of the tree. leaf_iterator begin_leaf() const; /// Return leaf iterator to the last leaf of the tree. leaf_iterator end_leaf() const; /// Return iterator to the parent of a node. template static iter parent(iter); /// Return iterator to the previous sibling of a node. template iter previous_sibling(iter) const; /// Return iterator to the next sibling of a node. template iter next_sibling(iter) const; /// Return iterator to the next node at a given depth. template iter next_at_same_depth(iter) const; /// Erase all nodes of the tree. void clear(); /// Erase element at position pointed to by iterator, return incremented iterator. template iter erase(iter); /// Erase all children of the node pointed to by iterator. void erase_children(const iterator_base &); /// Insert empty node as last/first child of node pointed to by position. template iter append_child(iter position); template iter prepend_child(iter position); /// Insert node as last/first child of node pointed to by position. template iter append_child(iter position, const T &x); template iter prepend_child(iter position, const T &x); /// Append the node (plus its children) at other_position as last/first child of position. template iter append_child(iter position, iter other_position); template iter prepend_child(iter position, iter other_position); /// Append the nodes in the from-to range (plus their children) as last/first children of /// position. template iter append_children(iter position, sibling_iterator from, sibling_iterator to); template iter prepend_children(iter position, sibling_iterator from, sibling_iterator to); /// Short-hand to insert topmost node in otherwise empty tree. pre_order_iterator set_head(const T &x); /// Insert node as previous sibling of node pointed to by position. template iter insert(iter position, const T &x); /// Specialisation of previous member. sibling_iterator insert(sibling_iterator position, const T &x); /// Insert node (with children) pointed to by subtree as previous sibling of node pointed to by /// position. template iter insert_subtree(iter position, const iterator_base &subtree); /// Insert node as next sibling of node pointed to by position. template iter insert_after(iter position, const T &x); /// Insert node (with children) pointed to by subtree as next sibling of node pointed to by /// position. template iter insert_subtree_after(iter position, const iterator_base &subtree); /// Replace node at 'position' with other node (keeping same children); 'position' becomes /// invalid. template iter replace(iter position, const T &x); /// Replace node at 'position' with subtree starting at 'from' (do not erase subtree at 'from'); /// see above. template iter replace(iter position, const iterator_base &from); /// Replace string of siblings (plus their children) with copy of a new string (with children); /// see above sibling_iterator replace(const sibling_iterator &orig_begin, const sibling_iterator &orig_end, const sibling_iterator &new_begin, const sibling_iterator &new_end); /// Move all children of node at 'position' to be siblings, returns position. template iter flatten(iter position); /// Move nodes in range to be children of 'position'. template iter reparent(iter position, sibling_iterator begin, sibling_iterator end); /// Move all child nodes of 'from' to be children of 'position'. template iter reparent(iter position, iter from); /// Replace node with a new node, making the old node a child of the new node. template iter wrap(iter position, const T &x); /// Move 'source' node (plus its children) to become the next sibling of 'target'. template iter move_after(iter target, iter source); /// Move 'source' node (plus its children) to become the previous sibling of 'target'. template iter move_before(iter target, iter source); sibling_iterator move_before(sibling_iterator target, sibling_iterator source); /// Move 'source' node (plus its children) to become the node at 'target' (erasing the node at /// 'target'). template iter move_ontop(iter target, iter source); /// Merge with other tree, creating new branches and leaves only if they are not already /// present. void merge(const sibling_iterator &, const sibling_iterator &, const sibling_iterator &, const sibling_iterator &, bool duplicate_leaves = false); /// Sort (std::sort only moves values of nodes, this one moves children as well). void sort(const sibling_iterator &from, const sibling_iterator &to, bool deep = false); template void sort(const sibling_iterator &from, const sibling_iterator &to, StrictWeakOrdering comp, bool deep = false); /// Compare two ranges of nodes (compares nodes as well as tree structure). template bool equal(const iter &one, const iter &two, const iter &three) const; template bool equal(const iter &one, const iter &two, const iter &three, BinaryPredicate) const; template bool equal_subtree(const iter &one, const iter &two) const; template bool equal_subtree(const iter &one, const iter &two, BinaryPredicate) const; /// Extract a new tree formed by the range of siblings plus all their children. tree subtree(const sibling_iterator &from, const sibling_iterator &to) const; void subtree(tree &, const sibling_iterator &from, const sibling_iterator &to) const; /// Exchange the node (plus subtree) with its sibling node (do nothing if no sibling present). void swap(sibling_iterator it); /// Exchange two nodes (plus subtrees) void swap(iterator, iterator); /// Count the total number of nodes. int size() const; /// Count the total number of nodes below the indicated node (plus one). int size(const iterator_base &) const; /// Check if tree is empty. bool empty() const; /// Compute the depth to the root. int depth(const iterator_base &) const; /// Determine the maximal depth of the tree. int max_depth() const; /// Determine the maximal depth of the tree below a given one. int max_depth(const iterator_base &) const; /// Count the number of children of node at position. static unsigned int number_of_children(const iterator_base &); /// Count the number of 'next' siblings of node at iterator. unsigned int number_of_siblings(const iterator_base &) const; /// Determine whether node at position is in the subtrees with root in the range. bool is_in_subtree(const iterator_base &position, const iterator_base &begin, const iterator_base &end) const; /// Determine whether the iterator is an 'end' iterator and thus not actually pointing to a /// node. bool is_valid(const iterator_base &) const; /// Determine the index of a node in the range of siblings to which it belongs. unsigned int index(sibling_iterator it) const; /// Inverse of 'index': return the n-th child of the node at position. sibling_iterator child(const iterator_base &position, unsigned int) const; /// Comparator class for iterators (compares pointer values; why doesn't this work /// automatically?) class iterator_base_less { public: bool operator()(const typename tree::iterator_base &one, const typename tree::iterator_base &two) const { return one.node < two.node; } }; tree_node *head, *feet; // head/feet are always dummy; if an iterator points to them it is invalid private: tree_node_allocator alloc_; void head_initialise_(); void copy_(const tree &other); /// Comparator class for two nodes of a tree (used for sorting and searching). template class compare_nodes { public: compare_nodes(StrictWeakOrdering comp) : comp_(comp) { }; bool operator()(const tree_node *a, const tree_node *b) { static StrictWeakOrdering comp; return comp(a->data, b->data); } private: StrictWeakOrdering comp_; }; }; // template // class iterator_base_less { // public: // bool operator()(const typename tree::iterator_base& one, // const typename tree::iterator_base& two) const // { // txtout << "operatorclass<" << one.node < two.node << std::endl; // return one.node < two.node; // } //}; // template // bool operator<(const typename tree::iterator& one, // const typename tree::iterator& two) // { // txtout << "operator< " << one.node < two.node << std::endl; // if(one.node < two.node) return true; // return false; // } // // template // bool operator==(const typename tree::iterator& one, // const typename tree::iterator& two) // { // txtout << "operator== " << one.node == two.node << std::endl; // if(one.node == two.node) return true; // return false; // } // // template // bool operator>(const typename tree::iterator_base& one, // const typename tree::iterator_base& two) // { // txtout << "operator> " << one.node < two.node << std::endl; // if(one.node > two.node) return true; // return false; // } // Tree template tree::tree() { head_initialise_(); } template tree::tree(const T &x) { head_initialise_(); set_head(x); } template tree::tree(const iterator_base &other) { head_initialise_(); set_head((*other)); replace(begin(), other); } template tree::~tree() { clear(); alloc_.deallocate(head, 1); alloc_.deallocate(feet, 1); } template void tree::head_initialise_() { head = alloc_.allocate(1); feet = alloc_.allocate(1); head->parent = nullptr; head->first_child = nullptr; head->last_child = nullptr; head->prev_sibling = nullptr; // head; head->next_sibling = feet; // head; feet->parent = nullptr; feet->first_child = nullptr; feet->last_child = nullptr; feet->prev_sibling = head; feet->next_sibling = nullptr; } template void tree::operator=(const tree &other) { copy_(other); } template tree::tree(const tree &other) { head_initialise_(); copy_(other); } template void tree::copy_(const tree &other) { clear(); pre_order_iterator it = other.begin(), to = begin(); while (it != other.end()) { to = insert(to, (*it)); it.skip_children(); ++it; } to = begin(); it = other.begin(); while (it != other.end()) { to = replace(to, it); to.skip_children(); it.skip_children(); ++to; ++it; } } template void tree::clear() { if (head) while (head->next_sibling != feet) erase(pre_order_iterator(head->next_sibling)); } template void tree::erase_children(const iterator_base &it) { // std::cout << "erase_children " << it.node << std::endl; if (it.node == nullptr) return; tree_node *cur = it.node->first_child; tree_node *prev = nullptr; while (cur != nullptr) { prev = cur; cur = cur->next_sibling; erase_children(pre_order_iterator(prev)); kp::destructor(&prev->data); alloc_.deallocate(prev, 1); } it.node->first_child = nullptr; it.node->last_child = nullptr; // std::cout << "exit" << std::endl; } template template iter tree::erase(iter it) { tree_node *cur = it.node; assert(cur != head); iter ret = it; ret.skip_children(); ++ret; erase_children(it); if (cur->prev_sibling == nullptr) { cur->parent->first_child = cur->next_sibling; } else { cur->prev_sibling->next_sibling = cur->next_sibling; } if (cur->next_sibling == nullptr) { cur->parent->last_child = cur->prev_sibling; } else { cur->next_sibling->prev_sibling = cur->prev_sibling; } kp::destructor(&cur->data); alloc_.deallocate(cur, 1); return ret; } template typename tree::pre_order_iterator tree::begin() const { return pre_order_iterator(head->next_sibling); } template typename tree::pre_order_iterator tree::end() const { return pre_order_iterator(feet); } template typename tree::breadth_first_queued_iterator tree::begin_breadth_first() const { return breadth_first_queued_iterator(head->next_sibling); } template typename tree::breadth_first_queued_iterator tree::end_breadth_first() const { return breadth_first_queued_iterator(); } template typename tree::post_order_iterator tree::begin_post() const { tree_node *tmp = head->next_sibling; if (tmp != feet) { while (tmp->first_child) tmp = tmp->first_child; } return post_order_iterator(tmp); } template typename tree::post_order_iterator tree::end_post() const { return post_order_iterator(feet); } template typename tree::fixed_depth_iterator tree::begin_fixed(const iterator_base &pos, unsigned int dp) const { tree_node *tmp = pos.node; unsigned int curdepth = 0; while (curdepth < dp) { // go down one level while (tmp->first_child == 0) { if (tmp->next_sibling == 0) { // try to walk up and then right again do { tmp = tmp->parent; if (tmp == 0) throw std::range_error("tree: begin_fixed out of range"); --curdepth; } while (tmp->next_sibling == 0); } tmp = tmp->next_sibling; } tmp = tmp->first_child; ++curdepth; } return tmp; } template typename tree::fixed_depth_iterator tree::end_fixed(const iterator_base &pos, unsigned int dp) const { assert(1 == 0); // FIXME: not correct yet: use is_valid() as a temporary workaround tree_node *tmp = pos.node; unsigned int curdepth = 1; while (curdepth < dp) { // go down one level while (tmp->first_child == 0) { tmp = tmp->next_sibling; if (tmp == 0) throw std::range_error("tree: end_fixed out of range"); } tmp = tmp->first_child; ++curdepth; } return tmp; } template typename tree::sibling_iterator tree::begin(const iterator_base &pos) const { assert(pos.node != nullptr); if (pos.node->first_child == nullptr) { return end(pos); } return pos.node->first_child; } template typename tree::sibling_iterator tree::end(const iterator_base &pos) const { sibling_iterator ret(nullptr); ret.parent_ = pos.node; return ret; } template typename tree::leaf_iterator tree::begin_leaf() const { tree_node *tmp = head->next_sibling; if (tmp != feet) { while (tmp->first_child) tmp = tmp->first_child; } return leaf_iterator(tmp); } template typename tree::leaf_iterator tree::end_leaf() const { return leaf_iterator(feet); } template template iter tree::parent(iter position) { assert(position.node != 0); return iter(position.node->parent); } template template iter tree::previous_sibling(iter position) const { assert(position.node != 0); iter ret(position); ret.node = position.node->prev_sibling; return ret; } template template iter tree::next_sibling(iter position) const { assert(position.node != 0); iter ret(position); ret.node = position.node->next_sibling; return ret; } template template iter tree::next_at_same_depth(iter position) const { assert(position.node != 0); iter ret(position); if (position.node->next_sibling) { ret.node = position.node->next_sibling; } else { int relative_depth = 0; upper: do { ret.node = ret.node->parent; if (ret.node == 0) return ret; --relative_depth; } while (ret.node->next_sibling == 0); lower: ret.node = ret.node->next_sibling; while (ret.node->first_child == 0) { if (ret.node->next_sibling == 0) goto upper; ret.node = ret.node->next_sibling; if (ret.node == 0) return ret; } while (relative_depth < 0 && ret.node->first_child != 0) { ret.node = ret.node->first_child; ++relative_depth; } if (relative_depth < 0) { if (ret.node->next_sibling == 0) goto upper; else goto lower; } } return ret; } template template iter tree::append_child(iter position) { assert(position.node != head); assert(position.node); tree_node *tmp = alloc_.allocate(1, 0); kp::constructor(&tmp->data); tmp->first_child = 0; tmp->last_child = 0; tmp->parent = position.node; if (position.node->last_child != 0) { position.node->last_child->next_sibling = tmp; } else { position.node->first_child = tmp; } tmp->prev_sibling = position.node->last_child; position.node->last_child = tmp; tmp->next_sibling = 0; return tmp; } template template iter tree::prepend_child(iter position) { assert(position.node != head); assert(position.node); tree_node *tmp = alloc_.allocate(1, 0); kp::constructor(&tmp->data); tmp->first_child = 0; tmp->last_child = 0; tmp->parent = position.node; if (position.node->first_child != 0) { position.node->first_child->prev_sibling = tmp; } else { position.node->last_child = tmp; } tmp->next_sibling = position.node->first_child; position.node->prev_child = tmp; tmp->prev_sibling = 0; return tmp; } template template iter tree::append_child(iter position, const T &x) { // If your program fails here you probably used 'append_child' to add the top // node to an empty tree. From version 1.45 the top element should be added // using 'insert'. See the documentation for further information, and sorry about // the API change. assert(position.node != head); assert(position.node); tree_node *tmp = alloc_.allocate(1); kp::constructor(&tmp->data, x); tmp->first_child = nullptr; tmp->last_child = nullptr; tmp->parent = position.node; if (position.node->last_child != nullptr) { position.node->last_child->next_sibling = tmp; } else { position.node->first_child = tmp; } tmp->prev_sibling = position.node->last_child; position.node->last_child = tmp; tmp->next_sibling = nullptr; return tmp; } template template iter tree::prepend_child(iter position, const T &x) { assert(position.node != head); assert(position.node); tree_node *tmp = alloc_.allocate(1, 0); kp::constructor(&tmp->data, x); tmp->first_child = 0; tmp->last_child = 0; tmp->parent = position.node; if (position.node->first_child != 0) { position.node->first_child->prev_sibling = tmp; } else { position.node->last_child = tmp; } tmp->next_sibling = position.node->first_child; position.node->first_child = tmp; tmp->prev_sibling = 0; return tmp; } template template iter tree::append_child(iter position, iter other) { assert(position.node != head); assert(position.node); sibling_iterator aargh = append_child(position, value_type()); return replace(aargh, other); } template template iter tree::prepend_child(iter position, iter other) { assert(position.node != head); assert(position.node); sibling_iterator aargh = prepend_child(position, value_type()); return replace(aargh, other); } template template iter tree::append_children(iter position, sibling_iterator from, sibling_iterator to) { assert(position.node != head); assert(position.node); iter ret = from; while (from != to) { insert_subtree(position.end(), from); ++from; } return ret; } template template iter tree::prepend_children(iter position, sibling_iterator from, sibling_iterator to) { assert(position.node != head); assert(position.node); iter ret = from; while (from != to) { insert_subtree(position.begin(), from); ++from; } return ret; } template typename tree::pre_order_iterator tree::set_head(const T &x) { assert(head->next_sibling == feet); return insert(iterator(feet), x); } template template iter tree::insert(iter position, const T &x) { if (position.node == nullptr) { position.node = feet; // Backward compatibility: when calling insert on a null node, // insert before the feet. } tree_node *tmp = alloc_.allocate(1); kp::constructor(&tmp->data, x); tmp->first_child = nullptr; tmp->last_child = nullptr; tmp->parent = position.node->parent; tmp->next_sibling = position.node; tmp->prev_sibling = position.node->prev_sibling; position.node->prev_sibling = tmp; if (tmp->prev_sibling == nullptr) { if (tmp->parent) // when inserting nodes at the head, there is no parent tmp->parent->first_child = tmp; } else tmp->prev_sibling->next_sibling = tmp; return tmp; } template typename tree::sibling_iterator tree::insert(sibling_iterator position, const T &x) { tree_node *tmp = alloc_.allocate(1, nullptr); kp::constructor(&tmp->data, x); tmp->first_child = nullptr; tmp->last_child = nullptr; tmp->next_sibling = position.node; if (position.node == nullptr) { // iterator points to end of a subtree tmp->parent = position.parent_; tmp->prev_sibling = position.range_last(); tmp->parent->last_child = tmp; } else { tmp->parent = position.node->parent; tmp->prev_sibling = position.node->prev_sibling; position.node->prev_sibling = tmp; } if (tmp->prev_sibling == nullptr) { if (tmp->parent) // when inserting nodes at the head, there is no parent tmp->parent->first_child = tmp; } else tmp->prev_sibling->next_sibling = tmp; return tmp; } template template iter tree::insert_after(iter position, const T &x) { tree_node *tmp = alloc_.allocate(1, nullptr); kp::constructor(&tmp->data, x); tmp->first_child = nullptr; tmp->last_child = nullptr; tmp->parent = position.node->parent; tmp->prev_sibling = position.node; tmp->next_sibling = position.node->next_sibling; position.node->next_sibling = tmp; if (tmp->next_sibling == nullptr) { if (tmp->parent) // when inserting nodes at the head, there is no parent tmp->parent->last_child = tmp; } else { tmp->next_sibling->prev_sibling = tmp; } return tmp; } template template iter tree::insert_subtree(iter position, const iterator_base &subtree) { // insert dummy iter it = insert(position, value_type()); // replace dummy with subtree return replace(it, subtree); } template template iter tree::insert_subtree_after(iter position, const iterator_base &subtree) { // insert dummy iter it = insert_after(position, value_type()); // replace dummy with subtree return replace(it, subtree); } // template // template // iter tree::insert_subtree(sibling_iterator position, iter subtree) // { // // insert dummy // iter it(insert(position, value_type())); // // replace dummy with subtree // return replace(it, subtree); // } template template iter tree::replace(iter position, const T &x) { kp::destructor(&position.node->data); kp::constructor(&position.node->data, x); return position; } template template iter tree::replace(iter position, const iterator_base &from) { assert(position.node != head); tree_node *current_from = from.node; tree_node *start_from = from.node; tree_node *current_to = position.node; // replace the node at position with head of the replacement tree at from // std::cout << "warning!" << position.node << std::endl; erase_children(position); // std::cout << "no warning!" << std::endl; tree_node *tmp = alloc_.allocate(1, nullptr); kp::constructor(&tmp->data, (*from)); tmp->first_child = nullptr; tmp->last_child = nullptr; if (current_to->prev_sibling == nullptr) { if (current_to->parent != nullptr) current_to->parent->first_child = tmp; } else { current_to->prev_sibling->next_sibling = tmp; } tmp->prev_sibling = current_to->prev_sibling; if (current_to->next_sibling == nullptr) { if (current_to->parent != nullptr) current_to->parent->last_child = tmp; } else { current_to->next_sibling->prev_sibling = tmp; } tmp->next_sibling = current_to->next_sibling; tmp->parent = current_to->parent; kp::destructor(¤t_to->data); alloc_.deallocate(current_to, 1); current_to = tmp; // only at this stage can we fix 'last' tree_node *last = from.node->next_sibling; pre_order_iterator toit = tmp; // copy all children do { assert(current_from != nullptr); if (current_from->first_child != nullptr) { current_from = current_from->first_child; toit = append_child(toit, current_from->data); } else { while (current_from->next_sibling == nullptr && current_from != start_from) { current_from = current_from->parent; toit = parent(toit); assert(current_from != nullptr); } current_from = current_from->next_sibling; if (current_from != last) { toit = append_child(parent(toit), current_from->data); } } } while (current_from != last); return current_to; } template typename tree::sibling_iterator tree::replace( const sibling_iterator &orig_begin, const sibling_iterator &orig_end, const sibling_iterator &new_begin, const sibling_iterator &new_end) { tree_node *orig_first = orig_begin.node; tree_node *new_first = new_begin.node; tree_node *orig_last = orig_first; while ((++orig_begin) != orig_end) orig_last = orig_last->next_sibling; tree_node *new_last = new_first; while ((++new_begin) != new_end) new_last = new_last->next_sibling; // insert all siblings in new_first..new_last before orig_first bool first = true; pre_order_iterator ret; while (1 == 1) { pre_order_iterator tt = insert_subtree(pre_order_iterator(orig_first), pre_order_iterator(new_first)); if (first) { ret = tt; first = false; } if (new_first == new_last) break; new_first = new_first->next_sibling; } // erase old range of siblings bool last = false; tree_node *next = orig_first; while (1 == 1) { if (next == orig_last) last = true; next = next->next_sibling; erase((pre_order_iterator)orig_first); if (last) break; orig_first = next; } return ret; } template template iter tree::flatten(iter position) { if (position.node->first_child == nullptr) return position; tree_node *tmp = position.node->first_child; while (tmp) { tmp->parent = position.node->parent; tmp = tmp->next_sibling; } if (position.node->next_sibling) { position.node->last_child->next_sibling = position.node->next_sibling; position.node->next_sibling->prev_sibling = position.node->last_child; } else { position.node->parent->last_child = position.node->last_child; } position.node->next_sibling = position.node->first_child; position.node->next_sibling->prev_sibling = position.node; position.node->first_child = nullptr; position.node->last_child = nullptr; return position; } template template iter tree::reparent(iter position, sibling_iterator begin, sibling_iterator end) { tree_node *first = begin.node; tree_node *last = first; assert(first != position.node); if (begin == end) return begin; // determine last node while ((++begin) != end) { last = last->next_sibling; } // move subtree if (first->prev_sibling == nullptr) { first->parent->first_child = last->next_sibling; } else { first->prev_sibling->next_sibling = last->next_sibling; } if (last->next_sibling == nullptr) { last->parent->last_child = first->prev_sibling; } else { last->next_sibling->prev_sibling = first->prev_sibling; } if (position.node->first_child == nullptr) { position.node->first_child = first; position.node->last_child = last; first->prev_sibling = nullptr; } else { position.node->last_child->next_sibling = first; first->prev_sibling = position.node->last_child; position.node->last_child = last; } last->next_sibling = nullptr; tree_node *pos = first; while (1 == 1) { pos->parent = position.node; if (pos == last) break; pos = pos->next_sibling; } return first; } template template iter tree::reparent(iter position, iter from) { if (from.node->first_child == nullptr) return position; return reparent(position, from.node->first_child, end(from)); } template template iter tree::wrap(iter position, const T &x) { assert(position.node != nullptr); sibling_iterator fr = position, to = position; ++to; iter ret = insert(position, x); reparent(ret, fr, to); return ret; } template template iter tree::move_after(iter target, iter source) { tree_node *dst = target.node; tree_node *src = source.node; assert(dst); assert(src); if (dst == src) return source; if (dst->next_sibling) if (dst->next_sibling == src) // already in the right spot return source; // take src out of the tree if (src->prev_sibling != nullptr) src->prev_sibling->next_sibling = src->next_sibling; else src->parent->first_child = src->next_sibling; if (src->next_sibling != nullptr) src->next_sibling->prev_sibling = src->prev_sibling; else src->parent->last_child = src->prev_sibling; // connect it to the new point if (dst->next_sibling != nullptr) dst->next_sibling->prev_sibling = src; else dst->parent->last_child = src; src->next_sibling = dst->next_sibling; dst->next_sibling = src; src->prev_sibling = dst; src->parent = dst->parent; return src; } template template iter tree::move_before(iter target, iter source) { tree_node *dst = target.node; tree_node *src = source.node; assert(dst); assert(src); if (dst == src) return source; if (dst->prev_sibling) if (dst->prev_sibling == src) // already in the right spot return source; // take src out of the tree if (src->prev_sibling != nullptr) src->prev_sibling->next_sibling = src->next_sibling; else src->parent->first_child = src->next_sibling; if (src->next_sibling != nullptr) src->next_sibling->prev_sibling = src->prev_sibling; else src->parent->last_child = src->prev_sibling; // connect it to the new point if (dst->prev_sibling != nullptr) dst->prev_sibling->next_sibling = src; else dst->parent->first_child = src; src->prev_sibling = dst->prev_sibling; dst->prev_sibling = src; src->next_sibling = dst; src->parent = dst->parent; return src; } // specialisation for sibling_iterators template typename tree::sibling_iterator tree::move_before(sibling_iterator target, sibling_iterator source) { tree_node *dst = target.node; tree_node *src = source.node; tree_node *dst_prev_sibling; if (dst == nullptr) { // must then be an end iterator dst_prev_sibling = target.parent_->last_child; assert(dst_prev_sibling); } else dst_prev_sibling = dst->prev_sibling; assert(src); if (dst == src) return source; if (dst_prev_sibling) if (dst_prev_sibling == src) // already in the right spot return source; // take src out of the tree if (src->prev_sibling != nullptr) src->prev_sibling->next_sibling = src->next_sibling; else src->parent->first_child = src->next_sibling; if (src->next_sibling != nullptr) src->next_sibling->prev_sibling = src->prev_sibling; else src->parent->last_child = src->prev_sibling; // connect it to the new point if (dst_prev_sibling != nullptr) dst_prev_sibling->next_sibling = src; else target.parent_->first_child = src; src->prev_sibling = dst_prev_sibling; if (dst) { dst->prev_sibling = src; src->parent = dst->parent; } src->next_sibling = dst; return src; } template template iter tree::move_ontop(iter target, iter source) { tree_node *dst = target.node; tree_node *src = source.node; assert(dst); assert(src); if (dst == src) return source; // remember connection points tree_node *b_prev_sibling = dst->prev_sibling; tree_node *b_next_sibling = dst->next_sibling; tree_node *b_parent = dst->parent; // remove target erase(target); // take src out of the tree if (src->prev_sibling != nullptr) src->prev_sibling->next_sibling = src->next_sibling; else src->parent->first_child = src->next_sibling; if (src->next_sibling != nullptr) src->next_sibling->prev_sibling = src->prev_sibling; else src->parent->last_child = src->prev_sibling; // connect it to the new point if (b_prev_sibling != nullptr) b_prev_sibling->next_sibling = src; else b_parent->first_child = src; if (b_next_sibling != nullptr) b_next_sibling->prev_sibling = src; else b_parent->last_child = src; src->prev_sibling = b_prev_sibling; src->next_sibling = b_next_sibling; src->parent = b_parent; return src; } template void tree::merge(const sibling_iterator &to1, const sibling_iterator &to2, const sibling_iterator &from1, const sibling_iterator &from2, bool duplicate_leaves) { sibling_iterator fnd; while (from1 != from2) { if ((fnd = std::find(to1, to2, (*from1))) != to2) { // element found if (from1.begin() == from1.end()) { // full depth reached if (duplicate_leaves) append_child(parent(to1), (*from1)); } else { // descend further merge(fnd.begin(), fnd.end(), from1.begin(), from1.end(), duplicate_leaves); } } else { // element missing insert_subtree(to2, from1); } ++from1; } } template void tree::sort(const sibling_iterator &from, const sibling_iterator &to, bool deep) { std::less comp; sort(from, to, comp, deep); } template template void tree::sort(const sibling_iterator &from, const sibling_iterator &to, StrictWeakOrdering comp, bool deep) { if (from == to) return; // make list of sorted nodes // CHECK: if multiset stores equivalent nodes in the order in which they // are inserted, then this routine should be called 'stable_sort'. std::multiset> nodes(comp); sibling_iterator it = from, it2 = to; while (it != to) { nodes.insert(it.node); ++it; } // reassemble --it2; // prev and next are the nodes before and after the sorted range tree_node *prev = from.node->prev_sibling; tree_node *next = it2.node->next_sibling; typename std::multiset>::iterator nit = nodes.begin(), eit = nodes.end(); if (prev == nullptr) { if ((*nit)->parent != nullptr) // to catch "sorting the head" situations, when there is no parent (*nit)->parent->first_child = (*nit); } else prev->next_sibling = (*nit); --eit; while (nit != eit) { (*nit)->prev_sibling = prev; if (prev) prev->next_sibling = (*nit); prev = (*nit); ++nit; } // prev now points to the last-but-one node in the sorted range if (prev) prev->next_sibling = (*eit); // eit points to the last node in the sorted range. (*eit)->next_sibling = next; (*eit)->prev_sibling = prev; // missed in the loop above if (next == nullptr) { if ((*eit)->parent != nullptr) // to catch "sorting the head" situations, when there is no parent (*eit)->parent->last_child = (*eit); } else next->prev_sibling = (*eit); if (deep) { // sort the children of each node too sibling_iterator bcs(*nodes.begin()); sibling_iterator ecs(*eit); ++ecs; while (bcs != ecs) { sort(begin(bcs), end(bcs), comp, deep); ++bcs; } } } template template bool tree::equal(const iter &one_, const iter &two, const iter &three_) const { std::equal_to comp; return equal(one_, two, three_, comp); } template template bool tree::equal_subtree(const iter &one_, const iter &two_) const { std::equal_to comp; return equal_subtree(one_, two_, comp); } template template bool tree::equal(const iter &one_, const iter &two, const iter &three_, BinaryPredicate fun) const { pre_order_iterator one(one_), three(three_); // if(one==two && is_valid(three) && three.number_of_children()!=nullptr) // return false; while (one != two && is_valid(three)) { if (!fun(*one, *three)) return false; if (one.number_of_children() != three.number_of_children()) return false; ++one; ++three; } return true; } template template bool tree::equal_subtree(const iter &one_, const iter &two_, BinaryPredicate fun) const { pre_order_iterator one(one_), two(two_); if (!fun(*one, *two)) return false; if (number_of_children(one) != number_of_children(two)) return false; return equal(begin(one), end(one), begin(two), fun); } template tree tree::subtree(const sibling_iterator &from, const sibling_iterator &to) const { tree tmp; tmp.set_head(value_type()); tmp.replace(tmp.begin(), tmp.end(), from, to); return tmp; } template void tree::subtree(tree &tmp, const sibling_iterator &from, const sibling_iterator &to) const { tmp.set_head(value_type()); tmp.replace(tmp.begin(), tmp.end(), from, to); } template int tree::size() const { int i = 0; pre_order_iterator it = begin(), eit = end(); while (it != eit) { ++i; ++it; } return i; } template int tree::size(const iterator_base &top) const { int i = 0; pre_order_iterator it = top, eit = top; eit.skip_children(); ++eit; while (it != eit) { ++i; ++it; } return i; } template bool tree::empty() const { pre_order_iterator it = begin(), eit = end(); return (it == eit); } template int tree::depth(const iterator_base &it) const { tree_node *pos = it.node; assert(pos != nullptr); int ret = 0; while (pos->parent != nullptr) { pos = pos->parent; ++ret; } return ret; } template int tree::max_depth() const { return max_depth(begin()); } template int tree::max_depth(const iterator_base &pos) const { tree_node *tmp = pos.node; int curdepth = 0, maxdepth = 0; while (true) { // try to walk the bottom of the tree while (tmp->first_child == 0) { if (tmp == pos.node) return maxdepth; if (tmp->next_sibling == 0) { // try to walk up and then right again do { tmp = tmp->parent; if (tmp == 0) return maxdepth; --curdepth; } while (tmp->next_sibling == 0); } if (tmp == pos.node) return maxdepth; tmp = tmp->next_sibling; } tmp = tmp->first_child; ++curdepth; maxdepth = std::max(curdepth, maxdepth); } } template unsigned int tree::number_of_children(const iterator_base &it) { tree_node *pos = it.node->first_child; if (pos == 0) return 0; unsigned int ret = 1; // while(pos!=it.node->last_child) { // ++ret; // pos=pos->next_sibling; // } while ((pos = pos->next_sibling)) ++ret; return ret; } template unsigned int tree::number_of_siblings(const iterator_base &it) const { tree_node *pos = it.node; unsigned int ret = 0; // count forward while (pos->next_sibling && pos->next_sibling != head && pos->next_sibling != feet) { ++ret; pos = pos->next_sibling; } // count backward pos = it.node; while (pos->prev_sibling && pos->prev_sibling != head && pos->prev_sibling != feet) { ++ret; pos = pos->prev_sibling; } return ret; } template void tree::swap(sibling_iterator it) { tree_node *nxt = it.node->next_sibling; if (nxt) { if (it.node->prev_sibling) it.node->prev_sibling->next_sibling = nxt; else it.node->parent->first_child = nxt; nxt->prev_sibling = it.node->prev_sibling; tree_node *nxtnxt = nxt->next_sibling; if (nxtnxt) nxtnxt->prev_sibling = it.node; else it.node->parent->last_child = it.node; nxt->next_sibling = it.node; it.node->prev_sibling = nxt; it.node->next_sibling = nxtnxt; } } template void tree::swap(iterator one, iterator two) { // if one and two are adjacent siblings, use the sibling swap if (one.node->next_sibling == two.node) swap(one); else if (two.node->next_sibling == one.node) swap(two); else { tree_node *nxt1 = one.node->next_sibling; tree_node *nxt2 = two.node->next_sibling; tree_node *pre1 = one.node->prev_sibling; tree_node *pre2 = two.node->prev_sibling; tree_node *par1 = one.node->parent; tree_node *par2 = two.node->parent; // reconnect one.node->parent = par2; one.node->next_sibling = nxt2; if (nxt2) nxt2->prev_sibling = one.node; else par2->last_child = one.node; one.node->prev_sibling = pre2; if (pre2) pre2->next_sibling = one.node; else par2->first_child = one.node; two.node->parent = par1; two.node->next_sibling = nxt1; if (nxt1) nxt1->prev_sibling = two.node; else par1->last_child = two.node; two.node->prev_sibling = pre1; if (pre1) pre1->next_sibling = two.node; else par1->first_child = two.node; } } // template // tree::iterator tree::find_subtree( // sibling_iterator subfrom, sibling_iterator subto, iterator from, iterator to, // BinaryPredicate fun) const // { // assert(1==0); // this routine is not finished yet. // while(from!=to) { // if(fun(*subfrom, *from)) { // // } // } // return to; // } template bool tree::is_in_subtree(const iterator_base &it, const iterator_base &begin, const iterator_base &end) const { // FIXME: this should be optimised. pre_order_iterator tmp = begin; while (tmp != end) { if (tmp == it) return true; ++tmp; } return false; } template bool tree::is_valid(const iterator_base &it) const { if (it.node == 0 || it.node == feet || it.node == head) return false; else return true; } template unsigned int tree::index(sibling_iterator it) const { unsigned int ind = 0; if (it.node->parent == 0) { while (it.node->prev_sibling != head) { it.node = it.node->prev_sibling; ++ind; } } else { while (it.node->prev_sibling != 0) { it.node = it.node->prev_sibling; ++ind; } } return ind; } template typename tree::sibling_iterator tree::child(const iterator_base &it, unsigned int num) const { tree_node *tmp = it.node->first_child; while (num--) { assert(tmp != 0); tmp = tmp->next_sibling; } return tmp; } // Iterator base template tree::iterator_base::iterator_base() : node(0), skip_current_children_(false) { } template tree::iterator_base::iterator_base(tree_node *tn) : node(tn), skip_current_children_(false) { } template T &tree::iterator_base::operator*() const { return node->data; } template T *tree::iterator_base::operator->() const { return &(node->data); } template bool tree::post_order_iterator::operator!=( const post_order_iterator &other) const { if (other.node != this->node) return true; else return false; } template bool tree::post_order_iterator::operator==( const post_order_iterator &other) const { if (other.node == this->node) return true; else return false; } template bool tree::pre_order_iterator::operator!=( const pre_order_iterator &other) const { if (other.node != this->node) return true; else return false; } template bool tree::pre_order_iterator::operator==( const pre_order_iterator &other) const { if (other.node == this->node) return true; else return false; } template bool tree::sibling_iterator::operator!=(const sibling_iterator &other) const { if (other.node != this->node) return true; else return false; } template bool tree::sibling_iterator::operator==(const sibling_iterator &other) const { if (other.node == this->node) return true; else return false; } template bool tree::leaf_iterator::operator!=(const leaf_iterator &other) const { if (other.node != this->node) return true; else return false; } template bool tree::leaf_iterator::operator==(const leaf_iterator &other) const { if (other.node == this->node) return true; else return false; } template typename tree::sibling_iterator tree::iterator_base::begin() const { if (node->first_child == 0) return end(); sibling_iterator ret(node->first_child); ret.parent_ = this->node; return ret; } template typename tree::sibling_iterator tree::iterator_base::end() const { sibling_iterator ret(0); ret.parent_ = node; return ret; } template void tree::iterator_base::skip_children() { skip_current_children_ = true; } template unsigned int tree::iterator_base::number_of_children() const { tree_node *pos = node->first_child; if (pos == 0) return 0; unsigned int ret = 1; while (pos != node->last_child) { ++ret; pos = pos->next_sibling; } return ret; } // Pre-order iterator template tree::pre_order_iterator::pre_order_iterator() : iterator_base(nullptr) { } template tree::pre_order_iterator::pre_order_iterator(tree_node *tn) : iterator_base(tn) { } template tree::pre_order_iterator::pre_order_iterator(const iterator_base &other) : iterator_base(other.node) { } template tree::pre_order_iterator::pre_order_iterator(const sibling_iterator &other) : iterator_base(other.node) { if (this->node == nullptr) { if (other.range_last() != nullptr) this->node = other.range_last(); else this->node = other.parent_; this->skip_children(); ++(*this); } } template typename tree::pre_order_iterator & tree::pre_order_iterator::operator++() { assert(this->node != nullptr); if (!this->skip_current_children_ && this->node->first_child != nullptr) { this->node = this->node->first_child; } else { this->skip_current_children_ = false; while (this->node->next_sibling == nullptr) { this->node = this->node->parent; if (this->node == nullptr) return *this; } this->node = this->node->next_sibling; } return *this; } template typename tree::pre_order_iterator & tree::pre_order_iterator::operator--() { assert(this->node != 0); if (this->node->prev_sibling) { this->node = this->node->prev_sibling; while (this->node->last_child) this->node = this->node->last_child; } else { this->node = this->node->parent; if (this->node == 0) return *this; } return *this; } template typename tree::pre_order_iterator tree::pre_order_iterator::operator++(int) { pre_order_iterator copy = *this; ++(*this); return copy; } template typename tree::pre_order_iterator tree::pre_order_iterator::operator--(int) { pre_order_iterator copy = *this; --(*this); return copy; } template typename tree::pre_order_iterator & tree::pre_order_iterator::operator+=(unsigned int num) { while (num > 0) { ++(*this); --num; } return (*this); } template typename tree::pre_order_iterator & tree::pre_order_iterator::operator-=(unsigned int num) { while (num > 0) { --(*this); --num; } return (*this); } // Post-order iterator template tree::post_order_iterator::post_order_iterator() : iterator_base(0) { } template tree::post_order_iterator::post_order_iterator(tree_node *tn) : iterator_base(tn) { } template tree::post_order_iterator::post_order_iterator(const iterator_base &other) : iterator_base(other.node) { } template tree::post_order_iterator::post_order_iterator( const sibling_iterator &other) : iterator_base(other.node) { if (this->node == 0) { if (other.range_last() != 0) this->node = other.range_last(); else this->node = other.parent_; this->skip_children(); ++(*this); } } template typename tree::post_order_iterator & tree::post_order_iterator::operator++() { assert(this->node != 0); if (this->node->next_sibling == 0) { this->node = this->node->parent; this->skip_current_children_ = false; } else { this->node = this->node->next_sibling; if (this->skip_current_children_) { this->skip_current_children_ = false; } else { while (this->node->first_child) this->node = this->node->first_child; } } return *this; } template typename tree::post_order_iterator & tree::post_order_iterator::operator--() { assert(this->node != 0); if (this->skip_current_children_ || this->node->last_child == 0) { this->skip_current_children_ = false; while (this->node->prev_sibling == 0) this->node = this->node->parent; this->node = this->node->prev_sibling; } else { this->node = this->node->last_child; } return *this; } template typename tree::post_order_iterator tree::post_order_iterator::operator++(int) { post_order_iterator copy = *this; ++(*this); return copy; } template typename tree::post_order_iterator tree::post_order_iterator::operator--(int) { post_order_iterator copy = *this; --(*this); return copy; } template typename tree::post_order_iterator & tree::post_order_iterator::operator+=(unsigned int num) { while (num > 0) { ++(*this); --num; } return (*this); } template typename tree::post_order_iterator & tree::post_order_iterator::operator-=(unsigned int num) { while (num > 0) { --(*this); --num; } return (*this); } template void tree::post_order_iterator::descend_all() { assert(this->node != 0); while (this->node->first_child) this->node = this->node->first_child; } // Breadth-first iterator template tree::breadth_first_queued_iterator::breadth_first_queued_iterator() : iterator_base() { } template tree::breadth_first_queued_iterator::breadth_first_queued_iterator( tree_node *tn) : iterator_base(tn) { traversal_queue.push(tn); } template tree::breadth_first_queued_iterator::breadth_first_queued_iterator( const iterator_base &other) : iterator_base(other.node) { traversal_queue.push(other.node); } template bool tree::breadth_first_queued_iterator::operator!=( const breadth_first_queued_iterator &other) const { if (other.node != this->node) return true; else return false; } template bool tree::breadth_first_queued_iterator::operator==( const breadth_first_queued_iterator &other) const { if (other.node == this->node) return true; else return false; } template typename tree::breadth_first_queued_iterator & tree::breadth_first_queued_iterator::operator++() { assert(this->node != 0); // Add child nodes and pop current node sibling_iterator sib = this->begin(); while (sib != this->end()) { traversal_queue.push(sib.node); ++sib; } traversal_queue.pop(); if (traversal_queue.size() > 0) this->node = traversal_queue.front(); else this->node = 0; return (*this); } template typename tree::breadth_first_queued_iterator tree::breadth_first_queued_iterator::operator++(int) { breadth_first_queued_iterator copy = *this; ++(*this); return copy; } template typename tree::breadth_first_queued_iterator & tree::breadth_first_queued_iterator::operator+=(unsigned int num) { while (num > 0) { ++(*this); --num; } return (*this); } // Fixed depth iterator template tree::fixed_depth_iterator::fixed_depth_iterator() : iterator_base() { set_first_parent_(); } template tree::fixed_depth_iterator::fixed_depth_iterator(tree_node *tn) : iterator_base(tn) { set_first_parent_(); } template tree::fixed_depth_iterator::fixed_depth_iterator(const iterator_base &other) : iterator_base(other.node) { set_first_parent_(); } template tree::fixed_depth_iterator::fixed_depth_iterator( const sibling_iterator &other) : iterator_base(other.node), first_parent_(other.parent_) { find_leftmost_parent_(); } template tree::fixed_depth_iterator::fixed_depth_iterator( const fixed_depth_iterator &other) : iterator_base(other.node), first_parent_(other.first_parent_) { } template bool tree::fixed_depth_iterator::operator==( const fixed_depth_iterator &other) const { if (other.node == this->node && other.first_parent_ == first_parent_) return true; else return false; } template bool tree::fixed_depth_iterator::operator!=( const fixed_depth_iterator &other) const { if (other.node != this->node || other.first_parent_ != first_parent_) return true; else return false; } template void tree::fixed_depth_iterator::set_first_parent_() { return; // FIXME: we do not use first_parent_ yet, and it actually needs some serious reworking // if it is ever to work at the 'head' level. first_parent_ = 0; if (this->node == 0) return; if (this->node->parent != 0) first_parent_ = this->node->parent; if (first_parent_) find_leftmost_parent_(); } template void tree::fixed_depth_iterator::find_leftmost_parent_() { return; // FIXME: see 'set_first_parent()' tree_node *tmppar = first_parent_; while (tmppar->prev_sibling) { tmppar = tmppar->prev_sibling; if (tmppar->first_child) first_parent_ = tmppar; } } template typename tree::fixed_depth_iterator & tree::fixed_depth_iterator::operator++() { assert(this->node != 0); if (this->node->next_sibling) { this->node = this->node->next_sibling; } else { int relative_depth = 0; upper: do { this->node = this->node->parent; if (this->node == 0) return *this; --relative_depth; } while (this->node->next_sibling == 0); lower: this->node = this->node->next_sibling; while (this->node->first_child == 0) { if (this->node->next_sibling == 0) goto upper; this->node = this->node->next_sibling; if (this->node == 0) return *this; } while (relative_depth < 0 && this->node->first_child != 0) { this->node = this->node->first_child; ++relative_depth; } if (relative_depth < 0) { if (this->node->next_sibling == 0) goto upper; else goto lower; } } return *this; // if(this->node->next_sibling!=0) { // this->node=this->node->next_sibling; // assert(this->node!=0); // if(this->node->parent==0 && this->node->next_sibling==0) // feet element // this->node=0; // } // else { // tree_node *par=this->node->parent; // do { // par=par->next_sibling; // if(par==0) { // FIXME: need to keep track of this! // this->node=0; // return *this; // } // } while(par->first_child==0); // this->node=par->first_child; // } return *this; } template typename tree::fixed_depth_iterator & tree::fixed_depth_iterator::operator--() { assert(this->node != 0); if (this->node->prev_sibling != 0) { this->node = this->node->prev_sibling; assert(this->node != 0); if (this->node->parent == 0 && this->node->prev_sibling == 0) // head element this->node = 0; } else { tree_node *par = this->node->parent; do { par = par->prev_sibling; if (par == 0) { // FIXME: need to keep track of this! this->node = 0; return *this; } } while (par->last_child == 0); this->node = par->last_child; } return *this; } template typename tree::fixed_depth_iterator tree::fixed_depth_iterator::operator++(int) { fixed_depth_iterator copy = *this; ++(*this); return copy; } template typename tree::fixed_depth_iterator tree::fixed_depth_iterator::operator--(int) { fixed_depth_iterator copy = *this; --(*this); return copy; } template typename tree::fixed_depth_iterator & tree::fixed_depth_iterator::operator-=(unsigned int num) { while (num > 0) { --(*this); --(num); } return (*this); } template typename tree::fixed_depth_iterator & tree::fixed_depth_iterator::operator+=(unsigned int num) { while (num > 0) { ++(*this); --(num); } return *this; } // FIXME: add the other members of fixed_depth_iterator. // Sibling iterator template tree::sibling_iterator::sibling_iterator() : iterator_base() { set_parent_(); } template tree::sibling_iterator::sibling_iterator(tree_node *tn) : iterator_base(tn) { set_parent_(); } template tree::sibling_iterator::sibling_iterator(const iterator_base &other) : iterator_base(other.node) { set_parent_(); } template tree::sibling_iterator::sibling_iterator(const sibling_iterator &) = default; template void tree::sibling_iterator::set_parent_() { parent_ = nullptr; if (this->node == nullptr) return; if (this->node->parent != nullptr) parent_ = this->node->parent; } template typename tree::sibling_iterator & tree::sibling_iterator::operator++() { if (this->node) this->node = this->node->next_sibling; return *this; } template typename tree::sibling_iterator & tree::sibling_iterator::operator--() { if (this->node) this->node = this->node->prev_sibling; else { assert(parent_); this->node = parent_->last_child; } return *this; } template typename tree::sibling_iterator tree::sibling_iterator::operator++(int) { sibling_iterator copy = *this; ++(*this); return copy; } template typename tree::sibling_iterator tree::sibling_iterator::operator--(int) { sibling_iterator copy = *this; --(*this); return copy; } template typename tree::sibling_iterator & tree::sibling_iterator::operator+=(unsigned int num) { while (num > 0) { ++(*this); --num; } return (*this); } template typename tree::sibling_iterator & tree::sibling_iterator::operator-=(unsigned int num) { while (num > 0) { --(*this); --num; } return (*this); } template typename tree::tree_node * tree::sibling_iterator::range_first() const { tree_node *tmp = parent_->first_child; return tmp; } template typename tree::tree_node * tree::sibling_iterator::range_last() const { return parent_->last_child; } // Leaf iterator template tree::leaf_iterator::leaf_iterator() : iterator_base(0) { } template tree::leaf_iterator::leaf_iterator(tree_node *tn) : iterator_base(tn) { } template tree::leaf_iterator::leaf_iterator(const iterator_base &other) : iterator_base(other.node) { } template tree::leaf_iterator::leaf_iterator(const sibling_iterator &other) : iterator_base(other.node) { if (this->node == nullptr) { if (other.range_last() != nullptr) this->node = other.range_last(); else this->node = other.parent_; ++(*this); } } template typename tree::leaf_iterator & tree::leaf_iterator::operator++() { assert(this->node != nullptr); while (this->node->next_sibling == nullptr) { if (this->node->parent == nullptr) return *this; this->node = this->node->parent; } this->node = this->node->next_sibling; while (this->node->first_child) this->node = this->node->first_child; return *this; } template typename tree::leaf_iterator & tree::leaf_iterator::operator--() { assert(this->node != nullptr); while (this->node->prev_sibling == nullptr) { if (this->node->parent == nullptr) return *this; this->node = this->node->parent; } this->node = this->node->prev_sibling; while (this->node->last_child) this->node = this->node->last_child; return *this; } template typename tree::leaf_iterator tree::leaf_iterator::operator++(int) { leaf_iterator copy = *this; ++(*this); return copy; } template typename tree::leaf_iterator tree::leaf_iterator::operator--(int) { leaf_iterator copy = *this; --(*this); return copy; } template typename tree::leaf_iterator & tree::leaf_iterator::operator+=(unsigned int num) { while (num > 0) { ++(*this); --num; } return (*this); } template typename tree::leaf_iterator & tree::leaf_iterator::operator-=(unsigned int num) { while (num > 0) { --(*this); --num; } return (*this); } #endif // Local variables: // default-tab-width: 3 // End: liborigin-3.0.4/PaxHeaders/CMakeLists.txt0000644000000000000000000000013215223727411015316 xustar0030 mtime=1783607049.973690744 30 atime=1783607075.949745584 30 ctime=1783607690.181524368 liborigin-3.0.4/CMakeLists.txt0000644000175000001440000001073115223727411016764 0ustar00dozentusers00000000000000# CMakeLists.txt for liborigin cmake_minimum_required(VERSION 3.16.3) project( liborigin VERSION 3.0.4 LANGUAGES CXX ) set( CMAKE_CXX_STANDARD 17 ) set( CMAKE_CXX_STANDARD_REQUIRED TRUE ) set( CMAKE_CXX_EXTENSIONS OFF ) # allow for installation of individual targets set(CMAKE_SKIP_INSTALL_ALL_DEPENDENCY true) option(BUILD_SHARED_LIBS "Build shared library" ON) option(BUILD_STATIC_LIBS "Build static library" ON) if( NOT BUILD_STATIC_LIBS AND NOT BUILD_SHARED_LIBS ) message( FATAL_ERROR "You must enable building shared or static library" ) endif() if( BUILD_SHARED_LIBS AND MSVC ) set( BUILD_STATIC_LIBS OFF CACHE BOOL "Build static library" FORCE ) endif() if( MSVC ) # /wd4456 /wd4458 Silent "declaration of %1 hides %2 ..." set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /W4 /permissive- /wd4456 /wd4458" ) add_compile_definitions( _CRT_SECURE_NO_WARNINGS _SILENCE_CXX17_OLD_ALLOCATOR_MEMBERS_DEPRECATION_WARNING ) if( CMAKE_CXX_COMPILER_ID STREQUAL "Clang" ) set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-nonportable-include-path" ) else() add_compile_options( "/MP" ) endif() else() set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexceptions -Wall -Wextra -pedantic -Wzero-as-null-pointer-constant" ) set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -pedantic" ) endif() # compile-time configuration variables to be linked in configure_file(config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h) include_directories(${CMAKE_CURRENT_BINARY_DIR}) # source files set (sources OriginFile.cpp OriginParser.cpp OriginAnyParser.cpp ) # header files for development set (devel-headers OriginObj.h OriginFile.h OriginParser.h tree.hh ) # object library add_library (origin OBJECT ${sources}) set_target_properties(origin PROPERTIES POSITION_INDEPENDENT_CODE ON) # inform on log setting option(GENERATE_CODE_FOR_LOG "Enable logging file parsing" OFF) if (GENERATE_CODE_FOR_LOG) message("File parsing will be logged.") target_compile_definitions(origin PRIVATE GENERATE_CODE_FOR_LOG) else() message("File parsing will NOT be logged. Define GENERATE_CODE_FOR_LOG to activate logging.") endif () include(GNUInstallDirs) # Static library if (BUILD_STATIC_LIBS) add_library (origin_static STATIC $) set_target_properties(origin_static PROPERTIES OUTPUT_NAME "origin" ) install( TARGETS origin_static LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ) endif () # Shared library if (BUILD_SHARED_LIBS) if (WIN32) target_compile_definitions( origin PUBLIC ORIGIN_DLL PRIVATE ORIGIN_DLL_EXPORT ) endif() add_library( origin_shared SHARED $) set_target_properties(origin_shared PROPERTIES OUTPUT_NAME "origin" VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR} ) install( TARGETS origin_shared RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ) endif () # command line util if (BUILD_STATIC_LIBS) add_executable(opj2dat opj2dat.cpp) target_link_libraries (opj2dat origin_static) elseif (BUILD_SHARED_LIBS) add_executable(opj2dat opj2dat.cpp) target_link_libraries (opj2dat origin_shared) endif () # Generate a pkg-config file matching this config configure_file("liborigin.pc.in" "liborigin.pc" @ONLY) # install headers install(FILES ${devel-headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/liborigin) # install pkg-config file if (BUILD_STATIC_LIBS OR BUILD_SHARED_LIBS) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liborigin.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) install(TARGETS opj2dat DESTINATION ${CMAKE_INSTALL_BINDIR} OPTIONAL) endif () # documentation install(FILES COPYING FORMAT README DESTINATION ${CMAKE_INSTALL_DOCDIR} OPTIONAL ) # Doxygen configure_file(doc/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile) find_package(Doxygen) if (DOXYGEN_FOUND) MESSAGE (STATUS "Building Doxygen docu") add_custom_target(doc ALL ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES ${CMAKE_CURRENT_BINARY_DIR}/html) install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html DESTINATION ${CMAKE_INSTALL_DOCDIR} OPTIONAL ) endif () liborigin-3.0.4/PaxHeaders/README0000644000000000000000000000013215223730560013435 xustar0030 mtime=1783607664.681592524 30 atime=1783607664.681592524 30 ctime=1783607690.197524325 liborigin-3.0.4/README0000644000175000001440000000506115223730560015103 0ustar00dozentusers00000000000000liborigin, standalone version ----------------------------- This code is a standalone library for reading OriginLab project files. It is based on the code at http://sourceforge.net/projects/liborigin (upstream) https://github.com/SciDAVis/liborigin http://soft.proindependent.com/liborigin2 (not available anymore) Additionally, some fixes were applied to silence UBSan warnings caused by uninitialised POD struct members. AUTHORS: Stefan Gerlach 2005-2026 Miquel Garriga 2014-2018 Knut Franke 2010 Ion Vasilief 2006-2010 Alex Kargovsky 2007-2009 Russell Standish DEPENDENCIES: tree.hh (included) http://tree.phi-sci.com/ --------------------------------------------------------------------------- COMPILING: liborigin uses CMake for the building process. CMake is available at http://www.cmake.org/ After installing CMake on your system, issue the following commands: $ mkdir build $ cd build $ cmake .. $ make $ make install This will compile and install: a shared and a static version of liborigin library opj2dat, a program to extract data tables of an origin project into ASCII .dat files liborigin.pc a pkg-config metadata file to get compiler and linker flags c++ devel headers To disable shared or static libraries you can also specify the cmake options -DBUILD_SHARED_LIBS=off or -DBUILD_STATIC_LIBS=off. opj2dat will be build if one of them is enabled. Doc generation requires doxygen (http://doxygen.org) To include liborigin in a project using cmake add find_package(PkgConfig) pkg_check_modules(liborigin liborigin>=3.0.0) target_link_libraries( my_target ${liborigin_LIBRARIES} ) target_include_directories( my_target PUBLIC ${liborigin_INCLUDE_DIRS} ) to the project CMakeLists.txt file. To include liborigin in a project using qmake add CONFIG += link_pkgconfig PKGCONFIG += liborigin to the project.pro file. Logging of origin file parsing process is deactivated by default. To enable it define a GENERATE_CODE_FOR_LOG variable at the cmake command: $ cmake -DGENERATE_CODE_FOR_LOG=1 .. --------------------------------------------------------------------------- FEATURES: * supports the import of any OPJ project from version 3.5 to latest (2022b) * includes a pkg-config metadata file --------------------------------------------------------------------------- EXAMPLES: * opj2dat (included) extracts the data tables of an origin project file into dat files --------------------------------------------------------------------------- RELATED PROJECTS: * Ropj (https://github.com/aitap/Ropj) * openopj (https://github.com/jgonera/openopj)