commit de19c97eaed8b2ba6e76ec19257555a64bf7b652 Author: fabio.olimpieri Date: Sat Apr 7 10:33:47 2012 +0000 First release diff --git a/AMSTRAD b/AMSTRAD new file mode 100644 index 0000000..5dc2ec8 --- /dev/null +++ b/AMSTRAD @@ -0,0 +1,43 @@ +Although Amstrad is the current propietary of the copyright of the original +ZX Spectrum ROMs, they have kindly given their permission for its +redistribution with Spectrum emulators. + +These are the conditions put by Amstrad to use and distribute the ROM files, +extracted from +http://groups.google.com/group/comp.sys.amstrad.8bit/msg/c092cc4d4943131e + +-------------------------------------------------------------------------- + +1) What exactly do you have to do to use Sinclair ROMs in an emulator, such +as acknowledgements etc?" + +Amstrad are happy for emulator writers to include images of our copyrighted +code as long as the (c)opyright messages are not altered and we appreciate +it if the program/manual includes a note to the effect that "Amstrad have +kindly given their permission for the redistribution of their copyrighted +material but retain that copyright". + +"2) Can you charge a shareware fee for an emulator that uses the Sinclair +ROMs?" + +No. No one should be charging for the ROM code because (as a result of the +point above) there are loads of freely available images anyway. If I ever +thought someone was charging for the ROM images then I'd make them available +as a free download on the www.amstrad.com web site. Naturally I imagine that +some emulator writers want to charge a shareware fee for the code they have +written and we have absolutely no problem with that as long as they aren't, +in any sense, charging for the parts of the code that are (c)Amstrad and (c) +Sinclair. + +"3) Can you modify the ROMs, for instance to enable tape loading and saving, +and if so what are the requirements?" + +The ROM code is simply a tool to let the emulator writers make a program +that works as close to the original machine as possible. If they choose to +modify the behaviour in any way then that's entirely up to them (I guess you +could say that that is exactly what an emulator IS doing (ie modifying the +screen output and keyboard input to go via the PC bits)!!) + +"4) Can you distribute modified ROMs?" + +If you like (with that (c) proviso). diff --git a/CAPABILITIES b/CAPABILITIES new file mode 100644 index 0000000..300bfd5 --- /dev/null +++ b/CAPABILITIES @@ -0,0 +1,19 @@ +WHAT EMULATES RIGHT IN FBZX? + +-Screen timmings in 48K and 128K mode. +-Screen generation, so border efects and even attribute changing efects + should work fine. +-48K sound (included the low-pass filter efect of Tape out). +-128K sound (fully emulation of the AY-3-8912). +-Trash in the bus when reading from a non-existing port. This is right generated + (from the data being displayed in that moment) so games works right (like + SHORTCIRCUIT, that runs without flickering). +-Spectrum 48K Issue 2 and 3 efects in the EAR bit are correctly emulated. +-Priority of joystick over keyboard. +-Snow efect when I register points between 64 and 127. +-Emulation of Interface I and Microdrive (only one drive). +-Memory contention +-Emulates Spanish 128K from Investronica/Sinclair +-Allows to insert POKE values in memory (inmunity, infinite lives...) +-Can load and save SCR snapshots +-ULAPlus support diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/COPYING @@ -0,0 +1,674 @@ + 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 +. diff --git a/FAQ b/FAQ new file mode 100644 index 0000000..27b847b --- /dev/null +++ b/FAQ @@ -0,0 +1,133 @@ +FBZX CAN'T INITIALIZATE THE SDL LIBRARY. + +Is possible that you don't have the '/dev/mouse' symlink, or maybe, that +symlink (or the device pointed by) has no access permissions for the user you +are using. Just try (as root): + + +FBZX SAYS THAT IS RUNNING WITHOUT SOUND, AND TO READ THE FAQ + +Currently FBZX uses ALSA, OSS or PulseAudio to generate the sound, and that +means that there can be only one sound source at each time in the system. If +you have a MP3 playing, without the PULSEAUDIO daemon launched, FBZX won't be +able to get access to the sound. + + +WHAT SPEED DO I NEED TO USE FBZX? + +I'm not sure what's exactly the minimum speed, but I used it in an AMD K6-II +runing at 450 MHz and it worked at fully speed. Now, with the new OSS sound +*seems* to work even better, so maybe you could use it with an smaller +computer. + + +FBZX CAN BE USED FROM X-WINDOWS? + +Since FBZX uses the SDL library, it can be used both from console and from X, +but, of course, in X it will need more system resources due to the fact that it +needs to emulate an 8-bit screen. Of course this was problematic with 2003 +computers, but current systems can run FBZX under X without problems. + +If you use it from console, it is strongly reccomended to use a native +FrameBuffer driver, in order to allow FBZX to change the current video mode +(see next question). + +You can use the -fb option to make FBZX work in fullscreen mode. + + +I'M USING VESAFB IN MY (16-24 bits) CONSOLE, BUT FBZX WORKS SLOW... + +That's because SDL is emulating an 8-bit screen for FBZX. The solution is to +change it for a FrameBuffer specific for your graphic card. If there's no +native driver (or it doesn't work reliably), you can use the SuperVESAfb +driver. This is a VESA driver that allows to change the resolution on-the-fly. +You can find it in: + + http://www.rastersoft.com/supervesafb.html + +This driver is only for 2.4 kernels. 2.6 versions have a new VESAFB driver +capable of switching the resolution. + + +MY COMPUTER DOESN'T HAVE FUNCTION KEYS (F1, F2...). HOW CAN I GET ACCESS TO +THE MENUS? + +Just press the TAB key and you will see the message "Function key mode on". +Now you can use the number keys (0-9) to emulate the functions keys (F10 is '0', +F1 is '1', and so on, F11 is 'o' and F12 is 'p'). + + +THERE'S A DELAY IN THE SOUND. HOW CAN I ELIMINATE IT? + +Unfortunately, you can't. I have to use at least two buffers of 4096 bytes each +one in order to have an stable sound, and this means, at 48000 samples/sec, +0'17 seconds, and that's a perceptible delay for the human ear (with lower +sample rates it would became even worse; to avoid it, at sample rates lower +than 24000 samples/sec I reduce the buffer to 2048 bytes). + + +THERE ARE SOME GLITCHES IN THE SOUND + +Maybe your CPU is too slow to run FBZX at full speed. But you can see with top +the load of each program, and give less priority to the ones that uses more +CPU. I do this with aMule, and the glitches dissapears. + + +I TRIED TO LOAD A .TZX FILE, BUT THE EMULATOR SHOWS A MESSAGE THAT +TELLS: "Unsuported TZX. Contact FBZX autor". WHAT'S HAPPEN? + +Just read the file README.TZX. + + +I CHOOSE A .TZX FILE AND TYPE LOAD "", BUT NOTHING HAPPENS. + +Fast load is available only with TAP files. If you want to load a TZX file, +you must press F6 in order to play the tape. + + +I TRIED TO LOAD A .TAP FILE IN FAST MODE, BUT IT FAILS AND THE EMULATOR +SHOWS THE MESSAGE "Block with right flag not found". WHAT'S HAPPENNING? + +Each Spectrum's tape block has a flag byte that identify each one. Flag 0 is +for headers, and flag FF is for data blocks. A programmer can define its own +flag bytes if he wants. + +If the program loader wants to load a block with a flag XX, but there isn't a +block in the TAP file with that flag, the fast loader will stop and show that +message (and will return a "Tape error" to the program loader). If I don't do +this, the fast loader should be reading the tape again and again, trying to +find a block with that flag, and the emulator should hang up (not really hang, +but it wouldn't be able to respond to keystrokes, even to the ESC key). + + +I CREATED A NEW MDR FILE, BUT WHEN I TRY TO WRITE TO IT, OR DO A CAT 1, +IT DOESN'T WORK, AND I HAVE TO PRESS BREAK (SHIFT + SPACE) TO STOP THE +COMMAND. + +When you create a MDR file, it is created "in blank", so you must format the +medium before using it. To do it, just use: + + FORMAT "m";1;"name" + +changing 'name' with the name you want to give to the cartridge. + +You can format a cartridge too if you want to erase a MDR file. + + +THE SYSTEM RETURNS THE MESSAGE DRIVE 'WRITE' PROTECTED. WHAT CAN I DO TO +UNPROTECT IT? + +Just press F7 and change the 'Write protection' status with F3. Remember that +the status is stored with the cartridge, so if you exit the emulator and load +a MDR file again, it will have the same status you left it. + + +WHERE CAN I FIND INFO ABOUT HOW TO USE THE INTERFACE I AND THE MICRODRIVES? + +In: + + http://www.madhippy.com/8-bit/sinclair/zxif1micro.html + +you can find the HTML version of the original manual of the Interface I and +Microdrive. There's ALL what you shoul need to know to work with it. + diff --git a/INSTALL b/INSTALL new file mode 100644 index 0000000..5fd51ab --- /dev/null +++ b/INSTALL @@ -0,0 +1,32 @@ +HOW TO INSTALL FBZX + +If you want to install FBZX, you must compile your own version, +just typing as root: + + make clean + make + make install + +Be sure you have the SDL, libasound2 and libpulse libraries (both runtime and +headers). + + +HOW TO RUN FBZX + +Just type + + fbzx + +If you don't want sound (or you haven't a sound card), you can run it with + + fbzx -nosound + +To know all the other FBZX options, just type + + fbzx -h + +or + + fbzx --help + +and enjoy! diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..2e9cf98 --- /dev/null +++ b/Makefile @@ -0,0 +1,156 @@ +#--------------------------------------------------------------------------------- +# Clear the implicit built in rules +#--------------------------------------------------------------------------------- +.SUFFIXES: +#--------------------------------------------------------------------------------- +ifeq ($(strip $(DEVKITPPC)),) +$(error "Please set DEVKITPPC in your environment. export DEVKITPPC=devkitPPC") +endif + +include $(DEVKITPPC)/wii_rules + +#--------------------------------------------------------------------------------- +# TARGET is the name of the output +# BUILD is the directory where object files & intermediate files will be placed +# SOURCES is a list of directories containing source code +# INCLUDES is a list of directories containing extra header files +#--------------------------------------------------------------------------------- +TARGET := fbzx +BUILD := build +SOURCES := src src/z80free +DATA := +INCLUDES := + +#--------------------------------------------------------------------------------- +# options for code generation +#--------------------------------------------------------------------------------- + +CFLAGS = -g -O2 -Wall $(MACHDEP) $(INCLUDE) -Wno-pointer-sign -DDEBUG +CXXFLAGS = $(CFLAGS) + +LDFLAGS = -g $(MACHDEP) -Wl,-Map,$(notdir $@).map + +#--------------------------------------------------------------------------------- +# any extra libraries we wish to link with the project +#--------------------------------------------------------------------------------- +LIBS := -lSDL_mixer -lsmpeg -lvorbisidec -lSDL_image -lpng -ljpeg -lz -lSDL -lSDL_gfx -lfreetype -lfat -lwiiuse -lbte -logc -lm -lwiikeyboard + +#--------------------------------------------------------------------------------- +# list of directories containing libraries, this must be the top level containing +# include and lib +#--------------------------------------------------------------------------------- +LIBDIRS := $(PORTLIBS) + + +#--------------------------------------------------------------------------------- +# no real need to edit anything past this point unless you need to add additional +# rules for different file extensions +#--------------------------------------------------------------------------------- +ifneq ($(BUILD),$(notdir $(CURDIR))) +#--------------------------------------------------------------------------------- + +export OUTPUT := $(CURDIR)/$(TARGET) + +export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \ + $(foreach dir,$(DATA),$(CURDIR)/$(dir)) + +export DEPSDIR := $(CURDIR)/$(BUILD) + +#--------------------------------------------------------------------------------- +# automatically build a list of object files for our project +#--------------------------------------------------------------------------------- +CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c))) +CFILES := $(filter-out z80free_tester.c, $(CFILES)) +CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp))) +sFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s))) +SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.S))) +BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*))) + +#--------------------------------------------------------------------------------- +# use CXX for linking C++ projects, CC for standard C +#--------------------------------------------------------------------------------- +ifeq ($(strip $(CPPFILES)),) + export LD := $(CC) +else + export LD := $(CXX) +endif + +export OFILES := $(addsuffix .o,$(BINFILES)) \ + $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) \ + $(sFILES:.s=.o) $(SFILES:.S=.o) + +#--------------------------------------------------------------------------------- +# build a list of include paths +#--------------------------------------------------------------------------------- +export INCLUDE := $(foreach dir,$(INCLUDES), -iquote $(CURDIR)/$(dir)) \ + $(foreach dir,$(LIBDIRS),-I$(dir)/include) \ + -I$(CURDIR)/$(BUILD) \ + -I$(LIBOGC_INC) + +#--------------------------------------------------------------------------------- +# build a list of library paths +#--------------------------------------------------------------------------------- +export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) \ + -L$(LIBOGC_LIB) + +export OUTPUT := $(CURDIR)/$(TARGET) +.PHONY: $(BUILD) clean + +#--------------------------------------------------------------------------------- +$(BUILD): + @[ -d $@ ] || mkdir -p $@ + @make --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile + +#--------------------------------------------------------------------------------- +clean: + @echo clean ... + @rm -fr $(BUILD) $(OUTPUT).elf $(OUTPUT).dol dist + +#--------------------------------------------------------------------------------- + + +dist: $(BUILD) + rm -fr $@ + mkdir -p $@/apps/fbzx-wii + mkdir -p $@/fbzx-wii/fbzx + mkdir -p $@/fbzx-wii/spectrum-roms + mkdir -p $@/fbzx-wii/applications + mkdir -p $@/fbzx-wii/pixmaps + mkdir -p $@/fbzx-wii/doc/fbzx + cp fbzx.dol $@/apps/fbzx-wii/boot.dol + cp spectrum-roms/* $@/fbzx-wii/spectrum-roms + cp keymap.bmp $@/fbzx-wii/fbzx + cp fbzx.desktop $@/fbzx-wii/applications + cp fbzx.svg $@/fbzx-wii/pixmaps + cp AMSTRAD CAPABILITIES COPYING FAQ README README.TZX VERSIONS $@/fbzx-wii/doc/fbzx/ + cd $@ && tar -czf ../fbzx-wii-bin.tar.gz * + +#--------------------------------------------------------------------------------- +run: + wiiload $(TARGET).dol + + +#--------------------------------------------------------------------------------- +else + +DEPENDS := $(OFILES:.o=.d) + +#--------------------------------------------------------------------------------- +# main targets +#--------------------------------------------------------------------------------- +$(OUTPUT).dol: $(OUTPUT).elf +$(OUTPUT).elf: $(OFILES) + +#--------------------------------------------------------------------------------- +# This rule links in binary data with the .jpg extension +#--------------------------------------------------------------------------------- +%.jpg.o : %.jpg +#--------------------------------------------------------------------------------- + @echo $(notdir $<) + $(bin2o) + +-include $(DEPENDS) + +#--------------------------------------------------------------------------------- +endif +#--------------------------------------------------------------------------------- diff --git a/Makefile.ori b/Makefile.ori new file mode 100644 index 0000000..ef2695c --- /dev/null +++ b/Makefile.ori @@ -0,0 +1,89 @@ +ifdef PREFIX + PREFIX2=$(PREFIX)/usr +else + PREFIX2=/usr/local +endif + +CFLAGS += `pkg-config --cflags sdl libpulse-simple alsa` -O2 -Wno-pointer-sign -Wall -D D_SOUND_PULSE -D D_SOUND_ALSA -D D_SOUND_OSS +LDFLAGS += `pkg-config --libs sdl libpulse-simple alsa` + +fbzx: computer.o Z80free.o Z80free_codes.o Z80free_codesCB.o Z80free_codesED.o Z80free_codesDD.o Z80free_codesFD.o Z80free_codesDDCB.o Z80free_codesFDCB.o emulator.o cargador.o characters.o menus.o sound.o tape.o spk_ay.o microdrive.o + + $(CC) -o fbzx computer.o Z80free.o Z80free_codes.o Z80free_codesCB.o Z80free_codesED.o Z80free_codesDD.o Z80free_codesFD.o Z80free_codesDDCB.o Z80free_codesFDCB.o emulator.o cargador.o characters.o menus.o sound.o tape.o spk_ay.o microdrive.o $(LDFLAGS) + +clean: + rm fbzx *.o *~ + +install: + rm -f $(PREFIX2)/bin/fbzx + cp fbzx $(PREFIX2)/bin + mkdir -p $(PREFIX2)/share/fbzx + mkdir -p $(PREFIX2)/share/spectrum-roms + mkdir -p $(PREFIX2)/share/applications + mkdir -p $(PREFIX2)/share/pixmaps + mkdir -p $(PREFIX2)/share/doc/fbzx + cp spectrum-roms/* $(PREFIX2)/share/spectrum-roms + cp keymap.bmp $(PREFIX2)/share/fbzx + cp fbzx.desktop $(PREFIX2)/share/applications + cp fbzx.svg $(PREFIX2)/share/pixmaps + cp AMSTRAD CAPABILITIES COPYING FAQ README README.TZX VERSIONS $(PREFIX2)/share/doc/fbzx/ + +uninstall: + rm -f $(PREFIX2)/bin/fbzx + rm -rf $(PREFIX2)/share/fbzx + rm -f $(PREFIX2)/share/applications/fbzx.desktop + rm -f $(PREFIX2)/share/pixmaps/fbzx.svg + rm -rf $(PREFIX2)/share/doc/fbzx + rm -rf $(PREFIX2)/share/spectrum-roms + +spk_ay.o: spk_ay.c spk_ay.h emulator.h sound.h computer.h z80free/Z80free.h + $(CC) $(CFLAGS) -c -o spk_ay.o spk_ay.c + +microdrive.o: microdrive.c microdrive.h z80free/Z80free.h computer.h emulator.h z80free/Z80free.h + $(CC) $(CFLAGS) -c -o microdrive.o microdrive.c + +sound.o: sound.c sound.h computer.h emulator.h z80free/Z80free.h + $(CC) $(CFLAGS) -c -o sound.o sound.c + +emulator.o: emulator.c z80free/Z80free.h computer.h emulator.h characters.h menus.h cargador.h sound.h tape.h microdrive.h + $(CC) $(CFLAGS) -c -o emulator.o emulator.c + +computer.o: computer.c z80free/Z80free.h computer.h emulator.h characters.h menus.h cargador.h sound.h tape.h spk_ay.h microdrive.h + $(CC) $(CFLAGS) -c -o computer.o computer.c + +tape.o: tape.c z80free/Z80free.h computer.h emulator.h menus.h tape.h computer.h + $(CC) $(CFLAGS) -c -o tape.o tape.c + +cargador.o: cargador.c cargador.h computer.h emulator.h z80free/Z80free.h characters.h menus.h computer.h + $(CC) $(CFLAGS) -c -o cargador.o cargador.c + +characters.o: characters.c characters.h emulator.h computer.h + $(CC) $(CFLAGS) -c -o characters.o characters.c + +menus.o: menus.c menus.h characters.h computer.h emulator.h z80free/Z80free.h cargador.h tape.h + $(CC) $(CFLAGS) -c -o menus.o menus.c + +Z80free.o: z80free/Z80free.c z80free/Z80free.h + $(CC) $(CFLAGS) -c -o Z80free.o z80free/Z80free.c + +Z80free_codes.o: z80free/Z80free_codes.c z80free/Z80free.h + $(CC) $(CFLAGS) -c -o Z80free_codes.o z80free/Z80free_codes.c + +Z80free_codesCB.o: z80free/Z80free_codesCB.c z80free/Z80free.h + $(CC) $(CFLAGS) -c -o Z80free_codesCB.o z80free/Z80free_codesCB.c + +Z80free_codesED.o: z80free/Z80free_codesED.c z80free/Z80free.h + $(CC) $(CFLAGS) -c -o Z80free_codesED.o z80free/Z80free_codesED.c + +Z80free_codesDD.o: z80free/Z80free_codesDD.c z80free/Z80free.h + $(CC) $(CFLAGS) -c -o Z80free_codesDD.o z80free/Z80free_codesDD.c + +Z80free_codesFD.o: z80free/Z80free_codesFD.c z80free/Z80free.h + $(CC) $(CFLAGS) -c -o Z80free_codesFD.o z80free/Z80free_codesFD.c + +Z80free_codesDDCB.o: z80free/Z80free_codesDDCB.c z80free/Z80free.h + $(CC) $(CFLAGS) -c -o Z80free_codesDDCB.o z80free/Z80free_codesDDCB.c + +Z80free_codesFDCB.o: z80free/Z80free_codesFDCB.c z80free/Z80free.h + $(CC) $(CFLAGS) -c -o Z80free_codesFDCB.o z80free/Z80free_codesFDCB.c + diff --git a/PORTING b/PORTING new file mode 100644 index 0000000..ae98fec --- /dev/null +++ b/PORTING @@ -0,0 +1,22 @@ +HOW TO PORT FBZX INTO OTHER O.S. AND ARQUITECTURES + +FBZX uses the SDL library, so you must have it available in the +arquitecture/operating system where you want to port it. It's the only 'must +have'. Of course, is possible that you have to rewrite the Makefile, but that's +relatively easy (isn't it?). + +The sound system is designed to be easily portable; currently it supports both +the OSS and ALSA arquitecture. In the file 'sound.c' are defined the three +functions needed to support it: + + sound_init: initializates the sound system with the desired sound format, + speed, and so on, and fills the 'ordenador' struct with the parameters + needed to sincronize the emulation. + + sound_play: plays the current sound buffer, and initializates + 'ordenador.current_buffer' to the new buffer to be filled. It must not + return until the buffer has been played (this allows the sincronization). + + sound_close: closes the sound device and frees all memory used. + +That's all. Start to compile :) diff --git a/README b/README new file mode 100644 index 0000000..3346fca --- /dev/null +++ b/README @@ -0,0 +1,223 @@ +FBZX +A ZX Spectrum emulator for FrameBuffer + + +DISCLAIMER + +FBZX is distributed under the GPL license, version three or later, which means +that is distributed "as is", without warraty of any kind. To know more details, +read the file COPYING. + +The old exception for the Z80 emulator has been removed because now FBZX uses +Z80FREE, a brand new, fully GPLv3, Z80 emulator. So finally FBZX is 100% free +software. + +Amstrad have kindly given their permission for the redistribution of their +copyrighted material (the original Spectrum ROMs) but retain that copyright. +To know more details about how to distribute them, read the file AMSTRAD. + + +WHAT IS FBZX? + +FBZX is a Sinclair ZX Spectrum emulator, designed to work in FrameBuffer under +Linux, but can work under Xwindows too, both in full screen mode and in a +window. It uses the SDL library, so it should be easily ported to other +architectures. Please, read the file PORTS to know more details about this. + +FBZX is based in Z80FREE, which you can find into the folder z80free. + +To work with FBZX you need: + + -A FrameBuffer-capable graphic card (or compatible with X-windows) + -A Linux system with FrameBuffer configured (can use X too) + -Sound Card with ALSA or OSS drivers (optional) + +In order to get the maximum performance, your FrameBuffer driver must allow to +change to 640x480 or 480x640 resolution in 8 bits. Only the old VESAFB driver can +have problems with this fact, so if you use this driver, be sure to boot your +Linux box in 640x480 in 8 bits. If you don't do this, SDL will emulate that +mode, resulting in a high performance penalty. If you use an specific Framebuffer +driver, or the VESAFB driver from kernels 2.6, just don't worry: FBZX will +automagically change the graphic mode when starts. + + +WHAT CAPABILITIES HAVE FBZX? + +FBZX can emulate the original 48K spectrum (issue 2 and issue 3), the original +128K, the Amstrad +2, the Amstrad +2A and the Spanish 128K. + +The screen and the sound are emulated in a very acuracy way, so nearly all +the sound and screen effects should work in this emulator. + +128K sound is emulated too, and can be disabled in 128K mode in order to save +CPU time procesing, if your computer is slow. + +It emulates the Interface I and one microdrive unit, allowing to load from and +save to MDR files. + +FBZX can handle Z80 snapshots (both load and save) and SNA (only load). In a +future, more snapshot formats will be supported. + +FBZX can handle TAP files (load and save), and have a fast-load mode that allows +to load in milliseconds a TAP file. This fast-load mode is enabled by default, but +can be disabled. + +FBZX can also handle TZX files (see README.TZX for details). + +FBZX can emulate the Kempston, Cursor, Sinclair 1 and Sinclair 2 joysticks, +with the cursor keys (fire is emulated with the right ALT key, ALT-GR +key, WINDOWS MENU key or WINDOWS SYSTEM right key), or with a real +JoyStick. + + +HOW DO I USE FBZX? + +To run FBZX just type + + fbzx + +from a console. + +You can load a snapshot directly with: + + fbzx game.z80 + fbzx game.sna + +or assign a TAP or TZX file with: + + fbzx game.tap + fbzx game.tzx + +(in this case you still must use LOAD ""). This allows you to asociate that +file extensions to FBZX. + +You can use the option -fs to run it in FullScreen mode. If you use the -rotate +option, FBZX will run in 480x640 mode (needed for some PDAs like the Zaurus) +rotating the screen 90 degrees. There's another option, -mini, that will run +FBZX in 480x640 mode but the screen won't be rotated, but will be half width +and height (very small). + +You can run it without sound too, just typing: + + fbzx -nosound + +You can use this if you don't have a sound card, or it hasn't OSS support. + +You can combine theses options as you like. An example: + + fbzx -nosound -fs + + fbzx -rotate -nosound + +By default, FBZX will try to use ALSA sound; if it can't, it will try with OSS +sound; finally, if both fails it will use no sound and alert the user. + +You can change the order with + + fbzx -oss + +That way it will try firts with OSS, then with ALSA. + +FBZX works in X too, but it would run slower due to the penalty of the X +Window System. Fortunately this only applies to old systems. Current +computers can run FBZX under X without problem. + +The PC keyboard works exactly like the Spectrum keyboard (but only numbers and +letters). ENTER key is Return, CAPS SHIFT is in both Shift keys, and SYMBOL +SHIFT is in both Control keys. Delete, ',' and '.' works too. I hope to add +'extended keys' in a near future. + +Whit ESC you exit FBZX. + +F1 shows a help page with all the available keys. + +F2 sends you to a menu where you can load and save snapshots. + +F3 sends you to a menu where you can choose a TAP/TZX file, rewind it, +choose if you want normal speed or fast speed for loading, enable or +disable the write protection, and create a new (and empty) TAP file. + +F4 send you to a menu where you can choose the emulation type you want (48K, +128K, +2, +2A or spanish 128K), the joystick, enable or disable the AY +emulation and enable or disable the Interface I. + +F5 stops the tape when normal speed is selected. With fast speed, it does +nothing. + +F6 plays the tape when normal speed is selected. With fast speed, it does +nothing. + +F7 allows to choose a MDR file (microdrive), protect and unprotect it, +and create a new (and empty) one. + +F8 allows to shows a picture with the keyboard layout, or insert POKE values + +F9 toggles between fullscreen/windowed mode + +F10 resets the spectrum. + +F11 is volume down. + +F12 is volume up. + +If your system doesn't have function keys, you can use TAB plus keys 0 to 9 +to emulate them (F11 is TAB and O, and F12 is TAB and P). + + +HOW DO I CHOOSE A FILE WITH THE TAP/TZX OR Z80/SNA SELECTOR? + +You can choose a file just by moving the white bar with the cursor keys. You +can use also the RePag and AvPag to jump over 12 positions. + +The files are in white ink, the directories in green ink, and the upper +directory are the two red dots. + +When you choose a TAP file, it is marked as "save protected", so if you want +to save programs, you must enable it. If you create a new TAP file, it is +marked as "save enabled", so you can start to save directly. + +The SAVE option works only with the classic ROM routine, so you will be able +to save from programs that use them (it can save programs without header, too, +since the emulator intercepts the call to SA-BYTES). Each new block is added at +the end of the file, but only if the SAVE operation is enabled for this file. + + +HOW WORKS THE FAST SPEED LOAD AND SAVE FOR TAP FILES? + +Just type LOAD "" in the emulator (or choose the TAPE LOADER option in the 128K +menu) and the tape will automagically load. This only works with programs that +uses the ROM to load all the blocks. If you have a TAP file with a program that +uses a custom routine to load the blocks, then you must use the NORMAL SPEED. +To do this, press F3 to go to the TAP menu and choose NORMAL SPEED. Then return +to the emulation (with ESC) and use LOAD "" (or the TAPE LOADER option). +Finally, put the tape in Play with F6. You can stop the tape with F5 and start +it again with F6 as many times you want. + +When the tape ends, is automatically stoped and rewinded. You can rewind the +tape when you want with the right option in the TAP menu (F3 key). + +In a near future a block manager will be added, in order to allow the user to +choose a block into the TAP file (thinking in multistage games). + +Remember that the Fast Speed is available only for TAP files, not in TZX. In +the last case you can go to the SETTINGS menu (F4) and change the TURBO mode +to FAST, so the tape will load faster, and then change again to NORMAL. + +The FAST SPEED applies when saving too. The SAVE operation is done ALWAYS +when SA-BYTES (in the Spectrum ROM) is called. The difference between FAST and +normal SAVE is that FAST returns inmediately, and NORMAL calls the original +routine. This means that, if you abort the save command, the block will be saved +in the TAP file anyway. + + +HOW WORKS THE INTERFACE I AND MICRODRIVE EMULATION? + +FBZX can emulate an Interface I with one microdrive attached, but only when +working as Spectrum 48K, 128K or +2, never as +2A/+3 since it's incompatible. + +You just have to choose an MDR file (or create a new MDR file) using the F7 +key, and you will be able to use all the Interface I commands and programs. +Remember to format your cartridge (MDR file) after creating one. + +When you save something to the cartridge, the MDR file is updated as soon as +the Spectrum stops the "motor" of the drive. diff --git a/README.TZX b/README.TZX new file mode 100644 index 0000000..3e8caea --- /dev/null +++ b/README.TZX @@ -0,0 +1,26 @@ +ABOUT THE TZX SUPPORT + +Currently, the support for TZX files is incomplete, in the sense it only +supports the most common tape blocks. The current implementation should +allow to load the 99% of the games, including a lot with specific load +routines (like Turbo). + +I didn't add that blocks because I was able to find only a limited number of +TZX with estrange load protections, so I preferred to add only blocks that I can test +myself. + +If you try to load a TZX file that contains an unsuported block, FBZX will show +you a message "Unsuported TZX. Contact FBZX autor". In that case, please, +send me by e-mail that TZX file in order to implement that new block kind in +the TZX loader. + + +PROBLEMS WITH SPEEDLOCK-2? + +The old Z80 emulator had problems to load SpeedLock programs (turbo protection). +I haven't been unable to test the new emulator in this case, so I can't +say if it finally works or not. All comments are welcome. + +Other kind of TURBO protections (like Alkatraz, the one used in Fairlight) +have been tested and work fine. + diff --git a/TODO b/TODO new file mode 100644 index 0000000..01749a7 --- /dev/null +++ b/TODO @@ -0,0 +1,14 @@ +TO-DO list (in any particular order) + +-Add support for more snapshot types, like SLP, SP, ZX, ZXS, ZX82... +-Finish support for TZX tape format (see README.TZX for details). +-Discover why Speedlock-protected games doesn't work (see README.TZX for + details) +-Add support for saving compressed Z80 snapshots (at this moment, are stored + always uncompressed). +-Add +3 disk drive emulation +-Add Disciple/PlusD emulation +-Add emulation for Russian spectrums (scorpion & pentagon). +-Add a TAP manager, to allow to go to a specific block into the TAP file. +-Add support for mouse, emulating the AMX Mouse. + diff --git a/VERSIONS b/VERSIONS new file mode 100644 index 0000000..3687ab0 --- /dev/null +++ b/VERSIONS @@ -0,0 +1,141 @@ +2.7.0 + +*Fixed a bug that prevented FBZX to store the current mode +*Now supports 320x240 mode + +2.6.0 + +*ULAPlus support +*Fixed a little bug in the ROM loading +*Allows to go to TAP/Snapshots/etc menus from HELP menu + +2.5.0 + +*Allows to set POKEs +*Emulates B&W sets +*Allows to load and save SCR snapshots + +2.4.3 + +*Fixed a bug with the double-scan flag + +2.4.2 + +*Fixed a bug with alsa sound + +2.4.1 + +*Now will work fine under all 64bit systems + +2.4.0 + +*Fixed a bug in SNA loader (thanks to Jose Luis) +*Added a DC filter in PulseAudio sound, to avoid losing the sound when +mixing with other audio sources (thanks to Paul N) +*Added a help message at startup + +2.3.0 + +*Added support for PulseAudio +*Allows to selectively compile the audio backend (useful for Gentoo users) + +2.2.0 + +*Several bugfixes in the Z80 emulator, giving a much more accurate +emulation of the Z80 instruction set (thanks to the Z80 tests from +FUSE). Anyway, still not perfect. + +2.1b + +*Directory ROMS in TAR.BZ2 package renamed to SPECTRUM-ROMS to allow FBZX +to run without global installation. + +2.1 + +*Changed the ROM format for compatibility with files in +Debian package SPECTRUM-ROMS +*Added new icon (thanks to Paulo Silva) + +2.0 + +*100% Free code (under GPL3) due to a rewriten Z80 emulator +*Emulates the Spanish 128K (thanks to J. Baltasar) +*Can use ALSA or OSS to sound output +*Stores the volume settings +*Fixed a bug in the sound with some soundcards +*Can be run from the local directory, without installing in /usr + +1.10 + +*Allows to switch between full screen and window mode +*Added Turbo mode, to load TZX files faster (both thanks to a patch +from Marcin Bukat) +*Shows FBZX as window name + +1.9 + +*Stores the current mode before exiting, so if you was playing in 128K +mode, it will return in 128K mode. +*Allows to show the screen with or without scanline emulation +*Shows the OSD in the bottom of the screen +*Clicking on the X button in the window bar closes the emulator + +1.8 + +*Fixed a bug when loading .Z80 snapshots +*Added support for .SNA snapshots +*Added support for Joysticks +*Now creates an entry in the GNOME/KDE menus +*Can load snapshots or tapes from the command line +*Allows to asociate to it the file extensions .SNA, .Z80, .TAP and TZX so +you can load games just clicking over the file. + +1.7 + +*Fixed a bug in the creation of 128K snapshots +*Fixed the memory access ports in 128K mode + +1.6 +*Fixed an stupid bug that can crash FBZX +*Added support for rotated, 480x640 screens (like PDAs) +*Direct support for 8, 16, 24 and 32 bpp (more performance) +*Added contended memory emulation +*Added support for ',' and '.' keys +*Added FullScreen mode in XWindows +*Added a picture with the keyboard layout +*Added support for computers without function keys +*Asks for confirmation before exiting +*Fixed the version number + +1.5 +*Direct compilation under BIG ENDIAN arquitectures (eg. PowerPC). + +1.4 +*Added the ability to create .TAP files and save to them. +*Added Interface I and Microdrive emulation (read and write). +*Added emulation of DELETE key. +*Added emulation of SNOW effect. +*Fixed a little bug in the fast-TAP loader. +*Fixed a speed problem when used without sound. + + +1.3 +*Added support for more TZX tape files (thanks to Daley Thompson :) + +1.2 +*Added support for TZX tape files. +*Fixed a bug in the file selector. +*Added right emulation of register R. +*Added a digital low-pass filter to enhace the 48K sound. + +1.1 +*Changed the sound system. Now it uses OSS instead the SDL API. This fixes a +problem with the temporization and some glitches in the sound. +*Now can be used without sound card (run it with '-nosound' parameter). + +1.0.1 +*Very little fixes to remove some innocent warnings during compilation. Thanks +to Philip Kendall. + +1.0 +*First public release. diff --git a/fbzx.desktop b/fbzx.desktop new file mode 100644 index 0000000..120d400 --- /dev/null +++ b/fbzx.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +X-MultipleArgs=false +Type=Application +Version=2.4.3 +Encoding=UTF-8 +Name=FBZX +GenericName=A Sinclair ZX Spectrum emulator +Comment=Play with the old, great games of the venerable ZX Spectrum +TryExec=fbzx +Exec=fbzx +Categories=Game; +Icon=fbzx diff --git a/fbzx.pnproj b/fbzx.pnproj new file mode 100644 index 0000000..0414710 --- /dev/null +++ b/fbzx.pnproj @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fbzx.pnps b/fbzx.pnps new file mode 100644 index 0000000..7e6c7be --- /dev/null +++ b/fbzx.pnps @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fbzx.svg b/fbzx.svg new file mode 100644 index 0000000..07f42f9 --- /dev/null +++ b/fbzx.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/keymap.bmp b/keymap.bmp new file mode 100644 index 0000000..a748db7 Binary files /dev/null and b/keymap.bmp differ diff --git a/spectrum-roms/128-0.rom b/spectrum-roms/128-0.rom new file mode 100644 index 0000000..c4a04e8 Binary files /dev/null and b/spectrum-roms/128-0.rom differ diff --git a/spectrum-roms/128-1.rom b/spectrum-roms/128-1.rom new file mode 100644 index 0000000..64c3e73 Binary files /dev/null and b/spectrum-roms/128-1.rom differ diff --git a/spectrum-roms/128-spanish-0.rom b/spectrum-roms/128-spanish-0.rom new file mode 100644 index 0000000..ca505c8 Binary files /dev/null and b/spectrum-roms/128-spanish-0.rom differ diff --git a/spectrum-roms/128-spanish-1.rom b/spectrum-roms/128-spanish-1.rom new file mode 100644 index 0000000..1d2197a Binary files /dev/null and b/spectrum-roms/128-spanish-1.rom differ diff --git a/spectrum-roms/48.rom b/spectrum-roms/48.rom new file mode 100644 index 0000000..4d6895e Binary files /dev/null and b/spectrum-roms/48.rom differ diff --git a/spectrum-roms/if1-2.rom b/spectrum-roms/if1-2.rom new file mode 100644 index 0000000..2587b3a Binary files /dev/null and b/spectrum-roms/if1-2.rom differ diff --git a/spectrum-roms/plus2-0.rom b/spectrum-roms/plus2-0.rom new file mode 100644 index 0000000..feff233 Binary files /dev/null and b/spectrum-roms/plus2-0.rom differ diff --git a/spectrum-roms/plus2-1.rom b/spectrum-roms/plus2-1.rom new file mode 100644 index 0000000..2c20647 Binary files /dev/null and b/spectrum-roms/plus2-1.rom differ diff --git a/spectrum-roms/plus3-0.rom b/spectrum-roms/plus3-0.rom new file mode 100644 index 0000000..29e047c Binary files /dev/null and b/spectrum-roms/plus3-0.rom differ diff --git a/spectrum-roms/plus3-1.rom b/spectrum-roms/plus3-1.rom new file mode 100644 index 0000000..0f8113b Binary files /dev/null and b/spectrum-roms/plus3-1.rom differ diff --git a/spectrum-roms/plus3-2.rom b/spectrum-roms/plus3-2.rom new file mode 100644 index 0000000..d4b02bf Binary files /dev/null and b/spectrum-roms/plus3-2.rom differ diff --git a/spectrum-roms/plus3-3.rom b/spectrum-roms/plus3-3.rom new file mode 100644 index 0000000..e83937d Binary files /dev/null and b/spectrum-roms/plus3-3.rom differ diff --git a/src/cargador.c b/src/cargador.c new file mode 100644 index 0000000..d479566 --- /dev/null +++ b/src/cargador.c @@ -0,0 +1,625 @@ +/* + * Copyright 2003-2009 (C) Raster Software Vigo (Sergio Costas) + * This file is part of FBZX + * + * FBZX 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. + * + * FBZX is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "z80free/Z80free.h" +#include "computer.h" +#include "emulator.h" +#include "cargador.h" +#include +#include + +void uncompress_z80(FILE *fichero,int length,unsigned char *memo) { + + unsigned char byte_loaded,EDfound,counter; + int position,retval; + + counter=0; + byte_loaded=0; + EDfound=0; + position=0; + + printf("Descomprimo de longitud %d\n",length); + + do { + if(counter) { + memo[position++]=byte_loaded; + counter--; + continue; + } else + retval=fread(&byte_loaded,1,1,fichero); + + if(EDfound==2) { // we have two EDs + counter=byte_loaded; + retval=fread(&byte_loaded,1,1,fichero); + EDfound=0; + continue; + } + + if(byte_loaded==0xED) { + EDfound++; + } else { + if(EDfound==1) { // we found ED xx. We write ED and xx + memo[position++]=0xED; + EDfound=0; + } + if (position>=length) { + break; + } + memo[position++]=byte_loaded; + } + } while(position>8)&0xFF)); // PC + else + fprintf(fichero,"%c%c",0,0); // 128K + + fprintf(fichero,"%c%c",procesador.Rm.br.P,procesador.Rm.br.S); // SP + fprintf(fichero,"%c%c%c",procesador.I,procesador.R,(((procesador.R2>>7)&0x01)|((ordenador.border<<1)&0x0E))); // I, R and border color + + fprintf(fichero,"%c%c%c%c%c%c%c%c%c%c%c%c%c%c",procesador.Rm.br.E,procesador.Rm.br.D,procesador.Ra.br.C,procesador.Ra.br.B,procesador.Ra.br.E,procesador.Ra.br.D,procesador.Ra.br.L,procesador.Ra.br.H,procesador.Ra.br.A,procesador.Ra.br.F,procesador.Rm.br.IYl,procesador.Rm.br.IYh,procesador.Rm.br.IXl,procesador.Rm.br.IXh); + + if (procesador.IFF1) + value=1; + else + value=0; + fprintf(fichero,"%c",value); + if (procesador.IFF2) + value=1; + else + value=0; + fprintf(fichero,"%c",value); + value=procesador.IM; + if(ordenador.issue==2) + value|=4; + switch (ordenador.joystick) { + case 1: + value|=64; + break; + case 2: + value|=128; + break; + case 3: + value|=192; + break; + } + fprintf(fichero,"%c",value); + + if(ordenador.mode128k==0) { // 48K + retval=fwrite((ordenador.memoria+147456),16384,1,fichero); // video memory + retval=fwrite((ordenador.memoria+98304),32768,1,fichero); // memory pages 2 & 3 + fclose(fichero); + return 0; + } + + // 128K + + fprintf(fichero,"%c%c",23,0); // Z80 file v2.01 + fprintf(fichero,"%c%c",(byte)(procesador.PC&0x0FF),(byte)((procesador.PC>>8)&0x0FF)); // PC + fprintf(fichero,"%c",3); // hardware mode=3 + fprintf(fichero,"%c",ordenador.mport1); // content of 0x7FFD latch + fprintf(fichero,"%c%c",0,0); // no If1, no emulation of any kind + fprintf(fichero,"%c",ordenador.ay_latch); // last selected AY register + for(bucle=0;bucle<16;bucle++) + fprintf(fichero,"%c",ordenador.ay_registers[bucle]); // AY registers + for(bucle=0;bucle<8;bucle++) { + fprintf(fichero,"%c%c",0xFF,0xFF); // length=0xFFFF (uncompressed) + fprintf(fichero,"%c",bucle+3); // page number + retval=fwrite(ordenador.memoria+(16384*bucle)+65536,16384,1,fichero); // store page + } + fclose(fichero); + return 0; +} + +int load_z80(char *filename) { + + struct z80snapshot snap; + unsigned char tempo[30],tempo2[56],memo[49152],type,compressed,page,byte_read[3]; + FILE *fichero; + int longitud=0,longitud2,bucle,retval; + + longitud=strlen(filename); + if ((longitud>4)&&(0==strcasecmp(".sna",filename+(longitud-4)))) { + printf("Read SNA file\n"); + return load_sna(filename); + } + + printf("Read Z80 file\n"); + + for(bucle=0;bucle<16;bucle++) + snap.ay_regs[bucle]=0; + + fichero=fopen(filename,"r"); + if(fichero==NULL) + return -1; // error + + printf("Read header (first 30 bytes)\n"); + retval=fread(tempo,1,30,fichero); + + if((tempo[6]==0)&&(tempo[7]==0)) { // extended Z80 + printf("It's an extended Z80 file\n"); + type=1; // new type + + retval=fread(tempo2,1,2,fichero); // read the length of the extension + + longitud=((int)tempo2[0])+256*((int)tempo2[1]); + if(longitud>54) { + fclose(fichero); + printf("Not suported Z80 file\n"); + return -3; // not a supported Z80 file + } + printf("Length: %d\n",longitud); + retval=fread(tempo2+2,1,longitud,fichero); + + if(longitud==23) // z80 ver 2.01 + switch(tempo2[4]) { + case 0: + case 1: + snap.type=0; // 48K + break; + case 3: + case 4: + snap.type=1; // 128K + break; + default: + fclose(fichero); + printf("Again not suported Z80 file\n"); + return -3; // not a supported Z80 file + break; + } + else // z80 ver 3.0x + switch(tempo2[4]) { + case 0: + case 1: + case 3: + snap.type=0; // 48K + break; + case 4: + case 5: + case 6: + snap.type=1; // 128K + break; + default: + fclose(fichero); + return -3; // not a supported Z80 file + break; + } + } else { + printf("Old type z80\n"); + type=0; // old type + snap.type=0; // 48k + } + + if(tempo[29]&0x04) { + printf("Issue 2\n"); + snap.issue=2; // issue2 + } else { + printf("Issue 3\n"); + snap.issue=3; // issue3 + } + + snap.A=tempo[0]; + snap.F=tempo[1]; + snap.C=tempo[2]; + snap.B=tempo[3]; + snap.L=tempo[4]; + snap.H=tempo[5]; + if(type) { + snap.PC=((word)tempo2[2])+256*((word)tempo2[3]); + for(bucle=0;bucle<16;bucle++) + snap.ay_regs[bucle]=tempo2[9+bucle]; + snap.ay_latch=tempo2[8]; + } else { + snap.PC=((word)tempo[6])+256*((word)tempo[7]); + } + + snap.SP=((word)tempo[8])+256*((word)tempo[9]); + snap.I=tempo[10]; + snap.R=(tempo[11]&0x7F); + + if(tempo[12]==255) { + printf("Byte 12 is 255! doing 1\n"); + tempo[12]=1; + } + + if(tempo[12]&0x01) + snap.R|=0x80; + + snap.border=(tempo[12]>>1)&0x07; + + if(tempo[12]&32) + compressed=1; + else + compressed=0; + + snap.E=tempo[13]; + snap.D=tempo[14]; + snap.CC=tempo[15]; + snap.BB=tempo[16]; + snap.EE=tempo[17]; + snap.DD=tempo[18]; + snap.LL=tempo[19]; + snap.HH=tempo[20]; + snap.AA=tempo[21]; + snap.FF=tempo[22]; + snap.IY=((word)tempo[23])+256*((word)tempo[24]); + snap.IX=((word)tempo[25])+256*((word)tempo[26]); + + if(tempo[27]!=0) + snap.IFF1=1; + else + snap.IFF1=0; + + if(tempo[28]!=0) + snap.IFF2=1; + else + snap.IFF2=0; + + switch(tempo[29]&0x03) { + case 0: + snap.Imode=0; + break; + case 1: + snap.Imode=1; + break; + case 2: + snap.Imode=2; + break; + } + + snap.joystick=((tempo[29]>>6)&0x03); + + if(type) + snap.pager=tempo2[5]; + + if(type) { // extended z80 + if(snap.type==1) { // 128K snapshot + + /* fclose(fichero); + return -3;*/ // z80 file not yet supported + + while(!feof(fichero)) { + retval=fread(byte_read,3,1,fichero); + if(feof(fichero)) + break; + longitud2=((int)byte_read[0])+256*((int)byte_read[1]); + switch(byte_read[2]) { + case 3: + page=0; + break; + case 4: + page=1; + break; + case 5: + page=2; + break; + case 6: + page=3; + break; + case 7: + page=4; + break; + case 8: + page=5; + break; + case 9: + page=6; + break; + case 10: + page=7; + break; + default: + page=11; + break; + } + printf("Loading page %d of length %d\n",page,longitud); + if(longitud2==0xFFFF) // uncompressed raw data + retval=fread(snap.page[page],16384,1,fichero); + else + uncompress_z80(fichero,16384,snap.page[page]); + } + + } else { + while(!feof(fichero)) { + retval=fread(byte_read,3,1,fichero); + if(feof(fichero)) + break; + longitud2=((int)byte_read[0])+256*((int)byte_read[1]); + switch(byte_read[2]) { + case 8: + page=0; + break; + case 4: + page=1; + break; + case 5: + page=2; + break; + default: + page=11; + break; + } + if(longitud2==0xFFFF) // uncompressed raw data + retval=fread(snap.page[page],16384,1,fichero); + else + uncompress_z80(fichero,16384,snap.page[page]); + } + } + } else { + + if(compressed) { + // 48k compressed z80 loader + + // we uncompress first the data + + uncompress_z80(fichero,49152,memo); + + memcpy(snap.page[0],memo,16384); + memcpy(snap.page[1],memo+16384,16384); + memcpy(snap.page[2],memo+32768,16384); + + } else { + // 48k uncompressed z80 loader + + retval=fread(snap.page[0],16384,1,fichero); + retval=fread(snap.page[1],16384,1,fichero); + retval=fread(snap.page[2],16384,1,fichero); + } + + } + + load_snap(&snap); + fclose(fichero); + return 0; // all right +} + +int load_sna(char *filename) { + + unsigned char tempo[49179]; + unsigned char tempo2[98308]; + unsigned char type=0; + FILE *fichero; + struct z80snapshot snap; + unsigned char v1,v2; + int addr,loop; + + + printf("Loading SNA file\n"); + + fichero=fopen(filename,"r"); + if(fichero==NULL) + return -1; // error + + if (1!=fread(tempo,49179,1,fichero)) { + return -1; + } + + if (0==fread(tempo2,1,98308,fichero)) { + printf("48K SNA\n"); + type=0; + } else { + printf("128K SNA\n"); + type=1; + } + + snap.type=type; + + snap.I=tempo[0]; + snap.LL=tempo[1]; + snap.HH=tempo[2]; + snap.EE=tempo[3]; + snap.DD=tempo[4]; + snap.CC=tempo[5]; + snap.BB=tempo[6]; + snap.FF=tempo[7]; + snap.AA=tempo[8]; + + snap.L=tempo[9]; + snap.H=tempo[10]; + snap.E=tempo[11]; + snap.D=tempo[12]; + snap.C=tempo[13]; + snap.B=tempo[14]; + + snap.IY=((word)tempo[15])+256*((word)tempo[16]); + snap.IX=((word)tempo[17])+256*((word)tempo[18]); + + if (tempo[19]&0x01) { + snap.IFF1=1; + } else { + snap.IFF1=0; + } + + if (tempo[19]&0x02) { + snap.IFF2=1; + } else { + snap.IFF2=0; + } + + snap.R=tempo[20]; + snap.F=tempo[21]; + snap.A=tempo[22]; + snap.SP=((word)tempo[23])+256*((word)tempo[24]); + snap.Imode=tempo[25]; + snap.border=tempo[26]; + + if (type==0) { + + v1=tempo[23]; + v2=tempo[24]; + addr=((int)v1)+256*((int)v2); + if ((addr<16384)||(addr>=65534)) { + printf("Error loading SNA file. Return address in ROM.\n"); + return -1; + } + addr-=16384; + addr+=27; + snap.PC=((word)tempo[addr])+256*((word)tempo[addr+1]); + tempo[addr]=0; + tempo[addr+1]=0; + snap.SP+=2; + snap.IFF1=snap.IFF2; + memcpy(snap.page[0],tempo+27,16384); + memcpy(snap.page[1],tempo+16411,16384); + memcpy(snap.page[2],tempo+32795,16384); + } else { + snap.PC=((word)tempo2[0])+256*((word)tempo2[1]); + memcpy(snap.page[5],tempo+27,16384); + memcpy(snap.page[2],tempo+16411,16384); + v1=tempo[2]; + snap.pager=v1; + v1&=0x07; + memcpy(snap.page[v1],tempo+32795,16384); + addr=4; + for (loop=0;loop<7;loop++) { + if ((loop==2)||(loop==5)||(loop==((int)v1))) { + continue; + } + memcpy(snap.page[loop],tempo2+addr,16384); + addr+=16384; + } + } + + load_snap(&snap); + return 0; + +} + +void load_snap(struct z80snapshot *snap) { + + int bucle; + + printf("Loading SnapShot\n"); + + switch(snap->type) { + case 0: // 48k + printf("Mode 48K\n"); + ordenador.mode128k=0; // 48K mode + ordenador.issue=snap->issue; + ResetComputer(); + break; + case 1: // 128k + printf("Mode 128K\n"); + ordenador.mode128k=2; // +2 mode + ordenador.issue=3; + ResetComputer(); + printf("Pager: %X\n",snap->pager); + Z80free_Out(0x7FFD,snap->pager); + break; + default: + break; + } + + ordenador.joystick=snap->joystick; + + procesador.Rm.br.A=snap->A; + procesador.Rm.br.F=snap->F; + procesador.Rm.br.B=snap->B; + procesador.Rm.br.C=snap->C; + procesador.Rm.br.D=snap->D; + procesador.Rm.br.E=snap->E; + procesador.Rm.br.H=snap->H; + procesador.Rm.br.L=snap->L; + printf("A:%d F:%d B:%d C:%d D:%d E:%d H:%d L:%d\n",snap->A,snap->F,snap->B,snap->C,snap->D,snap->E,snap->H,snap->L); + procesador.Ra.br.A=snap->AA; + procesador.Ra.br.F=snap->FF; + procesador.Ra.br.B=snap->BB; + procesador.Ra.br.C=snap->CC; + procesador.Ra.br.D=snap->DD; + procesador.Ra.br.E=snap->EE; + procesador.Ra.br.H=snap->HH; + procesador.Ra.br.L=snap->LL; + printf("A:%d F:%d B:%d C:%d D:%d E:%d H:%d L:%d\n",snap->AA,snap->FF,snap->BB,snap->CC,snap->DD,snap->EE,snap->HH,snap->LL); + procesador.Rm.wr.IX=snap->IX; + procesador.Rm.wr.IY=snap->IY; + procesador.Rm.wr.SP=snap->SP; + procesador.PC=snap->PC; + printf("IX:%d IY:%d SP:%d PC:%d\n",snap->IX,snap->IY,snap->SP,snap->PC); + procesador.I=snap->I; + procesador.R=snap->R; + procesador.R2=snap->R; + printf("I:%d R:%d\n",snap->I,snap->R); + + if(snap->IFF1) { + procesador.IFF1=1; + } else { + procesador.IFF1=0; + } + if(snap->IFF2) { + procesador.IFF2=1; + } else { + procesador.IFF2=0; + } + + procesador.IM=snap->Imode; + Z80free_Out(0xFFFE,((snap->border&0x07)|0x10)); + + switch(snap->type) { + case 0: // 48K + + for(bucle=0;bucle<16384;bucle++) { + ordenador.memoria[bucle+147456]=snap->page[0][bucle]; + ordenador.memoria[bucle+98304]=snap->page[1][bucle]; + ordenador.memoria[bucle+114688]=snap->page[2][bucle]; + } + + ordenador.ay_emul=0; + break; + case 1: // 128K + + for(bucle=0;bucle<16384;bucle++) { + ordenador.memoria[bucle+65536]=snap->page[0][bucle]; + ordenador.memoria[bucle+81920]=snap->page[1][bucle]; + ordenador.memoria[bucle+98304]=snap->page[2][bucle]; + ordenador.memoria[bucle+114688]=snap->page[3][bucle]; + ordenador.memoria[bucle+131072]=snap->page[4][bucle]; + ordenador.memoria[bucle+147456]=snap->page[5][bucle]; + ordenador.memoria[bucle+163840]=snap->page[6][bucle]; + ordenador.memoria[bucle+180224]=snap->page[7][bucle]; + } + ordenador.ay_emul=1; + for(bucle=0;bucle<16;bucle++) + ordenador.ay_registers[bucle]=snap->ay_regs[bucle]; + ordenador.ay_latch=snap->ay_latch; + break; + default: + break; + } +} diff --git a/src/cargador.h b/src/cargador.h new file mode 100644 index 0000000..9e3a2b3 --- /dev/null +++ b/src/cargador.h @@ -0,0 +1,43 @@ +/* + * Copyright 2003-2009 (C) Raster Software Vigo (Sergio Costas) + * This file is part of FBZX + * + * FBZX 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. + * + * FBZX is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "z80free/Z80free.h" +#include "computer.h" +#include "emulator.h" + +struct z80snapshot { + + byte A,F,B,C,D,E,H,L,AA,FF,BB,CC,DD,EE,HH,LL,R,I,IFF1,IFF2,Imode,issue; + word PC,IX,IY,SP; + byte type; // bit 0/1: 48K/128K/+3 + byte border; // border color + byte pager; // content of pagination register in 128K mode + unsigned char page[12][16384]; + unsigned int found_pages; // bit=1: page exists. bit=0: page don't exists. + unsigned char ay_regs[16]; + unsigned char ay_latch; + unsigned char joystick; + +}; + +int save_z80(char *); +int load_z80(char *); +int load_sna(char *); +void load_snap(struct z80snapshot *); +void uncompress_z80(FILE *,int,unsigned char *); diff --git a/src/characters.c b/src/characters.c new file mode 100644 index 0000000..99f59fb --- /dev/null +++ b/src/characters.c @@ -0,0 +1,224 @@ +/* + * Copyright 2003-2009 (C) Raster Software Vigo (Sergio Costas) + * This file is part of FBZX + * + * FBZX 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. + * + * FBZX is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "characters.h" +#include +#include "emulator.h" + +// prints the ASCII character CHARAC in the framebuffer MEMO, at X,Y with ink color COLOR and paper color BACK, asuming that the screen width is WIDTH + +void printchar(unsigned char *memo, unsigned char carac, int x, int y, unsigned char color, unsigned char back, int width) { + + int bucle1, bucle2, pos; + unsigned char bit_rot; + unsigned char *lugar, *lugar2; + + pos=0; + bit_rot=0x80; + + lugar=memo + (y * width + x) * ordenador.bpp; + for (bucle1=0;bucle1<16;bucle1++) { + lugar2=lugar; + for (bucle2=0;bucle2 < 16;bucle2++) { + if ((characters[carac-32][pos]) & bit_rot) + paint_one_pixel (colors + (int) (color), lugar2); + //*((unsigned int *)lugar2)=*(colors+(int)(color-16)); + else if ((ordenador.text_mini==0)||((bucle1%2==0)&&(bucle2%2==0))) + paint_one_pixel (colors + (int) (back), lugar2); + //*((unsigned int *)lugar2)=*(colors+(int)(back-16)); + if ((ordenador.text_mini==0)||(bucle2%2==1)) { + lugar2+=ordenador.bpp; + } + bit_rot/=2; + if ((bucle2 == 7) || (bucle2 == 15)) { + pos++; + bit_rot=0x80; + } + } + if ((ordenador.text_mini==0)||(bucle1%2==1)) { + lugar+=(width * ordenador.bpp); + } + } +} + +// prints the string CADENA in X,Y (centered if X=-1), with colors COLOR and BACK + +void print_string(unsigned char *memo, char *cadena, int x, int y, unsigned char color, unsigned char back, int width) { + + int length, ncarac, bucle, xx; + int xxx, yyy; + int w,h; + unsigned char *str2; + + if (ordenador.text_mini==1) { + if (x!=-1) + x/=2; + y/=2; + w=8; + h=10; + } else { + w=16; + h=20; + } + + for (ncarac=0,str2=cadena;*str2;str2++) { + if ((*str2)>=' ') { + ncarac++; + } + } + length=w * ncarac; + + if (length > width) { + if (x>=0) + xx=x; + else + xx=0; + } else { + if (x == -1) // we want it centered + xx=(width / 2) - (length / 2); + else + xx=x; + } + + xxx=xx; + yyy=y; + str2=cadena; + for (bucle=0;bucle= width - w) { + xxx=0; + yyy+=h; + } + } + str2++; + } +} + +unsigned char characters[96][32]={{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} + ,{0,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,2,0,2,0,2,0,0,0,0,0,3,0,3,0,0,0} + ,{0,0,28,224,28,224,28,224,28,224,8,64,8,64,8,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} + ,{0,0,2,64,2,64,2,64,2,64,2,64,31,240,4,128,4,128,4,128,63,224,4,128,4,128,4,128,4,128,0,0} + ,{0,0,1,0,3,208,4,48,8,16,8,0,8,0,4,0,3,192,0,32,0,16,0,16,16,16,24,32,23,192,1,0} + ,{14,0,17,0,32,128,32,128,32,128,17,0,14,56,1,192,14,0,112,224,1,16,2,8,2,8,2,8,1,16,0,224} + ,{0,0,0,0,7,64,9,128,8,0,8,0,4,0,12,0,18,96,34,64,33,128,32,128,32,192,17,64,14,48,0,0} + ,{0,0,3,128,3,128,3,128,3,128,3,128,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} + ,{0,0,0,64,0,128,0,128,0,128,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,128,0,128,0,128,0,64} + ,{0,0,16,0,8,0,8,0,8,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,8,0,8,0,8,0,16,0} + ,{0,0,1,0,1,0,1,0,25,48,15,224,3,128,6,192,12,96,24,48,0,0,0,0,0,0,0,0,0,0,0,0} + ,{0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,63,248,1,0,1,0,1,0,1,0,1,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,3,128,3,128,7,0,6,0} + ,{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,240,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,0,0,0,0,0,0,3,128,3,128,3,128,0,0} + ,{0,0,0,16,0,32,0,32,0,64,0,64,0,128,0,128,1,0,1,0,2,0,2,0,4,0,4,0,8,0,8,0} + ,{0,0,3,128,12,96,8,32,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8,32,12,96,3,128} + ,{0,0,3,0,29,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,31,240} + ,{0,0,7,128,24,64,32,32,32,32,0,32,0,32,0,64,0,128,1,0,2,0,4,0,8,0,16,0,32,16,63,240} + ,{0,0,15,128,16,96,0,32,0,32,0,32,0,64,7,128,0,96,0,16,0,16,0,16,0,16,32,16,24,96,7,128} + ,{0,0,0,192,1,64,2,64,2,64,4,64,8,64,8,64,16,64,16,64,32,64,63,240,0,64,0,64,0,64,3,240} + ,{0,0,31,224,16,0,16,0,16,0,16,0,23,128,24,96,0,32,0,16,0,16,0,16,0,16,0,32,48,96,15,128} + ,{0,0,1,224,6,0,12,0,8,0,16,0,19,192,20,32,24,16,16,16,16,16,16,16,16,16,8,16,12,32,3,192} + ,{0,0,63,224,32,32,32,64,0,64,0,64,0,128,0,128,0,128,0,128,1,0,1,0,1,0,2,0,2,0,2,0} + ,{0,0,7,128,8,64,16,32,16,32,16,32,16,32,8,64,15,192,16,32,32,16,32,16,32,16,16,32,24,96,7,128} + ,{0,0,3,128,12,96,24,48,16,16,16,16,16,16,8,48,12,80,3,144,0,16,0,16,0,32,0,32,0,192,31,0} + ,{0,0,0,0,0,0,0,0,3,128,3,128,3,128,0,0,0,0,0,0,0,0,0,0,3,128,3,128,3,128,0,0} + ,{0,0,0,0,0,0,7,0,7,0,7,0,0,0,0,0,0,0,0,0,0,0,7,0,7,0,14,0,12,0,24,0} + ,{0,0,0,0,0,0,0,48,0,192,3,0,12,0,48,0,96,0,48,0,12,0,3,0,0,192,0,48,0,0,0,0} + ,{0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,248,0,0,0,0,63,248,0,0,0,0,0,0,0,0,0,0} + ,{0,0,0,0,0,0,48,0,12,0,3,0,0,192,0,48,0,24,0,48,0,192,3,0,12,0,48,0,0,0,0,0} + ,{0,0,31,0,32,128,32,64,0,64,0,64,0,64,0,128,3,0,4,0,4,0,0,0,0,0,6,0,6,0,0,0} + ,{0,0,7,128,24,64,16,32,32,32,32,224,33,32,34,32,34,32,34,32,34,32,33,32,32,240,16,0,24,96,7,192} + ,{0,0,31,128,2,128,4,64,4,64,4,64,8,32,8,32,8,32,31,240,16,16,16,16,32,8,32,8,120,60,0,0} + ,{0,0,127,224,16,16,16,8,16,8,16,8,16,16,31,224,16,16,16,8,16,8,16,8,16,8,16,16,127,224,0,0} + ,{0,0,3,200,12,40,24,24,16,8,32,0,32,0,32,0,32,0,32,0,32,0,16,8,24,24,12,48,3,192,0,0} + ,{0,0,127,192,32,48,32,16,32,8,32,8,32,8,32,8,32,8,32,8,32,8,32,8,32,16,32,48,127,192,0,0} + ,{0,0,127,240,16,16,16,16,16,16,17,0,17,0,31,0,17,0,17,0,16,8,16,8,16,8,16,8,127,248,0,0} + ,{0,0,63,248,8,8,8,8,8,8,8,128,8,128,15,128,8,128,8,128,8,0,8,0,8,0,8,0,63,128,0,0} + ,{0,0,7,144,24,80,48,48,32,16,64,0,64,0,64,0,64,0,65,248,64,16,32,16,48,16,24,32,7,192,0,0} + ,{0,0,124,124,16,16,16,16,16,16,16,16,16,16,31,240,16,16,16,16,16,16,16,16,16,16,16,16,124,124,0,0} + ,{0,0,31,240,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,31,240,0,0} + ,{0,0,7,252,0,32,0,32,0,32,0,32,0,32,0,32,0,32,32,32,32,32,32,32,32,64,16,192,15,0,0,0} + ,{0,0,124,120,16,32,16,64,16,128,17,0,18,0,22,0,25,0,16,128,16,64,16,32,16,32,16,16,124,60,0,0} + ,{0,0,127,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,8,8,8,8,8,8,8,127,248,0,0} + ,{0,0,112,28,48,24,48,24,40,40,40,40,36,72,36,72,34,136,35,136,32,8,32,8,32,8,32,8,120,60,0,0} + ,{0,0,240,252,48,16,40,16,36,16,36,16,34,16,34,16,33,16,33,16,32,144,32,144,32,80,32,48,252,48,0,0} + ,{0,0,7,192,24,48,48,24,32,8,64,4,64,4,64,4,64,4,64,4,64,4,32,8,48,24,24,48,7,192,0,0} + ,{0,0,63,224,8,16,8,8,8,8,8,8,8,8,8,16,15,224,8,0,8,0,8,0,8,0,8,0,63,128,0,0} + ,{0,0,7,192,24,48,48,24,32,8,64,4,64,4,64,4,64,4,64,4,64,4,32,8,48,24,24,48,7,192,3,24} + ,{0,0,127,192,16,32,16,16,16,16,16,16,16,16,16,32,31,192,16,128,16,64,16,32,16,32,16,16,124,28,0,0} + ,{0,0,7,144,24,80,32,48,32,16,32,0,24,0,7,128,0,96,0,16,0,16,32,16,48,16,40,32,39,192,0,0} + ,{0,0,63,248,33,8,33,8,33,8,33,8,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,15,224,0,0} + ,{0,0,124,248,32,16,32,16,32,16,32,16,32,16,32,16,32,16,32,16,32,16,32,16,32,16,16,32,15,192,0,0} + ,{0,0,124,124,32,8,32,8,16,16,16,16,8,32,8,32,8,32,4,64,4,64,4,64,2,128,3,128,1,0,0,0} + ,{0,0,124,124,32,8,32,8,33,8,33,8,34,136,34,136,18,144,20,80,20,80,20,80,24,48,24,48,24,48,0,0} + ,{0,0,124,124,16,16,8,32,8,32,4,64,2,128,1,0,2,128,4,64,4,64,8,32,16,16,16,16,124,124,0,0} + ,{0,0,120,60,16,16,8,32,8,32,4,64,4,64,2,128,1,0,1,0,1,0,1,0,1,0,1,0,15,224,0,0} + ,{0,0,63,240,32,16,32,32,32,64,32,128,0,128,1,0,2,0,4,0,4,16,8,16,16,16,32,16,63,240,0,0} + ,{0,0,1,192,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,192} + ,{16,0,16,0,8,0,8,0,4,0,4,0,2,0,2,0,1,0,1,0,0,128,0,128,0,64,0,64,0,32,0,32} + ,{0,0,7,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,7,0} + ,{0,0,2,0,7,0,8,128,16,64,32,32,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,254,0,0} + ,{0,0,12,0,6,0,3,0,1,128,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,15,128,16,64,0,32,0,32,15,160,16,96,32,32,32,32,32,32,16,96,15,184,0,0} + ,{0,0,112,0,16,0,16,0,19,224,20,24,24,8,16,4,16,4,16,4,16,4,16,4,24,8,20,24,115,224,0,0} + ,{0,0,0,0,0,0,0,0,7,208,24,48,16,16,32,16,32,0,32,0,32,0,32,0,16,24,24,48,7,192,0,0} + ,{0,0,0,112,0,16,0,16,15,144,48,80,32,48,64,16,64,16,64,16,64,16,64,16,32,48,48,80,15,156,0,0} + ,{0,0,0,0,0,0,0,0,7,192,24,48,16,16,32,8,32,8,63,248,32,0,32,0,16,0,24,24,7,224,0,0} + ,{0,0,1,240,3,8,2,0,2,0,31,240,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,31,240,0,0} + ,{0,0,0,0,0,0,0,0,7,216,8,48,16,16,16,16,16,16,16,16,8,48,7,208,0,16,0,32,0,96,7,192} + ,{0,0,112,0,16,0,16,0,16,0,19,192,20,32,24,16,16,16,16,16,16,16,16,16,16,16,16,16,124,124,0,0} + ,{0,0,1,0,1,0,0,0,0,0,15,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,31,240,0,0} + ,{0,0,0,64,0,64,0,0,0,0,31,224,0,32,0,32,0,32,0,32,0,32,0,32,0,32,0,64,0,192,31,0} + ,{0,0,56,0,8,0,8,0,8,0,8,240,8,64,8,128,9,0,10,0,14,0,9,0,8,128,8,64,56,120,0,0} + ,{0,0,31,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,63,248,0,0} + ,{0,0,0,0,0,0,0,0,238,112,49,136,33,8,33,8,33,8,33,8,33,8,33,8,33,8,33,8,249,140,0,0} + ,{0,0,0,0,0,0,0,0,115,192,20,32,24,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,124,124,0,0} + ,{0,0,0,0,0,0,0,0,7,192,24,48,16,16,32,8,32,8,32,8,32,8,32,8,16,16,24,48,7,192,0,0} + ,{0,0,0,0,0,0,0,0,55,192,24,32,16,16,16,16,16,16,16,16,24,32,23,192,16,0,16,0,16,0,126,0} + ,{0,0,0,0,0,0,0,0,7,216,8,48,16,16,16,16,16,16,16,16,8,48,7,208,0,16,0,16,0,16,0,252} + ,{0,0,0,0,0,0,0,0,28,112,5,136,6,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,63,224,0,0} + ,{0,0,0,0,0,0,0,0,7,208,8,48,8,16,8,0,7,0,0,224,0,16,0,16,16,16,24,32,23,192,0,0} + ,{0,0,8,0,8,0,8,0,63,224,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,4,48,3,192,0,0} + ,{0,0,0,0,0,0,0,0,112,112,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,8,80,7,152,0,0} + ,{0,0,0,0,0,0,0,0,124,124,16,16,16,16,8,32,8,32,8,32,4,64,4,64,2,128,3,128,1,0,0,0} + ,{0,0,0,0,0,0,0,0,120,60,32,8,32,8,33,8,17,16,18,144,18,144,18,144,10,160,12,96,12,96,0,0} + ,{0,0,0,0,0,0,0,0,60,120,16,16,8,32,4,64,2,128,1,0,2,128,4,64,8,32,16,16,60,120,0,0} + ,{0,0,0,0,0,0,0,0,30,120,4,32,4,32,4,64,2,64,2,128,1,128,1,0,3,0,2,0,63,128,0,0} + ,{0,0,0,0,0,0,0,0,31,240,16,16,16,32,0,64,0,128,1,0,2,0,4,0,8,16,16,16,31,240,0,0} + ,{0,0,0,192,1,0,1,0,1,0,1,0,1,0,1,0,6,0,1,0,1,0,1,0,1,0,1,0,1,0,0,192} + ,{0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0} + ,{0,0,6,0,1,0,1,0,1,0,1,0,1,0,1,0,0,192,1,0,1,0,1,0,1,0,1,0,1,0,6,0} + ,{0,0,0,0,0,0,0,0,0,0,15,12,25,152,48,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} + ,{0,0,85,84,0,0,64,4,0,0,64,4,0,0,64,4,0,0,64,4,0,0,64,4,0,0,85,84,0,0,0,0}}; diff --git a/src/characters.h b/src/characters.h new file mode 100644 index 0000000..6a1f7ce --- /dev/null +++ b/src/characters.h @@ -0,0 +1,23 @@ +/* + * Copyright 2003-2009 (C) Raster Software Vigo (Sergio Costas) + * This file is part of FBZX + * + * FBZX 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. + * + * FBZX 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 . + * + */ + +extern unsigned char characters[96][32]; + +void printchar(unsigned char *,unsigned char,int,int,unsigned char,unsigned char,int); +void print_string(unsigned char *,char*,int,int,unsigned char,unsigned char,int); diff --git a/src/computer.c b/src/computer.c new file mode 100644 index 0000000..f7e5d8e --- /dev/null +++ b/src/computer.c @@ -0,0 +1,1599 @@ +/* + * Copyright 2003-2009 (C) Raster Software Vigo (Sergio Costas) + * This file is part of FBZX + * + * FBZX 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. + * + * FBZX is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "z80free/Z80free.h" +#include "computer.h" +#include "emulator.h" +#include "menus.h" +#include "characters.h" +#include "sound.h" +#include +#include +#include +#include +#include +#include "tape.h" +#include "microdrive.h" + +#ifdef DEBUG +extern FILE *fdebug; +#define printf(...) fprintf(fdebug,__VA_ARGS__); fflush (fdebug) +#endif + +/* Returns the bus value when reading a port without a periferial */ + +inline byte bus_empty () { + + if (ordenador.mode128k != 3) + return (ordenador.bus_value); + else + return (255); // +2A and +3 returns always 255 +} + +/* calls all the routines that emulates the computer, runing them for 'tstados' + tstates */ + +inline void emulate (int tstados) { + + if((procesador.I>=0x40)&&(procesador.I<=0x7F)) { + ordenador.screen_snow=1; + } else + ordenador.screen_snow=0; + show_screen (tstados); + play_ay (tstados); + play_sound (tstados); + tape_read (ordenador.tap_file, tstados); + microdrive_emulate(tstados); + if (!ordenador.pause) { + if (ordenador.tape_readed) + ordenador.sound_bit = 1; + else + ordenador.sound_bit = 0; // if not paused, asign SOUND_BIT the value of tape + } +} + +void computer_init () { + + int bucle; + + ordenador.bus_counter = 0; + ordenador.port254 = 0; + ordenador.issue = 3; + ordenador.mode128k = 0; + ordenador.joystick = 0; + + ordenador.tape_readed = 0; + ordenador.pause = 1; // tape stop + ordenador.tape_fast_load = 1; // fast load by default + ordenador.tape_current_mode = TAP_TRASH; + ordenador.tap_file = NULL; + + ordenador.osd_text[0] = 0; + ordenador.osd_time = 0; + + ordenador.other_ret = 0; + + ordenador.s8 = ordenador.s9 = ordenador.s10 = ordenador.s11 = + ordenador.s12 = ordenador.s13 = ordenador.s14 = + ordenador.s15 = 0xFF; + ordenador.tab_extended=0; + ordenador.esc_again=0; + + ordenador.js = 0x00; + + for (bucle = 0; bucle < 16; bucle++) + ordenador.ay_registers[bucle] = 0; + ordenador.ay_emul = 0; + ordenador.aych_a = 0; + ordenador.aych_b = 0; + ordenador.aych_c = 0; + ordenador.aych_n = 0; + ordenador.aych_envel = 0; + ordenador.vol_a = 0; + ordenador.vol_b = 0; + ordenador.vol_c = 0; + ordenador.tst_ay = 0; + ordenador.tst_ay2 = 0; + + ordenador.ayval_a = 0; + ordenador.ayval_b = 0; + ordenador.ayval_c = 0; + ordenador.ayval_n = 0; + ordenador.ay_envel_value = 0; + ordenador.ay_envel_way = 0; + + ordenador.tape_loop_counter = 0; +} + +void computer_set_palete() { + + SDL_Color colores[16]; + + if (ordenador.bw==0) { + // Color mode + + colores[0].r = 0; + colores[0].g = 0; + colores[0].b = 0; + colores[1].r = 0; + colores[1].g = 0; + colores[1].b = 192; + colores[2].r = 192; + colores[2].g = 0; + colores[2].b = 0; + colores[3].r = 192; + colores[3].g = 0; + colores[3].b = 192; + colores[4].r = 0; + colores[4].g = 192; + colores[4].b = 0; + colores[5].r = 0; + colores[5].g = 192; + colores[5].b = 192; + colores[6].r = 192; + colores[6].g = 192; + colores[6].b = 0; + colores[7].r = 192; + colores[7].g = 192; + colores[7].b = 192; + colores[8].r = 0; + colores[8].g = 0; + colores[8].b = 0; + colores[9].r = 0; + colores[9].g = 0; + colores[9].b = 255; + colores[10].r = 255; + colores[10].g = 0; + colores[10].b = 0; + colores[11].r = 255; + colores[11].g = 0; + colores[11].b = 255; + colores[12].r = 0; + colores[12].g = 255; + colores[12].b = 0; + colores[13].r = 0; + colores[13].g = 255; + colores[13].b = 255; + colores[14].r = 255; + colores[14].g = 255; + colores[14].b = 0; + colores[15].r = 255; + colores[15].g = 255; + colores[15].b = 255; + + SDL_SetColors (ordenador.screen, colores, 16, 16); // set 16 colors from the 16th + + if (ordenador.bpp!=1) { + colors[0]=SDL_MapRGB(screen->format,0,0,0); + colors[1]=SDL_MapRGB(screen->format,0,0,192); + colors[2]=SDL_MapRGB(screen->format,192,0,0); + colors[3]=SDL_MapRGB(screen->format,192,0,192); + colors[4]=SDL_MapRGB(screen->format,0,192,0); + colors[5]=SDL_MapRGB(screen->format,0,192,192); + colors[6]=SDL_MapRGB(screen->format,192,192,0); + colors[7]=SDL_MapRGB(screen->format,192,192,192); + colors[8]=SDL_MapRGB(screen->format,0,0,0); + colors[9]=SDL_MapRGB(screen->format,0,0,255); + colors[10]=SDL_MapRGB(screen->format,255,0,0); + colors[11]=SDL_MapRGB(screen->format,255,0,255); + colors[12]=SDL_MapRGB(screen->format,0,255,0); + colors[13]=SDL_MapRGB(screen->format,0,255,255); + colors[14]=SDL_MapRGB(screen->format,255,255,0); + colors[15]=SDL_MapRGB(screen->format,255,255,255); + } + } else { + + // B&W mode + + colores[0].r = 0; + colores[0].g = 0; + colores[0].b = 0; + + colores[1].r = 22; + colores[1].g = 22; + colores[1].b = 22; + + colores[2].r = 57; + colores[2].g = 57; + colores[2].b = 57; + + colores[3].r = 79; + colores[3].g = 79; + colores[3].b = 79; + + colores[4].r = 113; + colores[4].g = 113; + colores[4].b = 113; + + colores[5].r = 135; + colores[5].g = 135; + colores[5].b = 135; + + colores[6].r = 160; + colores[6].g = 160; + colores[6].b = 160; + + colores[7].r = 192; + colores[7].g = 192; + colores[7].b = 192; + + colores[8].r = 0; + colores[8].g = 0; + colores[8].b = 0; + + colores[9].r = 29; + colores[9].g = 29; + colores[9].b = 29; + + colores[10].r = 76; + colores[10].g = 76; + colores[10].b = 76; + + colores[11].r = 105; + colores[11].g = 105; + colores[11].b = 105; + + colores[12].r = 150; + colores[12].g = 150; + colores[12].b = 150; + + colores[13].r = 179; + colores[13].g = 179; + colores[13].b = 179; + + colores[14].r = 226; + colores[14].g = 226; + colores[14].b = 226; + + colores[15].r = 255; + colores[15].g = 255; + colores[15].b = 255; + + SDL_SetColors (ordenador.screen, colores, 16, 16); // set 16 colors from the 16th + + if (ordenador.bpp!=1) { + colors[0]=SDL_MapRGB(screen->format,0,0,0); + colors[1]=SDL_MapRGB(screen->format,22,22,22); + colors[2]=SDL_MapRGB(screen->format,57,57,57); + colors[3]=SDL_MapRGB(screen->format,79,79,79); + colors[4]=SDL_MapRGB(screen->format,113,113,113); + colors[5]=SDL_MapRGB(screen->format,135,135,135); + colors[6]=SDL_MapRGB(screen->format,160,160,160); + colors[7]=SDL_MapRGB(screen->format,192,192,192); + colors[8]=SDL_MapRGB(screen->format,0,0,0); + colors[9]=SDL_MapRGB(screen->format,29,29,29); + colors[10]=SDL_MapRGB(screen->format,76,76,76); + colors[11]=SDL_MapRGB(screen->format,105,105,105); + colors[12]=SDL_MapRGB(screen->format,150,150,150); + colors[13]=SDL_MapRGB(screen->format,179,179,179); + colors[14]=SDL_MapRGB(screen->format,226,226,226); + colors[15]=SDL_MapRGB(screen->format,255,255,255); + } + } + + unsigned int c; + + for(c=0x10;c<60;c++) { + colors[c]=0x00000000; + } + + if (ordenador.bpp==1) { + unsigned int v; + for (c=0x10;c<0x60;c++) { + v=c+((c<<8)&0x0000FF00)+((c<<16)&0x00FF0000)+((c<<24)&0xFF000000); + colors[c-0x10]=v; + } + } + for(c=0;c<64;c++) { + set_palete_entry((unsigned char)c,ordenador.ulaplus_palete[c]); + } +} + +/* Registers the screen surface where the Spectrum will put the picture, +prepares the palette and creates two arrays (translate and translate2) +that gives the memory address for each scan */ + +void register_screen (SDL_Surface * pantalla) { + + //int resx,resy; + int bucle, bucle2, bucle3, bucle4, bucle5; + + // we prepare the scanline transform arrays + + bucle5 = 0; + for (bucle = 0; bucle < 3; bucle++) + for (bucle2 = 0; bucle2 < 8; bucle2++) + for (bucle3 = 0; bucle3 < 8; bucle3++) + for (bucle4 = 0; bucle4 < 32; bucle4++) { + ordenador.translate[bucle5] = + 147456 + bucle * 2048 + + bucle2 * 32 + bucle3 * 256 + + bucle4; + ordenador.translate2[bucle5] = + 153600 + bucle * 256 + + bucle2 * 32 + bucle4; + bucle5++; + } + ordenador.tstados_counter = 0; + + ordenador.screen = pantalla; + + ordenador.border = 0; + ordenador.currline = 0; + ordenador.currpix = 0; + ordenador.flash = 0; + + //resx = ordenador.screen->w; + //resy = ordenador.screen->h; + + switch (ordenador.zaurus_mini) { + case 0: + ordenador.init_line = 0; + ordenador.next_line = 640; + ordenador.next_scanline = 640; + ordenador.first_line = 40; + ordenador.last_line = 280; + ordenador.first_pixel = 16; + ordenador.last_pixel = 336; + ordenador.next_pixel = 1; + ordenador.jump_pixel = 16; + break; + case 1: + ordenador.init_line = 65; + ordenador.next_line = 160; + ordenador.next_scanline = 160; + ordenador.first_line = 40; + ordenador.last_line = 280; + ordenador.first_pixel = 0; + ordenador.last_pixel = 351; + ordenador.next_pixel = 1; + ordenador.jump_pixel = 8; + break; + case 2: + ordenador.init_line = 479; + ordenador.next_line = -(307202); + ordenador.next_scanline = -1; + ordenador.first_line = 40; + ordenador.last_line = 280; + ordenador.first_pixel = 16; + ordenador.last_pixel = 336; + ordenador.next_pixel = 480; + ordenador.jump_pixel = 7680; + break; + case 3: + ordenador.init_line = 0; + ordenador.next_line = 0; + ordenador.next_scanline = 0; + ordenador.first_line = 40; + ordenador.last_line = 280; + ordenador.first_pixel = 0; + ordenador.last_pixel = 319; + ordenador.next_pixel = 1; + ordenador.jump_pixel = 4; + break; + } + + ordenador.next_line*=ordenador.bpp; + ordenador.next_scanline*=ordenador.bpp; + ordenador.init_line*=ordenador.bpp; + ordenador.next_pixel*=ordenador.bpp; + ordenador.jump_pixel*=ordenador.bpp; + + computer_set_palete(); + + ordenador.pixel = ((unsigned char *) (ordenador.screen->pixels)) + ordenador.init_line; + ordenador.interr = 0; + + ordenador.p_translt = ordenador.translate; + ordenador.p_translt2 = ordenador.translate2; + + ordenador.contador_flash = 0; + ordenador.readed = 0; + + ordenador.contended_zone=0; + ordenador.cicles_counter=0; + + ordenador.tstados_counter_sound = 0; + ordenador.current_buffer = sound[0]; + ordenador.num_buff = 0; // first buffer + ordenador.sound_cuantity = 0; + ordenador.sound_current_value = 0; + ordenador.pixancho = 447; + ordenador.pixalto = 311; // values for 48K mode +} + +void set_memory_pointers () { + + static unsigned int rom, ram; + + // assign the offset for video page + + if (ordenador.mport1 & 0x08) + ordenador.video_offset = 32768; // page 7 + else + ordenador.video_offset = 0; // page 5 + + // assign ROMs and, if in special mode, RAM for the whole blocks + + if ((ordenador.mode128k == 3)) { + if (ordenador.mport2 & 0x01) { // +2A/+3 special mode + ram = (unsigned int) (ordenador.mport1 & 0x06); // bits 1&2 + switch (ram) { + case 0: + ordenador.block0 = ordenador.memoria + 65536; + ordenador.block1 = ordenador.memoria + 65536; + ordenador.block2 = ordenador.memoria + 65536; + ordenador.block3 = ordenador.memoria + 65536; + break; + case 2: + ordenador.block0 = ordenador.memoria + 131072; + ordenador.block1 = ordenador.memoria + 131072; + ordenador.block2 = ordenador.memoria + 131072; + ordenador.block3 = ordenador.memoria + 131072; + break; + case 4: + ordenador.block0 = ordenador.memoria + 131072; + ordenador.block1 = ordenador.memoria + 131072; + ordenador.block2 = ordenador.memoria + 131072; + ordenador.block3 = ordenador.memoria + 65536; + break; + case 6: + ordenador.block0 = ordenador.memoria + 131072; + ordenador.block1 = ordenador.memoria + 163840; + ordenador.block2 = ordenador.memoria + 131072; + ordenador.block3 = ordenador.memoria + 65536; + break; + } + return; + } else { // ROMs for +2A/+3 normal mode + rom = 0; + if (ordenador.mport1 & 0x10) + rom++; + if (ordenador.mport2 & 0x04) + rom += 2; + // assign the first block pointer to the right block bank + ordenador.block0 = ordenador.memoria + (16384 * rom); + } + } else { // ROMs for 128K/+2 mode + if (ordenador.mport1 & 0x10) + ordenador.block0 = ordenador.memoria + 16384; + else + ordenador.block0 = ordenador.memoria; + } + + // RAMs for 128K/+2 mode, and +2A/+3 in normal mode + + ordenador.block1 = ordenador.memoria + 131072; // page 5 minus 16384 + ordenador.block2 = ordenador.memoria + 65536; // page 2 minus 32768 + + ram = 1 + ((unsigned int) (ordenador.mport1 & 0x07)); // RAM page for block3 plus 1 + ordenador.block3 = ordenador.memoria + (16384 * ram); // page n minus 49152 +} + +/* Paints the spectrum screen during the TSTADOS tstates that the Z80 used +to execute last instruction */ + +inline void show_screen (int tstados) { + + static unsigned char temporal, ink, paper, fflash, tmp2; + + ordenador.tstados_counter += tstados; + ordenador.cicles_counter += tstados; + + if (curr_frames!=jump_frames) { + if (ordenador.tstados_counter>=69888) { + ordenador.tstados_counter-=69888; + ordenador.interr = 1; + curr_frames++; + } + return; + } + + fflash = 0; // flash flag + while (ordenador.tstados_counter > 3) { + ordenador.tstados_counter -= 4; + + // test if current pixel is for border or for user area + + if ((ordenador.currline < 64) || (ordenador.currline > 255) + || (ordenador.currpix < 48) || (ordenador.currpix > 303)) { + + // is border + + ordenador.contended_zone=0; // no contention here + if (ordenador.ulaplus) { + paint_pixels (255, ordenador.border+24, 0); // paint 8 pixels with BORDER color + } else { + paint_pixels (255, ordenador.border, 0); // paint 8 pixels with BORDER color + } + + ordenador.bus_value = 255; + + } else { + + // is user area. We search for ink and paper colours + + ordenador.contended_zone=1; // can have contention + + temporal = ordenador.memoria[(*ordenador.p_translt2) + ordenador.video_offset]; // attributes + ordenador.bus_value = temporal; + ink = temporal & 0x07; // ink colour + paper = (temporal >> 3) & 0x07; // paper colour + if (ordenador.ulaplus) { + tmp2=0x10+((temporal>>2)&0x30); + ink+=tmp2; + paper+=8+tmp2; + } else { + if (temporal & 0x40) { // bright flag? + ink += 8; + paper += 8; + } + fflash = temporal & 0x80; // flash flag + } + + // Snow Effect + + if(ordenador.screen_snow) { + temporal = ordenador.memoria[(((*ordenador.p_translt) + (ordenador.video_offset))&0xFFFFFF00)+(procesador.R)]; // data with snow + ordenador.screen_snow=0; // no more snow for now + } else + temporal = ordenador.memoria[(*ordenador.p_translt) + ordenador.video_offset]; // data + + ordenador.p_translt++; + ordenador.p_translt2++; + if ((fflash) && (ordenador.flash)) + paint_pixels (temporal, paper, ink); // if FLASH, invert PAPER and INK + else + paint_pixels (temporal, ink, paper); + } + ordenador.currpix += 8; + if (ordenador.currpix > ordenador.pixancho) { + ordenador.currpix = 0; + ordenador.currline++; + if (ordenador.currline > ordenador.first_line) { // ordenador.first_line) + ordenador.pixel += ordenador.next_line; // ordenador.next_line; + } + } + + if ((ordenador.currline > ordenador.pixalto)&&(ordenador.currpix>=64)) { + ordenador.currpix=64; + if (ordenador.osd_time) { + ordenador.osd_time--; + if (ordenador.osd_time==0) { + ordenador.tab_extended=0; + ordenador.esc_again=0; + } + + if (ordenador.osd_time) + print_string (ordenador.screenbuffer,ordenador.osd_text, -1,460, 12, 0,ordenador.screen_width); + else { + if (ordenador.zaurus_mini==0) + print_string (ordenador.screenbuffer," ",-1, 460, 12, 0,ordenador.screen_width); + else + print_string (ordenador.screenbuffer," ",-1, 460, 12, 0,ordenador.screen_width); + } + } + + if (ordenador.mustlock) { + SDL_UnlockSurface (ordenador.screen); + SDL_Flip (ordenador.screen); + SDL_LockSurface (ordenador.screen); + } else { + SDL_Flip (ordenador.screen); + } + + curr_frames=0; + ordenador.currline = 0; + ordenador.interr = 1; + ordenador.cicles_counter=0; + ordenador.pixel = ((unsigned char *) (ordenador.screen->pixels))+ordenador.init_line; // +ordenador.init_line; + ordenador.p_translt = ordenador.translate; + ordenador.p_translt2 = ordenador.translate2; + ordenador.contador_flash++; + if (ordenador.contador_flash == 16) { + ordenador.flash = 1 - ordenador.flash; + ordenador.contador_flash = 0; + } + } + } +} + + +/* PAINT_PIXELS paints one byte with INK color for 1 bits and PAPER color +for 0 bits, and increment acordingly the pointer PIXEL */ + +inline void paint_pixels (unsigned char octet,unsigned char ink, unsigned char paper) { + + static int bucle,valor,*p; + static unsigned char mask; + + if ((ordenador.currpix < 16) || (ordenador.currpix >= 336) + || (ordenador.currline < 40) || (ordenador.currline >= 280)) + return; + + mask = 0x80; + for (bucle = 0; bucle < 8; bucle++) { + valor = (octet & mask) ? (int) ink : (int) paper; + p=(colors+valor); + + paint_one_pixel((unsigned char *)p,ordenador.pixel); + if ((ordenador.zaurus_mini!=1)&&(ordenador.zaurus_mini!=3)&&(ordenador.dblscan)) { + paint_one_pixel((unsigned char *)p,ordenador.pixel+ordenador.next_scanline); + } + ordenador.pixel+=ordenador.next_pixel; + if ((ordenador.zaurus_mini!=1)&&(ordenador.zaurus_mini!=3)) { + paint_one_pixel((unsigned char *)p,ordenador.pixel); + if (ordenador.dblscan) { + paint_one_pixel((unsigned char *)p,ordenador.pixel+ordenador.next_scanline); + } + ordenador.pixel+=ordenador.next_pixel; + } + mask = ((mask >> 1) & 0x7F); + } +} + +inline void paint_one_pixel(unsigned char *colour,unsigned char *address) { + + #if BYTE_ORDER == LITTLE_ENDIAN + switch(ordenador.bpp) { + case 1: + *address=*colour; + break; + case 3: + *(address++)=*(colour++); + case 2: + *(address++)=*(colour++); + *(address++)=*(colour++); + break; + case 4: + *((unsigned int *)address)=*((unsigned int *)colour); + break; + } + #else //BIG ENDIAN + switch(ordenador.bpp) { + case 1: + *address=*(colour+3); + break; + case 3: + *(address++)=*(colour+1); + case 2: + *(address++)=*(colour+2); + *(address++)=*(colour+3); + break; + case 4: + *((unsigned int *)address)=*((unsigned int *)colour); + break; + } + #endif + +} + +// Read the keyboard and stores the flags + +inline void read_keyboard (SDL_Event *pevento2) { + + unsigned int temporal_io; + SDL_Event evento,evento2,*pevento; + Sint16 valor; + Uint8 eje; + + if (pevento2==NULL) { + pevento=&evento; + if (!SDL_PollEvent (&evento)) + return; + } else { + pevento=pevento2; + } + + if (pevento->type==SDL_QUIT) { + salir = 0; + return; + } + + if (pevento->type==SDL_JOYBUTTONDOWN) { + pevento->type=SDL_KEYDOWN; + pevento->key.keysym.sym=SDLK_MENU; // emulate pressing the MENU key + } + + if (pevento->type==SDL_JOYBUTTONUP) { + pevento->type=SDL_KEYUP; + pevento->key.keysym.sym=SDLK_MENU; // emulate depressing the MENU key + } + + if (pevento->type==SDL_JOYAXISMOTION) { + eje=pevento->jaxis.axis; + valor=pevento->jaxis.value; + + evento2.type=SDL_KEYUP; + if ((valor<16384)&&(valor>-16384)) { // JoyStick centered + pevento->type=SDL_KEYUP; + if (eje==1) { + evento2.key.keysym.sym=SDLK_DOWN; + pevento->key.keysym.sym=SDLK_UP; // pull up both keys + read_keyboard(&evento2); + } + if (eje==0) { + evento2.key.keysym.sym=SDLK_LEFT; + pevento->key.keysym.sym=SDLK_RIGHT; + read_keyboard(&evento2); + } + } else { // JoyStick moved + if (eje==0) { + if (valor>=0) { + evento2.key.keysym.sym=SDLK_LEFT; // pull up LEFT + read_keyboard(&evento2); + pevento->key.keysym.sym=SDLK_RIGHT; // and press RIGHT + } else { + evento2.key.keysym.sym=SDLK_RIGHT; // pull up RIGHT + read_keyboard(&evento2); + pevento->key.keysym.sym=SDLK_LEFT; // and press LEFT + } + } + if (eje==1) { + if (valor<0) { + evento2.key.keysym.sym=SDLK_DOWN; // pull up DOWN + pevento->key.keysym.sym=SDLK_UP; // and press UP + read_keyboard(&evento2); + } else { + evento2.key.keysym.sym=SDLK_UP; // pull up UP + pevento->key.keysym.sym=SDLK_DOWN; // and press DOWN + read_keyboard(&evento2); + } + } + pevento->type=SDL_KEYDOWN; + } + } + + if ((pevento->type != SDL_KEYDOWN) && (pevento->type != SDL_KEYUP)) + return; + + ordenador.k8 = ordenador.k9 = ordenador.k10 = ordenador.k11 = + ordenador.k12 = ordenador.k13 = ordenador.k14 = + ordenador.k15 = 0; + ordenador.jk = 0; + + temporal_io = (unsigned int) pevento->key.keysym.sym; + + if ((pevento->type==SDL_KEYUP)&&(temporal_io==SDLK_TAB)) { + if (ordenador.tab_extended==0) { + ordenador.tab_extended=1; + strcpy(ordenador.osd_text,"Function Key mode on"); + ordenador.osd_time=100; + return; + } else { + ordenador.tab_extended=0; + ordenador.osd_time=0; + return; + } + } + + if ((pevento->type==SDL_KEYDOWN)&&(ordenador.tab_extended==1)) + return; + + if ((pevento->type==SDL_KEYUP)&&(ordenador.tab_extended==1)) { + ordenador.tab_extended=0; + ordenador.osd_time=0; + switch(temporal_io) { + case SDLK_1: + temporal_io=SDLK_F1; + break; + case SDLK_2: + temporal_io=SDLK_F2; + break; + case SDLK_3: + temporal_io=SDLK_F3; + break; + case SDLK_4: + temporal_io=SDLK_F4; + break; + case SDLK_5: + temporal_io=SDLK_F5; + break; + case SDLK_6: + temporal_io=SDLK_F6; + break; + case SDLK_7: + temporal_io=SDLK_F7; + break; + case SDLK_8: + temporal_io=SDLK_F8; + break; + case SDLK_9: + temporal_io=SDLK_F9; + break; + case SDLK_0: + temporal_io=SDLK_F10; + break; + case SDLK_o: + temporal_io=SDLK_F11; + break; + case SDLK_p: + temporal_io=SDLK_F12; + break; + } + } + + + if (pevento->type == SDL_KEYUP) + switch (temporal_io) { + case SDLK_ESCAPE: // to exit from the emulator + if (ordenador.esc_again==0) { + ordenador.esc_again=1; + strcpy(ordenador.osd_text,"ESC again to exit"); + ordenador.osd_time=100; + } else + salir = 0; + return; + break; + case SDLK_F1: + help_menu (); // shows the help menu + break; + + case SDLK_F2: + case SDLK_F3: + case SDLK_F4: + case SDLK_F7: + case SDLK_F8: + launch_menu(temporal_io); + break; + + case SDLK_F5: // STOP tape + if ((ordenador.tape_fast_load == 0) || (ordenador.tape_file_type==TAP_TZX)) + ordenador.pause = 1; + break; + + case SDLK_F6: // PLAY tape + if ((ordenador.tape_fast_load == 0) || (ordenador.tape_file_type==TAP_TZX)) + ordenador.pause = 0; + break; + + case SDLK_F9: + SDL_Fullscreen_Switch(); + break; + + case SDLK_F10: // Reset emulator + ResetComputer (); + ordenador.pause = 1; + if (ordenador.tap_file != NULL) { + ordenador.tape_current_mode = TAP_TRASH; + rewind_tape (ordenador.tap_file,1); + } + break; + + case SDLK_F11: // lower volume + if (ordenador.volume > 3) + set_volume (ordenador.volume - 4); + sprintf (ordenador.osd_text, " Volume: %d ",ordenador.volume / 4); + ordenador.osd_time = 50; + break; + + case SDLK_F12: // upper volume + set_volume (ordenador.volume + 4); + sprintf (ordenador.osd_text, " Volume: %d ",ordenador.volume / 4); + ordenador.osd_time = 50; + break; + } + + // reorder joystick if screen is rotated + + if(ordenador.zaurus_mini==2) { + switch(temporal_io) { + case SDLK_UP: + temporal_io=SDLK_LEFT; + break; + case SDLK_LEFT: + temporal_io=SDLK_DOWN; + break; + case SDLK_DOWN: + temporal_io=SDLK_RIGHT; + break; + case SDLK_RIGHT: + temporal_io=SDLK_UP; + break; + } + } + + + // test for joystick + + switch (temporal_io) { + case SDLK_UP: + switch (ordenador.joystick) { + case 0: // cursor + temporal_io = SDLK_7; + break; + + case 1: + ordenador.jk = 8; + break; + + case 2: // sinclair 1 + temporal_io = SDLK_4; + break; + + case 3: // sinclair 2 + temporal_io = SDLK_7; + break; + } + break; + + case SDLK_DOWN: + switch (ordenador.joystick) { + case 0: // cursor + temporal_io = SDLK_6; + break; + + case 1: + ordenador.jk = 4; + break; + + case 2: // sinclair 1 + temporal_io = SDLK_3; + break; + + case 3: // sinclair 2 + temporal_io = SDLK_8; + break; + } + break; + + case SDLK_RIGHT: + switch (ordenador.joystick) { + case 0: // cursor + temporal_io = SDLK_8; + break; + + case 1: + ordenador.jk = 1; + break; + + case 2: // sinclair 1 + temporal_io = SDLK_1; + break; + + case 3: // sinclair 2 + temporal_io = SDLK_9; + break; + + } + break; + + case SDLK_LEFT: + switch (ordenador.joystick) { + case 0: // cursor + temporal_io = SDLK_5; + break; + + case 1: + ordenador.jk = 2; + break; + + case 2: // sinclair 1 + temporal_io = SDLK_2; + break; + + case 3: // sinclair 2 + temporal_io = SDLK_0; + break; + } + break; + + case SDLK_RALT: + case SDLK_RMETA: + case SDLK_LMETA: + case SDLK_RSUPER: + case SDLK_LSUPER: + case SDLK_MENU: + switch (ordenador.joystick) { + case 0: // cursor + temporal_io = SDLK_0; + break; + + case 1: + ordenador.jk = 16; + break; + + case 2: // sinclair 1 + temporal_io = SDLK_5; + break; + + case 3: // sinclair 2 + temporal_io = SDLK_6; + break; + } + break; + } + + switch (temporal_io) { + + case SDLK_SPACE: + ordenador.k15 = 1; + break; + + case SDLK_RCTRL: + case SDLK_LCTRL: + ordenador.k15 = 2; + break; + + case SDLK_m: + ordenador.k15 = 4; + break; + + case SDLK_n: + ordenador.k15 = 8; + break; + + case SDLK_b: + ordenador.k15 = 16; + break; + + case SDLK_RETURN: + ordenador.k14 = 1; + break; + + case SDLK_l: + ordenador.k14 = 2; + break; + + case SDLK_k: + ordenador.k14 = 4; + break; + + case SDLK_j: + ordenador.k14 = 8; + break; + + case SDLK_h: + ordenador.k14 = 16; + break; + + case SDLK_p: + ordenador.k13 = 1; + break; + + case SDLK_o: + ordenador.k13 = 2; + break; + + case SDLK_i: + ordenador.k13 = 4; + break; + + case SDLK_u: + ordenador.k13 = 8; + break; + + case SDLK_y: + ordenador.k13 = 16; + break; + + case SDLK_0: + ordenador.k12 = 1; + break; + + case SDLK_9: + ordenador.k12 = 2; + break; + + case SDLK_8: + ordenador.k12 = 4; + break; + + case SDLK_7: + ordenador.k12 = 8; + break; + + case SDLK_6: + ordenador.k12 = 16; + break; + + case SDLK_1: + ordenador.k11 = 1; + break; + + case SDLK_2: + ordenador.k11 = 2; + break; + + case SDLK_3: + ordenador.k11 = 4; + break; + + case SDLK_4: + ordenador.k11 = 8; + break; + + case SDLK_5: + ordenador.k11 = 16; + break; + + case SDLK_q: + ordenador.k10 = 1; + break; + + case SDLK_w: + ordenador.k10 = 2; + break; + + case SDLK_e: + ordenador.k10 = 4; + break; + + case SDLK_r: + ordenador.k10 = 8; + break; + + case SDLK_t: + ordenador.k10 = 16; + break; + + case SDLK_a: + ordenador.k9 = 1; + break; + + case SDLK_s: + ordenador.k9 = 2; + break; + + case SDLK_d: + ordenador.k9 = 4; + break; + + case SDLK_f: + ordenador.k9 = 8; + break; + + case SDLK_g: + ordenador.k9 = 16; + break; + + case SDLK_RSHIFT: + case SDLK_LSHIFT: + ordenador.k8 = 1; + break; + + case SDLK_z: + ordenador.k8 = 2; + break; + + case SDLK_x: + ordenador.k8 = 4; + break; + + case SDLK_c: + ordenador.k8 = 8; + break; + + case SDLK_v: + ordenador.k8 = 16; + break; + + case SDLK_BACKSPACE: + ordenador.k12 = 1; + ordenador.k8 = 1; + break; + case SDLK_PERIOD: + ordenador.k15 = 6; + break; + case SDLK_COMMA: + ordenador.k15 = 10; + break; + + } + + if (pevento->type == SDL_KEYUP) { + ordenador.s8 |= ordenador.k8; + ordenador.s9 |= ordenador.k9; + ordenador.s10 |= ordenador.k10; + ordenador.s11 |= ordenador.k11; + ordenador.s12 |= ordenador.k12; + ordenador.s13 |= ordenador.k13; + ordenador.s14 |= ordenador.k14; + ordenador.s15 |= ordenador.k15; + ordenador.js &= (ordenador.jk ^ 255); + } else { + ordenador.s8 &= (ordenador.k8 ^ 255); + ordenador.s9 &= (ordenador.k9 ^ 255); + ordenador.s10 &= (ordenador.k10 ^ 255); + ordenador.s11 &= (ordenador.k11 ^ 255); + ordenador.s12 &= (ordenador.k12 ^ 255); + ordenador.s13 &= (ordenador.k13 ^ 255); + ordenador.s14 &= (ordenador.k14 ^ 255); + ordenador.s15 &= (ordenador.k15 ^ 255); + ordenador.js |= ordenador.jk; + } + + return; +} + +// resets the computer and loads the right ROMs + +void ResetComputer () { + + static int bucle; + + Z80free_reset (&procesador); + load_rom (ordenador.mode128k); + + // reset the AY-3-8912 + + for (bucle = 0; bucle < 16; bucle++) + ordenador.ay_registers[bucle] = 0; + + ordenador.aych_a = 0; + ordenador.aych_b = 0; + ordenador.aych_c = 0; + ordenador.aych_n = 0; + ordenador.aych_envel = 0; + ordenador.vol_a = 0; + ordenador.vol_b = 0; + ordenador.vol_c = 0; + + ordenador.s8|=0x1F; + ordenador.s9|=0x1F; + ordenador.s10|=0x1F; + ordenador.s11|=0x1F; + ordenador.s12|=0x1F; + ordenador.s13|=0x1F; + ordenador.s14|=0x1F; + ordenador.s15|=0x1F; + ordenador.js=0; + + ordenador.updown=0; + ordenador.leftright=0; + + ordenador.ulaplus=0; + + ordenador.mport1 = 0; + ordenador.mport2 = 0; + ordenador.video_offset = 0; // video in page 9 (page 5 in 128K) + switch (ordenador.mode128k) { + case 0: // 48K + ordenador.pixancho = 447; + ordenador.pixalto = 311; + + ordenador.block0 = ordenador.memoria; + ordenador.block1 = ordenador.memoria + 131072; // video mem. in page 9 (page 5 in 128K) + ordenador.block2 = ordenador.memoria + 65536; // 2nd block in page 6 (page 2 in 128K) + ordenador.block3 = ordenador.memoria + 65536; // 3rd block in page 7 (page 3 in 128K) + ordenador.mport1 = 32; // access to port 7FFD disabled + break; + + case 3: // +2A/+3 + Z80free_Out (0x1FFD, 0); + case 1: // 128K + case 2: // +2 + case 4: // spanish 128K + Z80free_Out (0x7FFD, 0); + ordenador.pixancho = 455; + ordenador.pixalto = 310; + break; + } + + microdrive_reset(); +} + +// check if there's contention and waits the right number of tstates + +void do_contention() { + + if (!ordenador.contended_zone) + return; + + if (ordenador.cicles_counter<14335) { + return; + } + + int ccicles=(ordenador.cicles_counter-14335)%8; + + if (ccicles>5) { + return; + } + + emulate(6-ccicles); + +} + +void Z80free_Wr (register word Addr, register byte Value) { + + switch (Addr & 0xC000) { + case 0x0000: + // only writes in the first 16K if we are in +3 mode and bit0 of mport2 is 1 + + if ((ordenador.mode128k == 3) && (1 == (ordenador.mport2 & 0x01))) + *(ordenador.block0 + Addr) = (unsigned char) Value; + break; + + case 0x4000: + do_contention(); + *(ordenador.block1 + Addr) = (unsigned char) Value; + break; + + case 0x8000: + *(ordenador.block2 + Addr) = (unsigned char) Value; + break; + + case 0xC000: + *(ordenador.block3 + Addr) = (unsigned char) Value; + break; + } +} + + +byte Z80free_Rd (register word Addr) { + + if((ordenador.mdr_active)&&(ordenador.mdr_paged)&&(Addr<8192)) // Interface I + return((byte)ordenador.shadowrom[Addr]); + + switch (ordenador.other_ret) { + case 1: + ordenador.other_ret = 0; + return (201); // RET instruction + break; + + default: + switch (Addr & 0xC000) { + case 0x0000: + return ((byte) (*(ordenador.block0 + Addr))); + break; + + case 0x4000: + do_contention(); + return ((byte) (*(ordenador.block1 + Addr))); + break; + + case 0x8000: + return ((byte) (*(ordenador.block2 + Addr))); + break; + + case 0xC000: + return ((byte) (*(ordenador.block3 + Addr))); + break; + + default: + printf ("Memory error\n"); + exit (1); + return 0; + } + break; + } +} + +void set_palete_entry(unsigned char entry, byte Value) { + + + SDL_Color color; + + color.r = ((Value<<3)&0xE0)+((Value)&0x1C)+((Value>>3)&0x03); + color.g = (Value&0xE0)+((Value>>3)&0x1C)+((Value>>6)&0x03); + color.b = ((Value<<6)&0xC0)+((Value<<4)&0x30)+((Value<<2)&0x0C)+((Value)&0x03); + + if (ordenador.bw!=0) { + int final; + final=(((int)color.r)*3+((int)color.g)*6+((int)color.b))/10; + color.r=color.g=color.b=(unsigned char)final; + } + // Color mode + + SDL_SetColors (ordenador.screen, &color, 32+entry, 1); // set 16 colors from the 16th + + if (ordenador.bpp!=1) { + colors[entry+16]=SDL_MapRGB(screen->format,color.r,color.g,color.b); + } +} + +void Z80free_Out (register word Port, register byte Value) { + + // Microdrive access + + register word maskport; + + if (((Port&0x0001)==0)||((Port>=0x4000)&&(Port<0x8000))) { + do_contention(); + } + + // ULAPlus + if (Port == 0xBF3B) { + ordenador.ulaplus_reg = Value; + return; + } + if (Port == 0xFF3B) { + if (ordenador.ulaplus_reg==0x40) { // mode + ordenador.ulaplus=Value&0x01; + return; + } + if (ordenador.ulaplus_reg<0x40) { // register set mode + ordenador.ulaplus_palete[ordenador.ulaplus_reg]=Value; + set_palete_entry(ordenador.ulaplus_reg,Value); + } + } + + if(((Port &0x0018)!=0x0018)&&(ordenador.mdr_active)) + microdrive_out(Port,Value); + + // ULA port (A0 low) + + if (!(Port & 0x0001)) { + ordenador.port254 = (unsigned char) Value; + ordenador.border = (((unsigned char) Value) & 0x07); + + if (ordenador.pause) { + if (Value & 0x10) + ordenador.sound_bit = 1; + else + ordenador.sound_bit = 0; // assign to SOUND_BIT the value + } + } + + // Memory page (7FFD & 1FFD) + + if (ordenador.mode128k==3) { + maskport=0x0FFD; + } else { + maskport=0x3FFD; + } + + if (((Port|maskport) == 0x7FFD) && (0 == (ordenador.mport1 & 0x20))) { + ordenador.mport1 = (unsigned char) Value; + set_memory_pointers (); // set the pointers + } + + if (((Port|maskport) == 0x1FFD) && (0 == (ordenador.mport1 & 0x20))) { + ordenador.mport2 = (unsigned char) Value; + set_memory_pointers (); // set the pointers + } + + // Sound chip (AY-3-8912) + + if (((Port|maskport) == 0xFFFD)&&(ordenador.ay_emul)) + ordenador.ay_latch = ((unsigned int) (Value & 0x0F)); + + if (((Port|maskport) == 0xBFFD)&&(ordenador.ay_emul)) { + ordenador.ay_registers[ordenador.ay_latch] = (unsigned char) Value; + if (ordenador.ay_latch == 13) + ordenador.ay_envel_way = 2; // start cycle + } +} + + +byte Z80free_In (register word Port) { + + static unsigned int temporal_io; + byte pines; + + if (((Port&0x0001)==0)||((Port>=0x4000)&&(Port<0x8000))) { + do_contention(); + } + + temporal_io = (unsigned int) Port; + + if (Port == 0xFF3B) { + if (ordenador.ulaplus_reg==0x40) { // mode + return(ordenador.ulaplus&0x01); + } + if (ordenador.ulaplus_reg<0x40) { // register set mode + return(ordenador.ulaplus_palete[ordenador.ulaplus_reg]); + } + } + + if (!(temporal_io & 0x0001)) { + pines = 0xBF; // by default, sound bit is 0 + if (!(temporal_io & 0x0100)) + pines &= ordenador.s8; + if (!(temporal_io & 0x0200)) + pines &= ordenador.s9; + if (!(temporal_io & 0x0400)) + pines &= ordenador.s10; + if (!(temporal_io & 0x0800)) + pines &= ordenador.s11; + if (!(temporal_io & 0x1000)) + pines &= ordenador.s12; + if (!(temporal_io & 0x2000)) + pines &= ordenador.s13; + if (!(temporal_io & 0x4000)) + pines &= ordenador.s14; + if (!(temporal_io & 0x8000)) + pines &= ordenador.s15; + + if (ordenador.pause) { + if (ordenador.issue == 2) { + if (ordenador.port254 & 0x18) + pines |= 0x40; + } else { + if (ordenador.port254 & 0x10) + pines |= 0x40; + } + } else { + if (ordenador.tape_readed) + pines |= 0x40; // sound input + else + pines &= 0xBF; // sound input + } + return (pines); + } + + // Joystick + if (!(temporal_io & 0x0020)) { + if (ordenador.joystick == 1) { + return (ordenador.js); + } else { + return 0; // if Kempston is not selected, emulate it, but always 0 + } + } + + if ((temporal_io == 0xFFFD)&&(ordenador.ay_emul)) + return (ordenador.ay_registers[ordenador.ay_latch]); + + // Microdrive access + + if(((Port &0x0018)!=0x0018)&&(ordenador.mdr_active)) + return(microdrive_in(Port)); + + pines=bus_empty(); + + return (pines); +} + +void set_volume (unsigned char volume) { + + unsigned char vol2; + int bucle; + + if (volume > 64) + vol2 = 64; + else + vol2 = volume; + + ordenador.volume = vol2; + + for (bucle = 0; bucle < 4; bucle++) { + ordenador.sample0[bucle] = 0; + ordenador.sample1[bucle] = 0; + ordenador.sample1b[bucle] = 0; + } + + switch (ordenador.format) { + case 0: // 8 bits/sample + ordenador.sample1[0] = 1 * vol2; + ordenador.sample1[1] = 1 * vol2; + ordenador.sample1b[0] = 1; + ordenador.sample1b[1] = 1; + break; + case 1: // 16 bits/sample, Little Endian + ordenador.sample1[0] = 1 * vol2; + ordenador.sample1[1] = 1 * vol2; + ordenador.sample1[2] = 1 * vol2; + ordenador.sample1[3] = 1 * vol2; + ordenador.sample1b[0] = 1; + ordenador.sample1b[1] = 1; + ordenador.sample1b[2] = 1; + ordenador.sample1b[3] = 1; + break; + case 2: // 16 bits/sample, Big Endian + ordenador.sample1[0] = 1 * vol2; + ordenador.sample1[1] = 1 * vol2; + ordenador.sample1[2] = 1 * vol2; + ordenador.sample1[3] = 1 * vol2; + ordenador.sample1b[0] = 1; + ordenador.sample1b[1] = 1; + ordenador.sample1b[2] = 1; + ordenador.sample1b[3] = 1; + break; + } +} diff --git a/src/computer.h b/src/computer.h new file mode 100644 index 0000000..5aca4db --- /dev/null +++ b/src/computer.h @@ -0,0 +1,215 @@ +/* + * Copyright 2003-2009 (C) Raster Software Vigo (Sergio Costas) + * This file is part of FBZX + * + * FBZX 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. + * + * FBZX is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#ifndef computer_h +#define computer_h + +#include +#include + +// #define MUT + +extern char salir; + +enum tapmodes {TAP_GUIDE, TAP_DATA, TAP_PAUSE, TAP_TRASH, TAP_STOP, TAP_PAUSE2, TZX_PURE_TONE, + TZX_SEQ_PULSES, TAP_FINAL_BIT, TAP_PAUSE3}; +enum taptypes {TAP_TAP, TAP_TZX}; + +struct computer { + + unsigned int temporal_io; + + // screen private global variables + SDL_Surface *screen; + unsigned char *screenbuffer; + unsigned int screen_width; + unsigned int translate[6144],translate2[6144]; + unsigned char zaurus_mini; + unsigned char text_mini; + unsigned char dblscan; + unsigned char bw; + + int contador_flash; + + unsigned int *p_translt,*p_translt2; + unsigned char *pixel; // current address + char border,flash; + int currline,currpix; + + int tstados_counter; // counts tstates leaved to the next call + int resx,resy,bpp; // screen resolutions + int init_line; // cuantity to add to the base address to start to paint + int next_line; // cuantity to add when we reach the end of line to go to next line + int next_scanline; // cuantity to add to pass to the next scanline + int first_line; // first line to start to paint + int last_line; // last line to paint + int first_pixel; // first pixel of a line to paint + int last_pixel; // last pixel of a line to paint + int next_pixel; // next pixel + int pixancho,pixalto; // maximum pixel value for width and height + int jump_pixel; + unsigned char screen_snow; // 0-> no emulate snow; 1-> emulate snow + unsigned char contended_zone; // 0-> no contention; 1-> contention possible + int cicles_counter; // counts how many pixel clock cicles passed since las interrupt + + char ulaplus; // 0 = inactive; 1 = active + unsigned char ulaplus_reg; // contains the last selected register in the ULAPlus + unsigned char ulaplus_palete[64]; // contains the current palete + + // keyboard private global variables + + unsigned char s8,s9,s10,s11,s12,s13,s14,s15; + unsigned char k8,k9,k10,k11,k12,k13,k14,k15; + unsigned char readed; + unsigned char tab_extended; + unsigned char esc_again; + + // kempston joystick private global variables + + unsigned char js,jk; + + // Linux joystick private global variables + + unsigned char use_js; + unsigned char updown,leftright; + + // sound global variables + + int tst_sample; // number of tstates per sample + int freq; // frequency for reproduction + int format; // 0: 8 bits, 1: 16 bits LSB, 2: 16 bits MSB + signed char sign; // 0: unsigned; 1: signed + int channels; // number of channels + int buffer_len; // sound buffer length (in samples) + int increment; // cuantity to add to jump to the next sample + unsigned char volume; // volume + unsigned char sample1[4]; // buffer with precalculated sample 1 (for buzzer) + unsigned char sample1b[4]; // buffer with prec. sample 1 (for AY-3-8912) + unsigned char sample0[4]; // buffer with precalculated sample 0 + unsigned char sound_bit; + unsigned int tstados_counter_sound; + unsigned char *current_buffer; + unsigned char num_buff; + unsigned int sound_cuantity; // counter for the buffer + unsigned char ay_registers[16]; // registers for the AY emulation + unsigned int aych_a,aych_b,aych_c,aych_n,aych_envel; // counters for AY emulation + unsigned char ayval_a,ayval_b,ayval_c,ayval_n; + unsigned char ay_emul; // 0: no AY emulation; 1: AY emulation + unsigned char vol_a,vol_b,vol_c; + unsigned int tst_ay; + unsigned int tst_ay2; + unsigned int ay_latch; + signed char ay_envel_value; + unsigned char ay_envel_way; + unsigned char sound_current_value; + + // bus global variables + + unsigned char bus_counter; + unsigned char bus_value; + unsigned char issue; // 2= 48K issue 2, 3= 48K issue 3 + unsigned char mode128k; // 0=48K, 1=128K, 2=+2, 3=+3 + unsigned char joystick; // 0=cursor, 1=kempston, 2=sinclair1, 3=sinclair2 + unsigned char port254; + + + // tape global variables + + enum tapmodes tape_current_mode; + unsigned char pause; // 1=tape stop + enum taptypes tape_file_type; + unsigned int tape_counter0; + unsigned int tape_counter1; + unsigned int tape_counter_rep; + unsigned char tape_byte; + unsigned char tape_bit; + unsigned char tape_readed; + unsigned int tape_byte_counter; + unsigned int tape_pause_at_end; + FILE *tap_file; + unsigned char tape_fast_load; // 0 normal load; 1 fast load + unsigned char current_tap[2049]; + + unsigned char tape_current_bit; + unsigned int tape_block_level; + unsigned int tape_sync_level0; + unsigned int tape_sync_level1; + unsigned int tape_bit0_level; + unsigned int tape_bit1_level; + unsigned char tape_bits_at_end; + unsigned int tape_loop_counter; + long tape_loop_pos; + + unsigned char tape_write; // 0 can't write; 1 can write + + // Microdrive global variables + FILE *mdr_file; // Current microdrive file + unsigned char mdr_current_mdr[2049]; // current path and name for microdrive file + unsigned char mdr_active; // 0: not installed; 1: installed + unsigned char mdr_paged; // 0: not pagined; 1: pagined + unsigned int mdr_tapehead; // current position in the tape + unsigned int mdr_bytes; // number of bytes read or written in this transfer + unsigned int mdr_maxbytes; // maximum number of bytes to read or write in this transfer + unsigned int mdr_gap; // TSTATEs remaining for GAP end + unsigned int mdr_nogap; // TSTATEs remaining for next GAP + unsigned char mdr_cartridge[137923]; // current cartridge + unsigned char mdr_drive; // current drive + byte mdr_old_STATUS; // to detect an edge in COM CLK + unsigned char mdr_modified; // if a sector is stored, this change to know that it must be stored in the file + + // OSD global variables + + unsigned char osd_text[200]; + unsigned int osd_time; + + // pagination global variables + + unsigned char mport1,mport2; // ports for memory management (128K and +3) + unsigned int video_offset; // 0 for page 5, and 32768 for page 7 + unsigned char *block0,*block1,*block2,*block3; // pointers for memory access (one for each 16K block). + + // public + + unsigned char memoria[196608]; // memory (12 pages of 16K each one). 4 for ROM, and 8 for RAM + unsigned char shadowrom[8192]; // space for Interface I's ROMs + unsigned char interr; + unsigned char mustlock; + unsigned char other_ret; // 0=no change; 1=memory returns RET (201) + + unsigned char turbo; +}; + +void computer_init(); +void register_screen(SDL_Surface *); +inline void show_screen(int); +inline void paint_pixels(unsigned char, unsigned char, unsigned char); +inline void read_keyboard(); +void fill_audio(void *udata,Uint8 *,int); +void set_volume(unsigned char); +inline void play_sound(unsigned int); +inline void emulate(int); +void ResetComputer(); +inline byte bus_empty(); +void set_memory_pointers(); +inline void play_ay(); +inline void paint_one_pixel(unsigned char *colour,unsigned char *address); +void computer_set_palete(); +void set_palete_entry(unsigned char entry, byte Value); + +#endif diff --git a/src/emulator.c b/src/emulator.c new file mode 100644 index 0000000..5c4bd3f --- /dev/null +++ b/src/emulator.c @@ -0,0 +1,802 @@ +/* + * Copyright 2003-2009 (C) Raster Software Vigo (Sergio Costas) + * This file is part of FBZX + * + * FBZX 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. + * + * FBZX is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "z80free/Z80free.h" +#include "computer.h" +#include "emulator.h" +#include "cargador.h" +#include +#include +#include +#include +#include +#include "characters.h" +#include "menus.h" +#include +#include +#include +#include "sound.h" +#include "tape.h" +#include "microdrive.h" + +#ifdef GEKKO +#include +#include +#endif + +#ifdef DEBUG +FILE *fdebug; +#define printf(...) fprintf(fdebug,__VA_ARGS__); fflush (fdebug) +#endif + +char debug_var=1; + +Z80FREE procesador; +struct computer ordenador; +SDL_Surface *screen; +char salir,sound_aborted; +unsigned char *sound[NUM_SNDBUF]; +char path_snaps[2049]; +char path_taps[2049]; +char path_mdrs[2049]; +unsigned int colors[80]; +unsigned int jump_frames,curr_frames; +char *filenames[5]; + +void SDL_Fullscreen_Switch() +{ + Uint32 flags = screen->flags; + if ( flags & SDL_FULLSCREEN ) + flags &= ~SDL_FULLSCREEN; + else + flags |= SDL_FULLSCREEN; + + screen = SDL_SetVideoMode(screen->w, screen->h, screen->format->BitsPerPixel,flags); +} + +FILE *myfopen(char *filename,char *mode) { + + char tmp[4096]; + FILE *fichero; + + fichero=fopen(filename,mode); + if (fichero!=NULL) { + return (fichero); + } + sprintf(tmp,"/usr/share/%s",filename); + fichero=fopen(tmp,mode); + if (fichero!=NULL) { + return (fichero); + } + sprintf(tmp,"/usr/local/share/%s",filename); + fichero=fopen(tmp,mode); + if (fichero!=NULL) { + return (fichero); + } + #ifdef GEKKO + sprintf(tmp,"/fbzx-wii/%s",filename); + fichero=fopen(tmp,mode); + if (fichero!=NULL) { + return (fichero); + } + #endif + + return (NULL); +} + +char *load_a_rom(char **filenames) { + + char **pointer; + int offset=0; + FILE *fichero; + int size; + + for(pointer=filenames;*pointer!=NULL;pointer++) { + fichero=myfopen(*pointer,"r"); + if(fichero==NULL) { + return (*pointer); + } + size=fread(ordenador.memoria+offset,16384,1,fichero); + offset+=16384; + fclose(fichero); + } + return (NULL); +} + +void load_rom(char type) { + + char *retval; + FILE *fichero; + int size; + + switch(type) { + case 0: + filenames[0]="spectrum-roms/48.rom"; + filenames[1]=NULL; + retval=load_a_rom(filenames); + if (retval) { + printf("Can't load file %s\n",retval); + exit(1); + } + break; + case 1: + filenames[0]="spectrum-roms/128-0.rom"; + filenames[1]="spectrum-roms/128-1.rom"; + filenames[2]=NULL; + retval=load_a_rom(filenames); + if (retval) { + printf("Can't load file %s\n",retval); + exit(1); + } + break; + case 2: + filenames[0]="spectrum-roms/plus2-0.rom"; + filenames[1]="spectrum-roms/plus2-1.rom"; + filenames[2]=NULL; + retval=load_a_rom(filenames); + if (retval) { + printf("Can't load file %s\n",retval); + exit(1); + } + break; + case 3: + // first, try last version of PLUS3 roms + + filenames[0]="spectrum-roms/plus3-41-0.rom"; + filenames[1]="spectrum-roms/plus3-41-1.rom"; + filenames[2]="spectrum-roms/plus3-41-2.rom"; + filenames[3]="spectrum-roms/plus3-41-3.rom"; + filenames[4]=NULL; + retval=load_a_rom(filenames); + if (retval) { + printf("Can't load the Spectrum +3 ROM version 4.1. Trying with version 4.0\n"); + filenames[0]="spectrum-roms/plus3-40-0.rom"; + filenames[1]="spectrum-roms/plus3-40-1.rom"; + filenames[2]="spectrum-roms/plus3-40-2.rom"; + filenames[3]="spectrum-roms/plus3-40-3.rom"; + filenames[4]=NULL; + retval=load_a_rom(filenames); + if (retval) { + printf("Can't load the Spectrum +3 ROM version 4.0. Trying with legacy filenames\n"); + filenames[0]="spectrum-roms/plus3-0.rom"; + filenames[1]="spectrum-roms/plus3-1.rom"; + filenames[2]="spectrum-roms/plus3-2.rom"; + filenames[3]="spectrum-roms/plus3-3.rom"; + filenames[4]=NULL; + retval=load_a_rom(filenames); + if (retval) { + printf("Can't load file %s\n",retval); + exit(1); + } + } + } + break; + case 4: + filenames[0]="spectrum-roms/128-spanish-0.rom"; + filenames[1]="spectrum-roms/128-spanish-1.rom"; + filenames[2]=NULL; + retval=load_a_rom(filenames); + if (retval) { + printf("Can't load file %s\n",retval); + exit(1); + } + break; + } + + fichero=myfopen("spectrum-roms/if1-2.rom","r"); // load Interface1 ROM + if(fichero==NULL) { + // try legacy name + fichero=myfopen("spectrum-roms/if1-v2.rom","r"); + if(fichero==NULL) { + printf("Can't open Interface1 ROM file\n"); + exit(1); + } + } + size=fread(ordenador.shadowrom,8192,1,fichero); + fclose(fichero); +} + +void init_screen(int resx,int resy,int depth,int fullscreen,int dblbuffer,int hwsurface) { + + int retorno,bucle,bucle2,valores,ret2; + unsigned char value; + + //if (sound_type!=3) + retorno=SDL_Init(SDL_INIT_VIDEO); + /*else + retorno=SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO);*/ + if(retorno!=0) { + printf("Can't initialize SDL library. Exiting\n"); + exit(1); + } + + if (SDL_InitSubSystem(SDL_INIT_JOYSTICK)) { + ordenador.use_js=0; + printf("Can't initialize JoyStick subsystem\n"); + } else { + printf("JoyStick subsystem initialized\n"); + ordenador.use_js=1; + if(SDL_NumJoysticks()>0){ + // Open joystick + for (bucle=0;bucleformat->BytesPerPixel; + printf("Bytes per pixel: %d\n",ordenador.bpp); + + if(SDL_MUSTLOCK(screen)) { + ordenador.mustlock=1; + SDL_LockSurface(screen); + } else + ordenador.mustlock=0; + + printf("Locking screen: %d\n", ordenador.mustlock); + + // sound initialization + + if (sound_type==SOUND_AUTOMATIC) { + ret2=sound_init(1); // check all sound systems + } else { + ret2=sound_init(0); // try with the one specified in command line + } + if(ret2==0) { + sound_aborted=0; + } else { // if fails, run without sound + sound_type=SOUND_NO; + sound_init(0); + sound_aborted=1; + } + printf("Init sound\n"); + if(ordenador.format) + ordenador.increment=2*ordenador.channels; + else + ordenador.increment=ordenador.channels; + + value=0; + for(bucle2=0;bucle20)&&(config_path[length-1]!='/')) + strcat(config_path,"/"); + strcat(config_path,"fbzx_conf"); + fconfig = fopen(config_path,"wb"); + if (fconfig==NULL) { + return; + } + fprintf(fconfig,"mode=%c%c",48+object->mode128k,10); + fprintf(fconfig,"issue=%c%c",48+object->issue,10); + fprintf(fconfig,"joystick=%c%c",48+object->joystick,10); + fprintf(fconfig,"ay_sound=%c%c",48+object->ay_emul,10); + fprintf(fconfig,"interface1=%c%c",48+object->mdr_active,10); + fprintf(fconfig,"doublescan=%c%c",48+object->dblscan,10); + fprintf(fconfig,"volume=%c%c",65+(object->volume/4),10); + fprintf(fconfig,"bw=%c%c",48+object->bw,10); + fclose(fconfig); +} + +void load_config(struct computer *object) { + + char config_path[1024]; + char line[1024],carac,done; + int length,pos; + FILE *fconfig; + unsigned char volume=255,mode128k=255,issue=255,joystick=255,ay_emul=255,mdr_active=255,dblscan=255,bw=255; + + strcpy(config_path,getenv("HOME")); + length=strlen(config_path); + if ((length>0)&&(config_path[length-1]!='/')) + strcat(config_path,"/"); + strcat(config_path,"fbzx_conf"); + fconfig = fopen(config_path,"rb"); + if (fconfig==NULL) { + return; + } + + done=1; + pos=0; + line[0]=0; + while(!feof(fconfig)) { + if (done) { + line[0]=0; + pos=0; + done=0; + } + if (0!=fread(&carac,1,1,fconfig)) { + if ((carac!=13)&&(carac!=10)) { + line[pos]=carac; + if (pos<1023) { + pos++; + } + continue; + } + } + done=1; + line[pos]=0; + if (line[0]=='#') { // coment + continue; + } + if (!strncmp(line,"mode=",5)) { + printf("Cambio a modo %c\n",line[5]-'0'); + mode128k=line[5]-'0'; + continue; + } + if (!strncmp(line,"issue=",6)) { + issue=line[6]-'0'; + continue; + } + if (!strncmp(line,"joystick=",9)) { + joystick=line[9]-'0'; + continue; + } + if (!strncmp(line,"ay_sound=",9)) { + ay_emul=line[9]-'0'; + continue; + } + if (!strncmp(line,"interface1=",11)) { + mdr_active=line[11]-'0'; + continue; + } + if (!strncmp(line,"doublescan=",11)) { + dblscan=line[11]-'0'; + continue; + } + if (!strncmp(line,"volume=",7)) { + volume=4*(line[7]-'A'); + continue; + } + if (!strncmp(line,"bw=",3)) { + bw=(line[3]-'0'); + continue; + } + } + + if (mode128k<5) { + object->mode128k=mode128k; + } + if (issue<4) { + object->issue=issue; + } + if (joystick<4) { + object->joystick=joystick; + } + if (ay_emul<2) { + object->ay_emul=ay_emul; + } + if (mdr_active<2) { + object->mdr_active=mdr_active; + } + if (dblscan<2) { + object->dblscan=dblscan; + } + if (bw<2) { + object->bw=bw; + } + if (volume<255) { + object->volume=volume; + set_volume(volume); + } + + fclose(fconfig); +} + +int main(int argc,char *argv[]) { + + int bucle,tstados,argumento,fullscreen,dblbuffer,hwsurface,length; + char gamefile[4096]; + word PC=0; + + // by default, try all sound modes + sound_type=SOUND_AUTOMATIC; + gamefile[0]=0; + ordenador.zaurus_mini=0; + ordenador.text_mini=0; + ordenador.ulaplus=0; + ordenador.ulaplus_reg=0; + fullscreen=0; + dblbuffer=0; + hwsurface=0; + + argumento=0; + jump_frames=0; + curr_frames=0; + ordenador.dblscan=0; + ordenador.bw=0; + + #ifdef DEBUG + fatInitDefault(); + fdebug = fopen("/fbzx-wii/logfile.txt","w"); + #endif + + #ifdef GEKKO + fullscreen=1; + dblbuffer=1; + hwsurface=1; + setenv("HOME", "/fbzx-wii", 1); + + printf("\x1b[2;0H"); + + //initialize libfat library + if (!fatInitDefault()) + { + printf("Couldn't initialize SD fat subsytem\n\n"); + + exit(0); + } + else + printf("SD FAT subsytem initialized\n\n"); + + //SDL_Delay(3000); + + #endif + + + computer_init(); + printf("Computer init\n"); + + printf("Modo: %d\n",ordenador.mode128k); + // load current config + load_config(&ordenador); + printf("Modo: %d\n",ordenador.mode128k); + while(argumentopixels; + ordenador.screen_width=ordenador.screen->w; + + // assign initial values for PATH variables + + strcpy(path_snaps,getenv("HOME")); + length=strlen(path_snaps); + if ((length>0)&&(path_snaps[length-1]!='/')) + strcat(path_snaps,"/"); + strcpy(path_taps,path_snaps); + strcpy(path_mdrs,path_snaps); + ordenador.current_tap[0]=0; + + // assign random values to the memory before start execution + + printf("Reset memory\n"); + printf("Modo: %d\n",ordenador.mode128k); + for(bucle=0;bucle<196608;bucle++) + ordenador.memoria[bucle]=(unsigned char) rand(); + + printf("Memory resetted\n"); + ordenador.tap_file=NULL; + printf("Modo: %d\n",ordenador.mode128k); + + // we filter all the events, except keyboard events + + SDL_EventState(SDL_ACTIVEEVENT,SDL_IGNORE); + SDL_EventState(SDL_MOUSEMOTION,SDL_IGNORE); + SDL_EventState(SDL_MOUSEBUTTONDOWN,SDL_IGNORE); + SDL_EventState(SDL_MOUSEBUTTONUP,SDL_IGNORE); + SDL_EventState(SDL_JOYAXISMOTION,SDL_ENABLE); + SDL_EventState(SDL_JOYBALLMOTION,SDL_ENABLE); + SDL_EventState(SDL_JOYHATMOTION,SDL_ENABLE); + SDL_EventState(SDL_JOYBUTTONDOWN,SDL_ENABLE); + SDL_EventState(SDL_JOYBUTTONUP,SDL_ENABLE); + SDL_EventState(SDL_QUIT,SDL_ENABLE); + SDL_EventState(SDL_SYSWMEVENT,SDL_IGNORE); + SDL_EventState(SDL_VIDEORESIZE,SDL_IGNORE); + SDL_EventState(SDL_USEREVENT,SDL_IGNORE); + + SDL_ShowCursor(SDL_DISABLE); + salir=1; + + printf("Init microdrive\n"); + microdrive_init(); + + printf("Reset computer\n"); + ResetComputer(); + + sleep(1); + + printf("Reset screen\n"); + clean_screen(); + + if (sound_aborted==1) { + strcpy(ordenador.osd_text,"Running without sound (read the FAQ)"); + ordenador.osd_time=100; + } + + printf("Modo: %d\n",ordenador.mode128k); + printf("load main game\n"); + load_main_game(gamefile); + printf("Modo: %d\n",ordenador.mode128k); + + sprintf(ordenador.osd_text,"Press F1 for help"); + ordenador.osd_time=200; + + printf("BPP: %d\n",ordenador.bpp); + while(salir) { + + do { + tstados=Z80free_ustep(&procesador); + if(tstados<0) { + printf("Error %X\n",procesador.PC); + exit(1); + } + emulate(tstados); // execute the whole hardware emulation for that number of TSTATES + } while(procesador.Status!=Z80XX); + + PC=procesador.PC; + + /* if PC is 0x0556, a call to LD_BYTES has been made, so if + FAST_LOAD is 1, we must load the block in memory and return */ + + if((!ordenador.mdr_paged)&&(PC==0x0556) && (ordenador.tape_fast_load==1)&&(ordenador.tape_file_type==TAP_TAP)) { + if(ordenador.tap_file!=NULL) + fastload_block(ordenador.tap_file); + else { + sprintf(ordenador.osd_text,"No TAP file selected"); + ordenador.osd_time=50; + } + } + + /* if PC is 0x04C2, a call to SA_BYTES has been made, so if + we want to save to the TAP file, we do it */ + + if((!ordenador.mdr_paged)&&(PC==0x04C2)&&(ordenador.tape_write==1)&&(ordenador.tape_file_type==TAP_TAP)) { + if(ordenador.tap_file!=NULL) + save_file(ordenador.tap_file); + else { + sprintf(ordenador.osd_text,"No TAP file selected"); + ordenador.osd_time=50; + } + } + + /* if ordenador.mdr_paged is 2, we have executed the RET at 0x0700, so + we have to return to the classic ROM */ + + if(ordenador.mdr_paged==2) + ordenador.mdr_paged=0; + + /* if PC is 0x0008 or 0x1708, and we have a microdrive, we have to page + the Interface 1 ROM */ + + if(((PC==0x0008)||(PC==0x1708))&&(ordenador.mdr_active)) + ordenador.mdr_paged = 1; + + /* if PC is 0x0700 and we have a microdrive, we have to unpage + the Interface 1 ROM after the last instruction */ + + if((PC==0x0700)&&(ordenador.mdr_active)) + ordenador.mdr_paged = 2; + + if(ordenador.interr==1) { + read_keyboard (NULL); // read the physical keyboard + Z80free_INT(&procesador,bus_empty()); + ordenador.interr=0; + } + } + + save_config(&ordenador); + return 0; +} diff --git a/src/emulator.h b/src/emulator.h new file mode 100644 index 0000000..df973f8 --- /dev/null +++ b/src/emulator.h @@ -0,0 +1,45 @@ +/* + * Copyright 2003-2009 (C) Raster Software Vigo (Sergio Costas) + * This file is part of FBZX + * + * FBZX 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. + * + * FBZX is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "z80free/Z80free.h" +#include "computer.h" + +#ifndef emulator_h +#define emulator_h + +#define NUM_SNDBUF 2 + +extern char debug_var; + +extern SDL_Surface *screen; +extern Z80FREE procesador; +extern struct computer ordenador; +extern unsigned char *sound[NUM_SNDBUF]; +extern char path_snaps[2049]; +extern char path_taps[2049]; +extern char path_mdrs[2049]; +extern unsigned int colors[80]; +extern unsigned int jump_frames,curr_frames; + +void SDL_Fullscreen_Switch(void); +void load_rom(char); +void load_main_game(char *nombre); +FILE *myfopen(char *filename,char *mode); + +#endif diff --git a/src/menus.c b/src/menus.c new file mode 100644 index 0000000..38c1531 --- /dev/null +++ b/src/menus.c @@ -0,0 +1,1949 @@ +/* + * Copyright 2003-2009 (C) Raster Software Vigo (Sergio Costas) + * This file is part of FBZX + * + * FBZX 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. + * + * FBZX is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "z80free/Z80free.h" +#include "computer.h" +#include "emulator.h" +#include "cargador.h" +#include +#include +#include +#include +#include +#include +#include +#include "characters.h" +#include "menus.h" +#include "tape.h" +#include + + +// shows the settings menu + +void print_copy(unsigned char *fbuffer,int ancho) { + + print_string(fbuffer,"(C) 2003-2011 Raster Software Vigo",-1,455,13,0,ancho); + +} + +int launch_menu(unsigned int key_pressed) { + + int retval=0; + switch(key_pressed) { + + case SDLK_F2: + snapshots_menu (); // manage snapshot files + retval=1; + break; + + case SDLK_F3: + taps_menu (); // manage TAP files + retval=1; + break; + + case SDLK_F4: // settings + settings_menu (); + retval=1; + break; + + case SDLK_F7: + microdrive_menu (); // shows the microdrive menu + retval=1; + break; + + case SDLK_F8: + tools_menu(); + retval=1; + break; + } + return (retval); +} + +void settings_menu() { + + unsigned char *fbuffer,fin; + unsigned char texto[41]; + int ancho=screen->w; + + fbuffer=screen->pixels; + + fin=1; + + texto[0]=0; + + do { + clean_screen(); + + print_string(fbuffer,"Current settings",-1,5,15,0,ancho); + switch(ordenador.mode128k) { + case 0: + if(ordenador.issue==2) + sprintf(texto,"Mode: 48K issue2"); + else + sprintf(texto,"Mode: 48K issue3"); + break; + case 1: + sprintf(texto,"Mode: Sinclair 128K"); + break; + case 2: + sprintf(texto,"Mode: Amstrad +2"); + break; + case 3: + sprintf(texto,"Mode: Amstrad +2A/+3"); + break; + case 4: + sprintf(texto,"Mode: Spanish 128K"); + break; + } + + print_string(fbuffer,texto,-1,45,14,0,ancho); + + switch(ordenador.joystick) { + case 0: + sprintf(texto,"Joystick emulation: Cursor"); + break; + case 1: + sprintf(texto,"Joystick emulation: Kempston"); + break; + case 2: + sprintf(texto,"Joystick emulation: Sinclair (1)"); + break; + case 3: + sprintf(texto,"Joystick emulation: Sinclair (2)"); + break; + } + print_string(fbuffer,texto,-1,65,13,0,ancho); + + if(ordenador.ay_emul) + sprintf(texto,"AY-3-8912 Emulation: enabled"); + else + sprintf(texto,"AY-3-8912 Emulation: disabled"); + + print_string(fbuffer,texto,-1,85,11,0,ancho); + + if(ordenador.mdr_active) + sprintf(texto,"Interface I Emulation: enabled"); + else + sprintf(texto,"Interface I Emulation: disabled"); + + print_string(fbuffer,texto,-1,105,15,0,ancho); + + if(ordenador.dblscan) + sprintf(texto,"Double scan: enabled"); + else + sprintf(texto,"Double scan: disabled"); + + print_string(fbuffer,texto,-1,125,12,0,ancho); + + if(ordenador.turbo) + sprintf(texto,"TURBO mode: enabled"); + else + sprintf(texto,"TURBO mode: disabled"); + print_string(fbuffer,texto,-1,145,14,0,ancho); + + if (ordenador.bw) { + print_string(fbuffer,"TV Set: \001\011B\001\012&\001\014W",-1,165,15,0,ancho); + } else { + print_string(fbuffer,"TV Set: \001\012C\001\014o\001\015l\001\016o\001\013r",-1,165,15,0,ancho); + } + + print_string(fbuffer,"1:",30,190,12,0,ancho); + print_string(fbuffer,"48K issue2",78,190,15,0,ancho); + + print_string(fbuffer,"2:",350,190,12,0,ancho); + print_string(fbuffer,"48K issue3",398,190,15,0,ancho); + + print_string(fbuffer,"3:",30,220,12,0,ancho); + print_string(fbuffer,"Sinclair 128K",78,220,15,0,ancho); + + print_string(fbuffer,"4:",350,220,12,0,ancho); + print_string(fbuffer,"Amstrad +2",398,220,15,0,ancho); + + print_string(fbuffer,"5:",30,250,12,0,ancho); + print_string(fbuffer,"Amstrad +2A/+3",78,250,15,0,ancho); + + print_string(fbuffer,"6:",350,250,12,0,ancho); + print_string(fbuffer,"Spanish 128K",398,250,15,0,ancho); + + print_string(fbuffer,"7:",30,280,12,0,ancho); + print_string(fbuffer,"Cursor",78,280,15,0,ancho); + + print_string(fbuffer,"8:",350,280,12,0,ancho); + print_string(fbuffer,"Kempston",398,280,15,0,ancho); + + print_string(fbuffer,"9:",30,310,12,0,ancho); + print_string(fbuffer,"Sinclair (1)",78,310,15,0,ancho); + + print_string(fbuffer,"0:",350,310,12,0,ancho); + print_string(fbuffer,"Sinclair (2)",398,310,15,0,ancho); + + print_string(fbuffer,"I:",30,340,12,0,ancho); + print_string(fbuffer,"Interface I",78,340,15,0,ancho); + + print_string(fbuffer,"D:",350,340,12,0,ancho); + print_string(fbuffer,"Double Scan",398,340,15,0,ancho); + + print_string(fbuffer,"A:",350,370,12,0,ancho); + print_string(fbuffer,"AY emulation",398,370,15,0,ancho); + print_string(fbuffer,"T:",30,370,12,0,ancho); + print_string(fbuffer,"TURBO mode",78,370,15,0,ancho); + + print_string(fbuffer,"V:",30,400,12,0,ancho); + print_string(fbuffer,"TV Set mode",78,400,15,0,ancho); + + print_string(fbuffer,"ESC:",168,460,12,0,ancho); + print_string(fbuffer,"return emulator",232,460,15,0,ancho); + + switch(wait_key()) { + case SDLK_ESCAPE: + case SDLK_RETURN: + fin=0; + break; + case SDLK_1: + ordenador.issue=2; + ordenador.mode128k=0; + ordenador.ay_emul=0; + ResetComputer(); + break; + case SDLK_2: + ordenador.issue=3; + ordenador.mode128k=0; + ordenador.ay_emul=0; + ResetComputer(); + break; + case SDLK_3: + ordenador.issue=3; + ordenador.mode128k=1; + ordenador.ay_emul=1; + ResetComputer(); + break; + case SDLK_4: + ordenador.issue=3; + ordenador.mode128k=2; + ordenador.ay_emul=1; + ResetComputer(); + break; + case SDLK_5: + ordenador.issue=3; + ordenador.mode128k=3; + ordenador.ay_emul=1; + ordenador.mdr_active=0; + ResetComputer(); + break; + case SDLK_6: + ordenador.issue=3; + ordenador.mode128k=4; + ordenador.ay_emul=1; + ResetComputer(); + break; + case SDLK_7: + ordenador.joystick=0; + break; + case SDLK_8: + ordenador.joystick=1; + break; + case SDLK_9: + ordenador.joystick=2; + break; + case SDLK_0: + ordenador.joystick=3; + break; + case SDLK_i: + if(ordenador.mode128k!=3) { + ordenador.mdr_active=1-ordenador.mdr_active; + ResetComputer(); + } + break; + case SDLK_d: + ordenador.dblscan=1-ordenador.dblscan; + break; + case SDLK_a: + ordenador.ay_emul=1-ordenador.ay_emul; + break; + case SDLK_v: + ordenador.bw=1-ordenador.bw; + computer_set_palete(); + break; + case SDLK_t: + if(ordenador.turbo){ + ordenador.tst_sample=3500000/ordenador.freq; + ordenador.turbo = 0; + } else { + ordenador.tst_sample=100000000/ordenador.freq; + ordenador.turbo = 1; + } + } + } while(fin); + + clean_screen(); +} + +// shows the help menu + +void help_menu() { + + unsigned char *fbuffer,fin; + int ancho=screen->w; + + fbuffer=screen->pixels; + + clean_screen(); + + print_string(fbuffer,"FBZX (2.7.0)",-1,10,15,0,ancho); + print_string(fbuffer,"Available keys",-1,40,14,0,ancho); + print_string(fbuffer,"Shift:Caps Shift Ctrl:Symbol Shift",-1,95,11,0,ancho); + + print_string(fbuffer,"F1:",14,160,12,0,ancho); + print_string(fbuffer,"this help",62,160,15,0,ancho); + + print_string(fbuffer,"F2:",336,160,12,0,ancho); + print_string(fbuffer,"manage snapshots",382,160,15,0,ancho); + + print_string(fbuffer,"F3:",14,200,12,0,ancho); + print_string(fbuffer,"manage TAP/TZX",62,200,15,0,ancho); + + print_string(fbuffer,"F4:",336,200,12,0,ancho); + print_string(fbuffer,"change settings",382,200,15,0,ancho); + + print_string(fbuffer,"F5:",14,240,12,0,ancho); + print_string(fbuffer,"stop TAPE",62,240,15,0,ancho); + + print_string(fbuffer,"F6:",336,240,12,0,ancho); + print_string(fbuffer,"play TAPE",382,240,15,0,ancho); + + print_string(fbuffer,"F7:",14,280,12,0,ancho); + print_string(fbuffer,"manage MICRODRIVE",62,280,15,0,ancho); + + print_string(fbuffer,"F8:",336,280,12,0,ancho); + print_string(fbuffer,"tools",382,280,15,0,ancho); + + print_string(fbuffer,"F9:",14,320,12,0,ancho); + print_string(fbuffer,"Toggle fullscreen",62,320,15,0,ancho); + + print_string(fbuffer,"F10:",336,320,12,0,ancho); + print_string(fbuffer,"reset spectrum",398,320,15,0,ancho); + + print_string(fbuffer,"F11/O:",14,360,12,0,ancho); + print_string(fbuffer,"volume low",110,360,15,0,ancho); + + print_string(fbuffer,"F12/P:",336,360,12,0,ancho); + print_string(fbuffer,"volume up",430,360,15,0,ancho); + + print_string(fbuffer,"ESC:",184,400,12,0,ancho); + print_string(fbuffer,"exit emulator",248,400,15,0,ancho); + + print_copy(fbuffer,ancho); + + fin=1; + do { + unsigned int key = wait_key(); + switch(key) { + case SDLK_ESCAPE: // to exit the help + fin=0; + break; + default: + if (launch_menu(key)) { + fin=0; + } + break; + } + } while(fin); + clean_screen(); +} + + +// shows the POKE menu + +void do_poke() { + + unsigned char *videomem,string[80]; + int ancho,retorno,address,old_value,new_value; + + videomem=screen->pixels; + ancho=screen->w; + + clean_screen(); + + while(1) { + print_string(videomem,"Type address to POKE",-1,32,15,0,ancho); + print_string(videomem,"(ESC to exit)",-1,52,12,0,ancho); + + retorno=ask_value(&address,84,65535); + + clean_screen(); + + if (retorno==2) { + return; + } + + if ((address<16384) && ((ordenador.mode128k != 3) || (1 != (ordenador.mport2 & 0x01)))) { + print_string(videomem,"That address is ROM memory.",-1,13,15,0,ancho); + continue; + } + + switch (address & 0x0C000) { + case 0x0000: + old_value= (*(ordenador.block0 + address)); + break; + + case 0x4000: + old_value= (*(ordenador.block1 + address)); + break; + + case 0x8000: + old_value= (*(ordenador.block2 + address)); + break; + + case 0xC000: + old_value= (*(ordenador.block3 + address)); + break; + default: + old_value=0; + break; + } + + print_string(videomem,"Type new value to POKE",-1,32,15,0,ancho); + print_string(videomem,"(ESC to cancel)",-1,52,12,0,ancho); + sprintf(string,"Address: %d; old value: %d\n",address,old_value); + print_string(videomem,string,-1,130,14,0,ancho); + + retorno=ask_value(&new_value,84,255); + + clean_screen(); + + if (retorno==2) { + continue; + } + + switch (address & 0x0C000) { + case 0x0000: + (*(ordenador.block0 + address))=new_value; + break; + + case 0x4000: + (*(ordenador.block1 + address))=new_value; + break; + + case 0x8000: + (*(ordenador.block2 + address))=new_value; + break; + + case 0xC000: + (*(ordenador.block3 + address))=new_value; + break; + default: + break; + } + + sprintf(string,"Set address %d from %d to %d\n",address,old_value,new_value); + print_string(videomem,string,-1,130,14,0,ancho); + + } +} + +// shows the tools menu + +void tools_menu() { + + unsigned char *fbuffer,fin; + int ancho=screen->w; + + fbuffer=screen->pixels; + + fin=1; + do { + clean_screen(); + + print_string(fbuffer,"Tools",-1,10,15,0,ancho); + + print_string(fbuffer,"1:",14,50,12,0,ancho); + print_string(fbuffer,"show keyboard template",62,50,15,0,ancho); + + print_string(fbuffer,"2:",14,90,12,0,ancho); + print_string(fbuffer,"insert POKEs",62,90,15,0,ancho); + + print_string(fbuffer,"ESC:",14,250,12,0,ancho); + print_string(fbuffer,"return emulator",78,250,15,0,ancho); + + print_copy(fbuffer,ancho); + + switch(wait_key()) { + case SDLK_ESCAPE: // to exit the help + fin=0; + break; + case SDLK_1: + fin=0; + keyboard_menu(); + break; + case SDLK_2: + fin=0; + do_poke(); + break; + default: + break; + } + + } while(fin); + + clean_screen(); +} + + + + +// shows the SNAPSHOTS menu + +void snapshots_menu() { + + unsigned char *fbuffer,fin; + int ancho=screen->w; + + fbuffer=screen->pixels; + + clean_screen(); + + print_string(fbuffer,"SNAPSHOTS",-1,10,15,0,ancho); + + print_string(fbuffer,"1:",14,100,12,0,ancho); + print_string(fbuffer,"load a Z80/SNA snapshot",62,100,15,0,ancho); + + if(ordenador.mode128k!=3) { // not in +3 mode + print_string(fbuffer,"2:",14,160,12,0,ancho); + print_string(fbuffer,"make a Z80 snapshot",62,160,15,0,ancho); + } else { + print_string(fbuffer,"Can't make snapshots in +3 mode",14,160,15,0,ancho); + } + + print_string(fbuffer,"3: \001\017load a SCR snapshot",14,220,12,0,ancho); + + print_string(fbuffer,"4: \001\017save a SCR snapshot",14,280,12,0,ancho); + + print_string(fbuffer,"ESC: \001\017return to emulator",-1,400,12,0,ancho); + + print_copy(fbuffer,ancho); + + fin=1; + do { + switch(wait_key()) { + case SDLK_ESCAPE: // to exit the help + fin=0; + break; + case SDLK_1: + fin=0; + load_z80file(); + break; + case SDLK_2: + fin=0; + if(ordenador.mode128k!=3) // not in +3 mode + save_z80file(); + break; + case SDLK_3: + fin=0; + load_scrfile(); + break; + case SDLK_4: + fin=0; + create_scrfile(); + break; + default: + break; + } + } while(fin); + clean_screen(); +} + + +// shows the TAPs menu + +void taps_menu() { + + unsigned char *fbuffer,fin; + int ancho=screen->w; + + fbuffer=screen->pixels; + + fin=1; + do { + clean_screen(); + + print_string(fbuffer,"TAP/TZX files",-1,10,15,0,ancho); + + print_string(fbuffer,"1:",14,50,12,0,ancho); + print_string(fbuffer,"select a TAP/TZX file",62,50,15,0,ancho); + + + print_string(fbuffer,"2:",14,90,12,0,ancho); + print_string(fbuffer,"rewind TAP/TZX file",62,90,15,0,ancho); + + print_string(fbuffer,"3:",14,130,12,0,ancho); + print_string(fbuffer,"fast/normal speed",62,130,15,0,ancho); + + print_string(fbuffer,"4:",14,170,12,0,ancho); + print_string(fbuffer,"write protection",62,170,15,0,ancho); + + print_string(fbuffer,"5:",14,210,12,0,ancho); + print_string(fbuffer,"create TAP file",62,210,15,0,ancho); + + print_string(fbuffer,"ESC:",14,250,12,0,ancho); + print_string(fbuffer,"return emulator",78,250,15,0,ancho); + + print_string(fbuffer,"Current TAP/TZX file is:",-1,300,12,0,ancho); + print_string(fbuffer,ordenador.current_tap,-1,320,12,0,ancho); + + print_copy(fbuffer,ancho); + + if(ordenador.tape_fast_load) + print_string(fbuffer,"Fast load enabled ",10,420,14,0,ancho); + else + print_string(fbuffer,"Fast load disabled ",10,420,14,0,ancho); + + if(ordenador.tape_write) + print_string(fbuffer,"Write enabled",390,420,14,0,ancho); + else + print_string(fbuffer,"Write disabled",390,420,14,0,ancho); + + switch(wait_key()) { + case SDLK_ESCAPE: // to exit the help + fin=0; + break; + case SDLK_1: + ordenador.pause=1; + select_tapfile(); + break; + case SDLK_2: + fin=0; + ordenador.pause=1; + if(ordenador.tap_file!=NULL) { + ordenador.tape_current_mode=TAP_TRASH; + rewind_tape(ordenador.tap_file,1); + } + sprintf(ordenador.osd_text,"Tape rewinded"); + ordenador.osd_time=50; + break; + case SDLK_3: + ordenador.pause=1; + ordenador.tape_fast_load=1-ordenador.tape_fast_load; + if(ordenador.tap_file!=NULL) { + ordenador.tape_current_mode=TAP_TRASH; + rewind_tape(ordenador.tap_file,1); + } + break; + case SDLK_4: + ordenador.tape_write=1-ordenador.tape_write; + break; + case SDLK_5: + create_tapfile(); + break; + default: + break; + } + + } while(fin); + + clean_screen(); +} + +// shows a menu to allow user to choose a tape file + +void select_tapfile() { + + unsigned char *videomem,*filename; + int ancho,retorno,retval; + unsigned char char_id[11]; + + videomem=screen->pixels; + ancho=screen->w; + + clean_screen(); + + if(ordenador.tap_file!=NULL) + rewind_tape(ordenador.tap_file,1); + + ordenador.tape_current_bit=0; + ordenador.tape_current_mode=TAP_TRASH; + + print_string(videomem,"Choose the TAPE file to load",-1,32,13,0,ancho); + + filename=select_file(path_taps,FILETYPE_TAP_TZX); + + if(filename==NULL) { // Aborted + clean_screen(); + return; + } + + if(ordenador.tap_file!=NULL) { + fclose(ordenador.tap_file); + } + + ordenador.tap_file=fopen(filename,"r+"); // read and write + ordenador.tape_write = 0; // by default, can't record + if(ordenador.tap_file==NULL) + retorno=-1; + else + retorno=0; + + clean_screen(); + + strcpy(ordenador.current_tap,filename); + + free(filename); + + switch(retorno) { + case 0: // all right + break; + case -1: + print_string(videomem,"Error: Can't load that file",-1,232,10,0,ancho); + print_string(videomem,"Press any key",-1,248,10,0,ancho); + ordenador.current_tap[0]=0; + wait_key(); + break; + } + + retval=fread(char_id,10,1,ordenador.tap_file); // read the (maybe) TZX header + if((!strncmp(char_id,"ZXTape!",7)) && (char_id[7]==0x1A)&&(char_id[8]==1)) { + ordenador.tape_file_type = TAP_TZX; + rewind_tape(ordenador.tap_file,1); + } else { + ordenador.tape_file_type = TAP_TAP; + rewind_tape(ordenador.tap_file,1); + } + + clean_screen(); +} + +void create_tapfile() { + + unsigned char *videomem; + int ancho,retorno; + unsigned char nombre2[1024]; + + videomem=screen->pixels; + ancho=screen->w; + + clean_screen(); + + print_string(videomem,"Choose a name for the TAP file",-1,32,14,0,ancho); + print_string(videomem,"(up to 30 characters)",-1,52,14,0,ancho); + + print_string(videomem,"TAP file will be saved in:",-1,132,12,0,ancho); + print_string(videomem,path_taps,0,152,12,0,ancho); + + + retorno=ask_filename(nombre2,84,"tap"); + + clean_screen(); + + if(retorno==2) // abort + return; + + if(ordenador.tap_file!=NULL) + fclose(ordenador.tap_file); + + ordenador.tap_file=fopen(nombre2,"r"); // test if it exists + if(ordenador.tap_file==NULL) + retorno=0; + else + retorno=-1; + + if(!retorno) { + ordenador.tap_file=fopen(nombre2,"a+"); // create for read and write + if(ordenador.tap_file==NULL) + retorno=-2; + else + retorno=0; + } + ordenador.tape_write=1; // allow to write + strcpy(ordenador.current_tap,nombre2); + ordenador.tape_file_type = TAP_TAP; + switch(retorno) { + case 0: + break; + case -1: + print_string(videomem,"File already exists",-1,80,10,0,ancho); + ordenador.current_tap[0]=0; + wait_key(); + break; + case -2: + print_string(videomem,"Can't create file",-1,80,10,0,ancho); + ordenador.current_tap[0]=0; + wait_key(); + break; + } + clean_screen(); +} + +// shows the microdrive menu + +void microdrive_menu() { + + unsigned char *fbuffer,fin; + int retval,ancho=screen->w; + + fbuffer=screen->pixels; + + fin=1; + do { + clean_screen(); + + print_string(fbuffer,"MICRODRIVE files",-1,10,15,0,ancho); + + print_string(fbuffer,"1:",14,50,12,0,ancho); + print_string(fbuffer,"select a MDR file",62,50,15,0,ancho); + + print_string(fbuffer,"2:",14,90,12,0,ancho); + print_string(fbuffer,"create a MDR file",62,90,15,0,ancho); + + print_string(fbuffer,"3:",14,130,12,0,ancho); + print_string(fbuffer,"write protection",62,130,15,0,ancho); + + print_string(fbuffer,"ESC:",14,170,12,0,ancho); + print_string(fbuffer,"return emulator",78,170,15,0,ancho); + + print_string(fbuffer,"Current MDR file is:",-1,300,12,0,ancho); + print_string(fbuffer,ordenador.mdr_current_mdr,-1,320,12,0,ancho); + + print_copy(fbuffer,ancho); + + if(!ordenador.mdr_cartridge[137922]) + print_string(fbuffer,"Write enabled",-1,420,14,0,ancho); + else + print_string(fbuffer,"Write disabled",-1,420,14,0,ancho); + + switch(wait_key()) { + case SDLK_ESCAPE: // to exit the help + fin=0; + break; + + case SDLK_1: + select_mdrfile(); + break; + case SDLK_2: + create_mdrfile(); + break; + case SDLK_3: + if(ordenador.mdr_cartridge[137922]) + ordenador.mdr_cartridge[137922]=0; + else + ordenador.mdr_cartridge[137922]=1; + ordenador.mdr_file=fopen(ordenador.mdr_current_mdr,"wb"); // create for write + if(ordenador.mdr_file!=NULL) { + retval=fwrite(ordenador.mdr_cartridge,137923,1,ordenador.mdr_file); // save cartridge + fclose(ordenador.mdr_file); + ordenador.mdr_file=NULL; + ordenador.mdr_modified=0; + } + break; + default: + break; + } + + } while(fin); + + clean_screen(); +} + +// shows a menu to allow user to choose a microdrive file + +void select_mdrfile() { + + unsigned char *videomem,*filename; + int ancho,retorno,retval; + // unsigned char char_id[11]; + + videomem=screen->pixels; + ancho=screen->w; + + clean_screen(); + + print_string(videomem,"Choose the MICRODRIVE file to load",-1,32,13,0,ancho); + + filename=select_file(path_mdrs,FILETYPE_MDR); // MDR files + + if(filename==NULL) { // Aborted + clean_screen(); + return; + } + + ordenador.mdr_file=fopen(filename,"rb"); // read + if(ordenador.mdr_file==NULL) + retorno=-1; + else { + retorno=0; + retval=fread(ordenador.mdr_cartridge,137923,1,ordenador.mdr_file); // read the cartridge in memory + ordenador.mdr_modified=0; // not modified + fclose(ordenador.mdr_file); + ordenador.mdr_tapehead=0; + } + + clean_screen(); + + strcpy(ordenador.mdr_current_mdr,filename); + + free(filename); + + switch(retorno) { + case 0: // all right + break; + case -1: + print_string(videomem,"Error: Can't load that file",-1,232,10,0,ancho); + print_string(videomem,"Press any key",-1,248,10,0,ancho); + ordenador.mdr_current_mdr[0]=0; + wait_key(); + break; + } + + clean_screen(); +} + +void create_mdrfile() { + + unsigned char *videomem; + int ancho,retorno,bucle,retval; + unsigned char nombre2[1024]; + + videomem=screen->pixels; + ancho=screen->w; + + clean_screen(); + + print_string(videomem,"Choose a name for the MDR file",-1,32,14,0,ancho); + print_string(videomem,"(up to 30 characters)",-1,52,14,0,ancho); + + print_string(videomem,"MDR file will be saved in:",-1,132,12,0,ancho); + print_string(videomem,path_mdrs,0,152,12,0,ancho); + + retorno=ask_filename(nombre2,84,"mdr"); + + clean_screen(); + + if(retorno==2) // abort + return; + + ordenador.mdr_file=fopen(nombre2,"r"); // test if it exists + if(ordenador.mdr_file==NULL) + retorno=0; + else + retorno=-1; + + if(!retorno) { + ordenador.mdr_file=fopen(nombre2,"wb"); // create for write + if(ordenador.mdr_file==NULL) + retorno=-2; + else { + for(bucle=0;bucle<137921;bucle++) + ordenador.mdr_cartridge[bucle]=0xFF; // erase cartridge + ordenador.mdr_cartridge[137922]=0; + retval=fwrite(ordenador.mdr_cartridge,137923,1,ordenador.mdr_file); // save cartridge + fclose(ordenador.mdr_file); + ordenador.mdr_file=NULL; + ordenador.mdr_modified=0; + retorno=0; + } + } + strcpy(ordenador.mdr_current_mdr,nombre2); + switch(retorno) { + case 0: + break; + case -1: + print_string(videomem,"File already exists",-1,80,10,0,ancho); + ordenador.mdr_current_mdr[0]=0; + wait_key(); + break; + case -2: + print_string(videomem,"Can't create file",-1,80,10,0,ancho); + ordenador.mdr_current_mdr[0]=0; + wait_key(); + break; + } + clean_screen(); +} + + +void create_scrfile() { + + unsigned char *videomem; + int ancho,retorno,retval; + unsigned char nombre2[1024]; + FILE *fichero; + + videomem=screen->pixels; + ancho=screen->w; + + clean_screen(); + + print_string(videomem,"Choose a name for the SCR file",-1,32,14,0,ancho); + print_string(videomem,"(up to 30 characters)",-1,52,14,0,ancho); + + print_string(videomem,"SCR file will be saved in:",-1,132,12,0,ancho); + print_string(videomem,path_mdrs,0,152,12,0,ancho); + + retorno=ask_filename(nombre2,84,"scr"); + + clean_screen(); + + if(retorno==2) // abort + return; + + fichero=fopen(nombre2,"r"); // test if it exists + if(fichero==NULL) + retorno=0; + else { + fclose(fichero); + retorno=-1; + } + + if(!retorno) { + fichero=fopen(nombre2,"wb"); // create for write + if(fichero==NULL) + retorno=-2; + else { + retval=fwrite(ordenador.block1+0x04000,6912,1,fichero); // save screen + if (ordenador.ulaplus!=0) { + retval=fwrite(ordenador.ulaplus_palete,64,1,fichero); // save ULAPlus palete + } + fclose(fichero); + retorno=0; + } + } + + switch(retorno) { + case -1: + print_string(videomem,"File already exists",-1,80,10,0,ancho); + wait_key(); + break; + case -2: + print_string(videomem,"Can't create file",-1,80,10,0,ancho); + wait_key(); + break; + default: + break; + } + clean_screen(); +} + + +int ask_filename(char *nombre_final,int y_coord,char *extension) { + + int longitud,retorno; + unsigned char nombre[37],nombre2[38]; + + unsigned char *videomem; + int ancho; + + videomem=screen->pixels; + ancho=screen->w; + + nombre[0]=127; + nombre[1]=0; + longitud=0; + retorno=0; + + do { + sprintf (nombre2, " %s.%s ", nombre,extension); + print_string (videomem, nombre2, -1, y_coord, 15, 0, ancho); + switch (wait_key ()) { + case SDLK_BACKSPACE: + if (longitud > 0) { + nombre[longitud]=0; + longitud--; + nombre[longitud]=127; + } + break; + case SDLK_ESCAPE: + retorno=2; + break; + case SDLK_RETURN: + retorno=1; + break; + case SDLK_a: + if (longitud < 30) { + nombre[longitud++]='a'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + case SDLK_b: + if (longitud < 30) { + nombre[longitud++]='b'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + case SDLK_c: + if (longitud < 30) { + nombre[longitud++]='c'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + case SDLK_d: + if (longitud < 30) { + nombre[longitud++]='d'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + case SDLK_e: + if (longitud < 30) { + nombre[longitud++]='e'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + case SDLK_f: + if (longitud < 30) { + nombre[longitud++]='f'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + case SDLK_g: + if (longitud < 30) { + nombre[longitud++]='g'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + case SDLK_h: + if (longitud < 30) { + nombre[longitud++]='h'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + case SDLK_i: + if (longitud < 30) { + nombre[longitud++]='i'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + case SDLK_j: + if (longitud < 30) { + nombre[longitud++]='j'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + case SDLK_k: + if (longitud < 30) { + nombre[longitud++]='k'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + case SDLK_l: + if (longitud < 30) { + nombre[longitud++]='l'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + case SDLK_m: + if (longitud < 30) { + nombre[longitud++]='m'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + case SDLK_n: + if (longitud < 30) { + nombre[longitud++]='n'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + case SDLK_o: + if (longitud < 30) { + nombre[longitud++]='o'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + case SDLK_p: + if (longitud < 30) { + nombre[longitud++]='p'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + case SDLK_q: + if (longitud < 30) { + nombre[longitud++]='q'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + case SDLK_r: + if (longitud < 30) { + nombre[longitud++]='r'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + case SDLK_s: + if (longitud < 30) { + nombre[longitud++]='s'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + case SDLK_t: + if (longitud < 30) { + nombre[longitud++]='t'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + case SDLK_u: + if (longitud < 30) { + nombre[longitud++]='u'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + case SDLK_v: + if (longitud < 30) { + nombre[longitud++]='v'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + case SDLK_w: + if (longitud < 30) { + nombre[longitud++]='w'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + case SDLK_x: + if (longitud < 30) { + nombre[longitud++]='x'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + case SDLK_y: + if (longitud < 30) { + nombre[longitud++]='y'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + case SDLK_z: + if (longitud < 30) { + nombre[longitud++]='z'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + case SDLK_0: + if (longitud < 30) { + nombre[longitud++]='0'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + case SDLK_1: + if (longitud < 30) { + nombre[longitud++]='1'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + case SDLK_2: + if (longitud < 30) { + nombre[longitud++]='2'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + case SDLK_3: + if (longitud < 30) { + nombre[longitud++]='3'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + case SDLK_4: + if (longitud < 30) { + nombre[longitud++]='4'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + case SDLK_5: + if (longitud < 30) { + nombre[longitud++]='5'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + case SDLK_6: + if (longitud < 30) { + nombre[longitud++]='6'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + case SDLK_7: + if (longitud < 30) { + nombre[longitud++]='7'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + case SDLK_8: + if (longitud < 30) { + nombre[longitud++]='8'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + case SDLK_9: + if (longitud < 30) { + nombre[longitud++]='9'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + case SDLK_MINUS: + if (longitud < 30) { + nombre[longitud++]='-'; + nombre[longitud]=127; + nombre[longitud + 1]=0; + } + break; + } + } while (!retorno); + + nombre[longitud]=0; // erase cursor + + longitud=strlen(path_snaps); + if((path_snaps[longitud-1]!='/')&&(longitud>1)) + sprintf(nombre_final,"%s/%s.%s",path_snaps,nombre,extension); // name + else + sprintf(nombre_final,"%s%s.%s",path_snaps,nombre,extension); + + return (retorno); +} + + + + +int ask_value(int *final_value,int y_coord,int max_value) { + + unsigned char nombre2[50]; + unsigned char *videomem; + int ancho,value,tmp,retorno; + + videomem=screen->pixels; + ancho=screen->w; + + retorno=0; + value=0; + do { + sprintf (nombre2, " %d\177 ", value); + print_string (videomem, nombre2, -1, y_coord, 15, 0, ancho); + switch (wait_key ()) { + case SDLK_BACKSPACE: + value/=10; + break; + case SDLK_ESCAPE: + retorno=2; + break; + case SDLK_RETURN: + retorno=1; + break; + case SDLK_0: + tmp=value * 10; + if (tmp <= max_value) { + value=tmp; + } + break; + case SDLK_1: + tmp=1+value * 10; + if (tmp <= max_value) { + value=tmp; + } + break; + case SDLK_2: + tmp=2+value * 10; + if (tmp <= max_value) { + value=tmp; + } + break; + case SDLK_3: + tmp=3+value * 10; + if (tmp <= max_value) { + value=tmp; + } + break; + case SDLK_4: + tmp=4+value * 10; + if (tmp <= max_value) { + value=tmp; + } + break; + case SDLK_5: + tmp=5+value * 10; + if (tmp <= max_value) { + value=tmp; + } + break; + case SDLK_6: + tmp=6+value * 10; + if (tmp <= max_value) { + value=tmp; + } + break; + case SDLK_7: + tmp=7+value * 10; + if (tmp <= max_value) { + value=tmp; + } + break; + case SDLK_8: + tmp=8+value * 10; + if (tmp <= max_value) { + value=tmp; + } + break; + case SDLK_9: + tmp=9+value * 10; + if (tmp <= max_value) { + value=tmp; + } + break; + } + } while (!retorno); + + *final_value=value; + + return (retorno); +} + + + + +// shows a menu to allow user to save a snapshot file + +void save_z80file() { + + unsigned char *videomem; + int ancho,retorno; + unsigned char nombre2[1024]; + + videomem=screen->pixels; + ancho=screen->w; + + clean_screen(); + + print_string(videomem,"Choose a name for the Z80 snapshot",-1,32,14,0,ancho); + print_string(videomem,"(up to 30 characters)",-1,52,14,0,ancho); + + print_string(videomem,"Snapshot will be saved in:",-1,132,12,0,ancho); + print_string(videomem,path_snaps,0,152,12,0,ancho); + + + retorno=ask_filename(nombre2,84,"z80"); + + clean_screen(); + + if(retorno==2) // abort + return; + + retorno=save_z80(nombre2); + switch(retorno) { + case 0: + break; + case -1: + print_string(videomem,"File already exists",-1,80,10,0,ancho); + wait_key(); + break; + case -2: + print_string(videomem,"Can't create file",-1,80,10,0,ancho); + wait_key(); + break; + } + clean_screen(); +} + +// shows a menu to allow user to load a snapshot file + +void load_z80file() { + + + unsigned char *videomem,*filename; + int ancho,retorno; + + videomem=screen->pixels; + ancho=screen->w; + + clean_screen(); + + print_string(videomem,"Choose the Z80 snapshot file to load",-1,32,13,0,ancho); + + filename=select_file(path_snaps,FILETYPE_Z80); + + if(filename==NULL) { // Aborted + clean_screen(); + return; + } + + retorno=load_z80(filename); + free(filename); + clean_screen(); + + switch(retorno) { + case 0: // all right + break; + case -1: + print_string(videomem,"Error: Can't load that file",-1,232,10,0,ancho); + print_string(videomem,"Press any key",-1,248,10,0,ancho); + wait_key(); + break; + case -2: + case -3: + print_string(videomem,"Error: unsuported snap file",-1,232,10,0,ancho); + print_string(videomem,"Press any key",-1,248,10,0,ancho); + wait_key(); + break; + } + clean_screen(); +} + + +void load_scrfile() { + + + unsigned char *videomem,*filename,value; + int ancho,retorno,loop; + FILE *fichero; + unsigned char paleta_tmp[64]; + + videomem=screen->pixels; + ancho=screen->w; + + clean_screen(); + + print_string(videomem,"Choose the SCR snapshot file to load",-1,32,13,0,ancho); + + filename=select_file(path_snaps,FILETYPE_SCR); + + if(filename==NULL) { // Aborted + clean_screen(); + return; + } + + ordenador.osd_text[0]=0; + fichero=fopen(filename,"rb"); + retorno=0; + if (!fichero) { + retorno=-1; + } else { + for(loop=0;loop<6912;loop++) { + if (1==fread(&value,1,1,fichero)) { + *(ordenador.block1 + 0x04000 + loop) = value; + } else { + retorno=-1; + break; + } + } + if (1==fread(paleta_tmp,64,1,fichero)) { + memcpy(ordenador.ulaplus_palete,paleta_tmp,64); + ordenador.ulaplus=1; + } else { + ordenador.ulaplus=0; + } + fclose(fichero); + } + + free(filename); + clean_screen(); + + switch(retorno) { + case 0: // all right + break; + default: + print_string(videomem,"Error: Can't load that file",-1,232,10,0,ancho); + print_string(videomem,"Press any key",-1,248,10,0,ancho); + wait_key(); + break; + } + clean_screen(); +} + + + +/* fills a FICHERO chained list with all the files and directories contained in PATH. + If KIND is 0, it returns only Snapshots, if is 1, it returns only TAPE files, and + if is 2, it returns only MDR files */ + +struct fichero *read_directory(char *cpath,enum LOAD_FILE_TYPES kind) { + + struct fichero *listhead,*listend; + struct dirent *entry; + DIR *directory; + struct stat estado; + unsigned char path[2049],fichero[2049],extension[5],found; + int bucle,length; + + strcpy(path,cpath); + if('/'!=path[strlen(path)-1]) + strcat(path,"/"); // add the final / to the path + + listhead=malloc(sizeof(struct fichero)); + strcpy(listhead->nombre,".."); + listhead->tipo=2; + listhead->next=NULL; + listend=listhead; + + directory=opendir(path); + if(directory==NULL) + return(listhead); // can't access the directory + + do { + entry=readdir(directory); + if((NULL!=entry)&&(strcmp(entry->d_name,"."))&&(strcmp(entry->d_name,".."))) { + strcpy(fichero,path); + strcat(fichero,entry->d_name); + stat(fichero,&estado); + found=0; // by default is not a valid file... + length=strlen(entry->d_name); + if(length>3) { + extension[4]=0; + for(bucle=0;bucle<4;bucle++) + extension[bucle]=entry->d_name[length-4+bucle]; // copy the 4 last chars of the file (the extension) + switch(kind) { + case FILETYPE_Z80: + if((!strcasecmp(extension,".z80"))||(!strcasecmp(extension,".sna"))) + found=1; // is a .z80 or SNA file + break; + case FILETYPE_TAP_TZX: + if((!strcasecmp(extension,".tap"))||(!strcasecmp(extension,".tzx"))) + found=1; // is a .tap file + break; + case FILETYPE_MDR: + if(!strcasecmp(extension,".mdr")) + found=1; // is a .mdr file + break; + case FILETYPE_SCR: + if(!strcasecmp(extension,".scr")) + found=1; // is a .mdr file + break; + default: + break; + } + } else + found=0; + if(((found)||(S_ISDIR(estado.st_mode)))&&('.'!=entry->d_name[0])) { // is a directory. We must add it + listend->next=malloc(sizeof(struct fichero)); + listend=listend->next; + listend->next=NULL; + strcpy(listend->nombrepath,fichero); + strcpy(listend->nombre,entry->d_name); + if(S_ISDIR(estado.st_mode)) + listend->tipo=1; // a directory + else + listend->tipo=0; // a file + } + } + } while(entry!=NULL); + closedir(directory); + return(listhead); +} + +// deletes a filelist tree, freeing the memory used by it + +void delete_filelist(struct fichero *filelist) { + + struct fichero *fl1,*fl2; + + fl1=fl2=filelist; + + while(fl1!=NULL) { + fl2=fl1->next; + free(fl1); + fl1=fl2; + } +} + + +/* allows user to choose a file from PATH. If KIND=0, only snapshots. If KIND=1, only + TAPE files */ + +char *select_file(char *path,enum LOAD_FILE_TYPES kind) { + + struct fichero *filelist,*fl2; + unsigned char fin,read,*salida; + int bucle,ancho,numitems,selected,from,longitud; + + salida=(unsigned char *)malloc(2049); + salida[0]=0; + + ancho=screen->w; + + fin=1; + read=1; + selected=0; + from=0; + numitems=0; + + filelist=NULL; + + do { + + if(read) { + filelist=read_directory(path,kind); + read=0; + + fl2=filelist; + numitems=0; + while(fl2!=NULL) { // counts the number of items + fl2=fl2->next; + numitems++; + } + selected=0; + from=0; + } + + print_files(filelist,from,selected); + + switch(wait_key()) { + case SDLK_ESCAPE: // to exit the help + fin=0; + break; + case SDLK_UP: + if(selected>0) { + selected--; + if(selected(from+23)) // 23 is the total of items that can be displayed + from++; + } + break; + case SDLK_PAGEUP: + for(bucle=0;bucle<15;bucle++) + if(selected>0) { + selected--; + if(selected(from+23)) // 23 is the total of items that can be displayed + from++; + } + break; + case SDLK_RETURN: + fl2=filelist; + if(selected!=0) + for(bucle=0;buclenext; + switch(fl2->tipo) { + case 0: // select file + strcpy(salida,fl2->nombrepath); + delete_filelist(filelist); + return(salida); // ends returning the filename + break; + case 1: // change directory + strcpy(path,fl2->nombrepath); // new path_taps is namepath + delete_filelist(filelist); // frees the memory + read=1; // and redisplay all the files + break; + case 2: // upper directory + longitud=strlen(path); + if(longitud<2) // there's no upper directory + break; + if('/'==path[longitud-1]) { // is the char ended in '/' ? + path[longitud-1]=0; // eliminated + longitud--; + } + while('/'!=path[longitud-1]) { + longitud--; + path[longitud]=0; + } + if(longitud>2) { // it's not the upper directory + longitud--; + path[longitud]=0; // delete the final '/' + } + read=1; + break; + default: + break; + } + break; + default: + break; + } + } while(fin); + + delete_filelist(filelist); + return(NULL); + +} + +void keyboard_menu() { + + FILE *fichero; + int bucle1,bucle2,retval; + unsigned char *buffer,*buffer2,valor; + + buffer=screen->pixels; + + clean_screen(); + fichero=myfopen("fbzx/keymap.bmp","r"); + if (fichero==NULL) { + strcpy(ordenador.osd_text,"Keymap picture not found"); + ordenador.osd_time=100; + return; + } + if (ordenador.zaurus_mini==0) { + for (bucle1=0;bucle1<344;bucle1++) + for(bucle2=0;bucle2<640;bucle2++) { + retval=fscanf(fichero,"%c",&valor); + paint_one_pixel(colors+valor,buffer); + buffer+=ordenador.bpp; + } + } else { + buffer+=(479*ordenador.bpp); + for(bucle1=0;bucle1<344;bucle1++) { + buffer2=buffer; + for(bucle2=0;bucle2<640;bucle2++) { + retval=fscanf(fichero,"%c",&valor); + paint_one_pixel(colors+valor,buffer); + buffer+=(480*ordenador.bpp); + } + buffer=buffer2-ordenador.bpp; + } + } + print_copy(screen->pixels,screen->w); + wait_key(); + clean_screen(); +} + + + +void clean_screen() { + + int bucle; + unsigned char *buffer; + + buffer=screen->pixels; + + for(bucle=0;bucle<((screen->h)*(screen->w)*(ordenador.bpp));bucle++) + *(buffer++)=0; + +} + +// waits for a keystroke and returns its value + +unsigned int wait_key() { + + char fin; + unsigned int temporal_io=0; + SDL_Event evento; + + fin=1; + + do { + SDL_Flip(ordenador.screen); + if(!SDL_WaitEvent(&evento)) + continue; + + if(evento.type!=SDL_KEYUP) + continue; + + fin=0; + + temporal_io=(unsigned int)evento.key.keysym.sym; + } while(fin); + + return (temporal_io); +} + +// shows the files from the number FROM, and marks the file number MARK + +void print_files(struct fichero *filelist,int from,int mark) { + + struct fichero *fl2; + int bucle,numitems,ancho,pos; + char ink1,ink2; + unsigned char spaces[39]=" "; + unsigned char namefile[2089]; + unsigned char *videomem; + + videomem=screen->pixels; + ancho=screen->w; + + fl2=filelist; + numitems=0; + + while(fl2!=NULL) { // counts the number of items + fl2=fl2->next; + numitems++; + } + + ink1=ink2=0; + + fl2=filelist; + pos=72; + for(bucle=0;bucle=from) { + strcpy(namefile,fl2->nombre); + strcat(namefile,spaces); + namefile[36]=0; // we print up to 36 chars + switch(fl2->tipo) { + case 0: // file + ink1=15; + ink2=0; + break; + case 1: // directory + ink1=12; + ink2=4; + break; + case 2: // parent directory + ink1=10; + ink2=2; + break; + } + if(bucle==mark) + print_string(videomem,namefile,-1,pos,ink2,15,ancho); + else + print_string(videomem,namefile,-1,pos,ink1,0,ancho); + pos+=16; + } + if((pos+16)>460) + break; // reached bottom part of the rectangle + fl2=fl2->next; + } + while((pos+16<460)) { + print_string(videomem,spaces,-1,pos,0,0,ancho); + pos+=16; + } +} diff --git a/src/menus.h b/src/menus.h new file mode 100644 index 0000000..99c4d31 --- /dev/null +++ b/src/menus.h @@ -0,0 +1,53 @@ +/* + * Copyright 2003-2011 (C) Raster Software Vigo (Sergio Costas) + * This file is part of FBZX + * + * FBZX 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. + * + * FBZX 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 . + * + */ + +struct fichero { + char nombre[256]; // filename (for files and directories) + char nombrepath[2049]; // filename with path + int tipo; // file type (0=file, 1=directory, 2=parent directory) + struct fichero *next; +}; + +enum LOAD_FILE_TYPES {FILETYPE_Z80, FILETYPE_TAP_TZX, FILETYPE_MDR, FILETYPE_SCR}; + +void clean_screen(); +void help_menu(); +void load_z80file(); +char *select_file(char *,enum LOAD_FILE_TYPES); +struct fichero *read_directory(char *,enum LOAD_FILE_TYPES); +unsigned int wait_key(); +void print_files(struct fichero *,int,int); +void delete_filelist(struct fichero *); +void select_tapfile(); +void save_z80file(); +void settings_menu(); +void snapshots_menu(); +void taps_menu(); +void create_tapfile(); +void select_mdrfile(); +void create_mdrfile(); +void microdrive_menu(); +void keyboard_menu(); +void load_scrfile(); +int ask_filename(char *nombre,int y_coord,char *extension); +void create_scrfile(); +void do_poke(); +int ask_value(int *final_value,int y_coord,int max_value); +void tools_menu(); +int launch_menu(unsigned int key_pressed); diff --git a/src/microdrive.c b/src/microdrive.c new file mode 100644 index 0000000..f999691 --- /dev/null +++ b/src/microdrive.c @@ -0,0 +1,176 @@ +/* + * Copyright 2003-2009 (C) Raster Software Vigo (Sergio Costas) + * This file is part of FBZX + * + * FBZX 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. + * + * FBZX is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "microdrive.h" +#include "computer.h" +#include "emulator.h" + +byte basura; + +void microdrive_init() { + + int bucle; + + basura = 0; + + ordenador.mdr_active = 0; + ordenador.mdr_paged = 0; + + for(bucle=0;bucle<137922;bucle++) + ordenador.mdr_cartridge[bucle]=0xFF; // cartridge erased + ordenador.mdr_cartridge[137922]=0; // but not write-protected + + ordenador.mdr_tapehead=0; + ordenador.mdr_drive=0; // no motor on + ordenador.mdr_old_STATUS=0x00; // default -> no down edge + ordenador.mdr_modified=0; // not modified + ordenador.mdr_current_mdr[0]=0; // no cartridge + +} + +void microdrive_reset() { + + ordenador.mdr_gap = 15; + ordenador.mdr_nogap = 15; + ordenador.mdr_tapehead = 0; // head is at start position + +} + +void microdrive_emulate(int tstados) { + // still nothing to do here + +} + +byte microdrive_in(word Port) { + + byte retorno; + + /* allow access to the port only if motor 1 is ON and there's a file open */ + + if(((Port|0xFFE7)==0xFFE7)&&(ordenador.mdr_drive==0x01)&&(ordenador.mdr_current_mdr[0])) { + if(ordenador.mdr_bytes11)&&(ordenador.mdr_bytes<(ordenador.mdr_maxbytes+12))) { + ordenador.mdr_cartridge[ordenador.mdr_tapehead]=(unsigned int) Value; + increment_head(); + ordenador.mdr_modified=1; + } + ordenador.mdr_bytes++; + return; + } + + if((Port|0xFFE7)==0xFFEF) { + if(((Value&0x02)==0)&&((ordenador.mdr_old_STATUS&0x02)==2)) { // edge down-> new bit for motor ON + ordenador.mdr_drive=((ordenador.mdr_drive<<1)&0xFE); // rotate one drive + if(!(Value&0x01)) // if COM DATA is 0, we add a 1 bit to mdr_drive + ordenador.mdr_drive|=0x01; + + if(ordenador.mdr_modified) { // if the cartridge has been modified, we store it in hard disk + ordenador.mdr_file=fopen(ordenador.mdr_current_mdr,"wb"); // create for write + if(ordenador.mdr_file==NULL) { + sprintf(ordenador.osd_text,"Can't store the cartridge"); + ordenador.osd_time=150; + } else { + retval=fwrite(ordenador.mdr_cartridge,137923,1,ordenador.mdr_file); // save cartridge + fclose(ordenador.mdr_file); + ordenador.mdr_file=NULL; + ordenador.mdr_modified=0; + } + } + } + ordenador.mdr_old_STATUS=Value; + microdrive_restart(); + return; + } + + if ((Port|0xFFE7)==0xFFF7) { + microdrive_restart(); + return; + } +} + +void increment_head() { // gets the tape head to the next byte + + ordenador.mdr_tapehead++; + if(ordenador.mdr_tapehead>137921) + ordenador.mdr_tapehead=0; +} + +void microdrive_restart() { // there's an access to a port. Reset counters and relocate the head + + //printf("Inicializado\n"); + + while(((ordenador.mdr_tapehead%543)!=0)&&((ordenador.mdr_tapehead%543)!=15)) + increment_head(); // put head in the start of a block + + ordenador.mdr_bytes = 0; // reset current number of bytes written + if((ordenador.mdr_tapehead%543)==0) + ordenador.mdr_maxbytes = 15; // up to 15 bytes for header blocks + else + ordenador.mdr_maxbytes = 528; // up to 528 bytes for data blocks + +} diff --git a/src/microdrive.h b/src/microdrive.h new file mode 100644 index 0000000..ac7bf04 --- /dev/null +++ b/src/microdrive.h @@ -0,0 +1,33 @@ +/* + * Copyright 2003-2009 (C) Raster Software Vigo (Sergio Costas) + * This file is part of FBZX + * + * FBZX 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. + * + * FBZX is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#ifndef H_MICRODRIVE +#define H_MICRODRIVE + +#include "z80free/Z80free.h" + +void microdrive_init(); +void microdrive_reset(); +byte microdrive_in(word); +void microdrive_out(word,byte); +void microdrive_emulate(int); +void increment_head(); +void microdrive_restart(); + +#endif diff --git a/src/sound.c b/src/sound.c new file mode 100644 index 0000000..f49a3de --- /dev/null +++ b/src/sound.c @@ -0,0 +1,476 @@ +/* + * Copyright 2003-2009 (C) Raster Software Vigo (Sergio Costas) + * This file is part of FBZX + * + * FBZX 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. + * + * FBZX is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "z80free/Z80free.h" +#include "computer.h" +#include "emulator.h" +#include +#include +#include + +char tabla[1024]; + +#include +#ifndef GEKKO +#include +#endif + +#ifdef DEBUG +extern FILE *fdebug; +#define printf(...) fprintf(fdebug,__VA_ARGS__); fflush (fdebug) +#endif + +/*#include +#include "SDL/SDL_audio.h" +#include "SDL_thread.h"*/ + +#include "sound.h" + +#ifdef D_SOUND_OSS +#include +int audio_fd; +#endif + +#ifdef D_SOUND_ALSA +#define ALSA_PCM_NEW_HW_PARAMS_API +#define ALSA_PCM_NEW_SW_PARAMS_API +#include +int started_sound; +snd_pcm_t * _soundDevice; +#endif + +#ifdef D_SOUND_PULSE +#include +pa_simple *pulse_s; +#endif + +enum e_soundtype sound_type; + +int sound_init() { + + if (sound_type!=SOUND_AUTOMATIC) { + switch(sound_type) { + case SOUND_NO: // No sound; simulate 8bits mono + printf("No Sound\n"); + ordenador.sign=0; + ordenador.format=0; + ordenador.channels=1; + ordenador.channels = 1; + ordenador.freq=48000; + ordenador.buffer_len=4800; // will wait 1/10 second + return (0); + break; +#ifdef D_SOUND_PULSE + case SOUND_PULSEAUDIO: + printf("Trying PulseAudio\n"); + if(0==sound_init_pulse()) { + sound_type=SOUND_PULSEAUDIO; + return 0; + } else { + printf("Failed\n"); + return -1; + } + break; +#endif +#ifdef D_SOUND_ALSA + case SOUND_ALSA: + printf("Trying ALSA sound\n"); + if(0==sound_init_alsa()) { + sound_type=SOUND_ALSA; + return 0; + } else { + printf("Failed\n"); + return -1; + } + break; +#endif +#ifdef D_SOUND_OSS + case SOUND_OSS: + printf("Trying OSS sound\n"); + if(0==sound_init_oss()) { + sound_type=SOUND_OSS; + return 0; + } else { + printf("Failed\n"); + return -1; + } + break; +#endif + default: + break; + } + } +#ifdef D_SOUND_PULSE + printf("Trying PulseAudio\n"); + if(0==sound_init_pulse()) { + sound_type=SOUND_PULSEAUDIO; + return 0; + } +#endif + +#ifdef D_SOUND_ALSA + printf("Trying ALSA sound\n"); + if(0==sound_init_alsa()) { + sound_type=SOUND_ALSA; + return 0; + } +#endif + +#ifdef D_SOUND_OSS + printf("Trying OSS sound\n"); + if(0==sound_init_oss()) { + sound_type=SOUND_OSS; + return 0; + } +#endif + + return -1; +} + +#ifdef D_SOUND_PULSE +int sound_init_pulse() { + + pa_sample_spec ss; + pa_buffer_attr buf; + + ss.format = PA_SAMPLE_U8; + ss.channels = 1; + ss.rate = 48000; + + buf.maxlength=8192; + buf.tlength=4096; + buf.prebuf=4096; + buf.minreq=4096; + buf.fragsize=4096; + + pulse_s = pa_simple_new(NULL,"fbzx",PA_STREAM_PLAYBACK,NULL,"Spectrum",&ss,NULL,&buf,NULL); + if (pulse_s==NULL) { + return -1; + } + ordenador.sign=0; + ordenador.format=0; + ordenador.channels=1; + ordenador.freq=48000; + ordenador.buffer_len=4096; + + return 0; + +} +#endif + +#ifdef D_SOUND_ALSA +int sound_init_alsa() { + + int err; + snd_pcm_hw_params_t *hw_params; + + unsigned int resample,samplerate; + snd_pcm_uframes_t bufferSize; + + err = snd_pcm_open( &_soundDevice, "plughw:0,0", SND_PCM_STREAM_PLAYBACK, 0 ); + if (err<0) { + return -1; + } + + if ((err = snd_pcm_hw_params_malloc (&hw_params)) < 0) { + snd_pcm_close (_soundDevice); + return -2; + } + + if ((err = snd_pcm_hw_params_any (_soundDevice, hw_params)) < 0) { + snd_pcm_close (_soundDevice); + return -2; + } + + + if ((err = snd_pcm_hw_params_set_access (_soundDevice, hw_params,SND_PCM_ACCESS_RW_INTERLEAVED)) < 0) { + snd_pcm_close (_soundDevice); + return -3; + } + + if (snd_pcm_hw_params_set_format (_soundDevice, hw_params,SND_PCM_FORMAT_U8) >= 0) { + ordenador.sign=0; + ordenador.format=0; + } else if (snd_pcm_hw_params_set_format (_soundDevice, hw_params,SND_PCM_FORMAT_S8) >= 0) { + ordenador.sign=-128; + ordenador.format=0; + } else if (snd_pcm_hw_params_set_format (_soundDevice, hw_params,SND_PCM_FORMAT_U16_LE) >= 0) { + ordenador.sign=0; + ordenador.format=1; + } else if (snd_pcm_hw_params_set_format (_soundDevice, hw_params,SND_PCM_FORMAT_S16_LE) >= 0) { + ordenador.sign=-128; + ordenador.format=1; + } else if (snd_pcm_hw_params_set_format (_soundDevice, hw_params,SND_PCM_FORMAT_U16_BE) >= 0) { + ordenador.sign=0; + ordenador.format=2; + } else if (snd_pcm_hw_params_set_format (_soundDevice, hw_params,SND_PCM_FORMAT_S16_BE) >= 0) { + ordenador.sign=-128; + ordenador.format=2; + } else { + snd_pcm_close (_soundDevice); + return -3; + } + + // Disable resampling. + resample = 0; + err = snd_pcm_hw_params_set_rate_resample(_soundDevice, hw_params, resample); + if (err < 0) { + snd_pcm_close (_soundDevice); + return -3; + } + + if ((err = snd_pcm_hw_params_set_channels (_soundDevice, hw_params, 1)) >= 0) { + ordenador.channels=1; + } else if ((err = snd_pcm_hw_params_set_channels (_soundDevice, hw_params, 2)) >= 0) { + ordenador.channels=2; + } else { + snd_pcm_close (_soundDevice); + return -3; + } + + samplerate=48000; + if ((err = snd_pcm_hw_params_set_rate_near (_soundDevice, hw_params, &samplerate, 0)) < 0) { + snd_pcm_close (_soundDevice); + return -3; + } + + bufferSize=4096; + if (snd_pcm_hw_params_set_buffer_size_near(_soundDevice, hw_params, &bufferSize) < 0) { + fprintf(stderr, "Error setting buffersize.\n"); + return -3; + } + + ordenador.freq=samplerate; + + err = snd_pcm_hw_params (_soundDevice, hw_params); + if (err<0) { + return -3; + } + //snd_pcm_hw_params_get_buffer_size( hw_params, &bufferSize ); + + ordenador.buffer_len=bufferSize; + + started_sound=0; + return 0; + + err = snd_pcm_prepare (_soundDevice); + if (err<0) { + return -5; + } + return 0; +} +#endif + +#ifdef D_SOUND_OSS +int sound_init_oss() { + + int parameter; + int parameter2; + int bytes,stereo; + int retval; + audio_buf_info bi; + + audio_fd=open("/dev/dsp",O_WRONLY); // open DSP + if(audio_fd==-1) { + return (-1); + } + + ordenador.sign=0; + ordenador.format=0; + bytes=1; + ordenador.channels=1; + ordenador.freq=22050; + ordenador.buffer_len=2048/(ordenador.channels*bytes); + + parameter=0x0002000C ; // two buffers with 4096 bytes each one + + if(ioctl(audio_fd,SNDCTL_DSP_SETFRAGMENT, ¶meter)==-1) + return (-6); + + // set format + + if(ioctl(audio_fd,SNDCTL_DSP_GETFMTS, ¶meter2)==-1) + return (-2); + parameter = 2; // we want mono audio + if(ioctl(audio_fd,SNDCTL_DSP_CHANNELS, ¶meter)==-1) + return (-4); + + ordenador.channels = parameter; + + // Priority: U8, S8, U16LE, S16LE, U16BE, U16LE + + if(parameter2 & AFMT_S16_BE) { + parameter = AFMT_S16_BE; + } + if(parameter2 & AFMT_U16_BE){ + parameter = AFMT_U16_BE; + } + if(parameter2 & AFMT_S16_LE) { + parameter = AFMT_S16_LE; + } + if(parameter2 & AFMT_U16_LE) { + parameter = AFMT_U16_LE; + } + if(parameter2 & AFMT_S8) { + parameter = AFMT_S8; + } + if(parameter2 & AFMT_U8) { + parameter = AFMT_U8; + } + + bytes=0; //8 bits + stereo=0; // no stereo + + retval=ioctl(audio_fd,SNDCTL_DSP_SETFMT,¶meter); + if(retval != 0) { + return (-3); + } + + switch(parameter) { + case AFMT_U8: + ordenador.sign=0; + ordenador.format=0; + bytes=1; + break; + case AFMT_S8: + ordenador.sign=-128; + ordenador.format=0; + bytes=1; + break; + case AFMT_U16_LE: + ordenador.sign=0; + ordenador.format=1; + bytes=2; + break; + case AFMT_S16_LE: + ordenador.sign=-128; + ordenador.format=1; + bytes=2; + break; + case AFMT_U16_BE: + ordenador.sign=0; + ordenador.format=2; + bytes=2; + break; + case AFMT_S16_BE: + ordenador.sign=-128; + ordenador.format=2; + bytes=2; + break; + } + + parameter=48000; // we want, by default, 48000 samples per second + if(ioctl(audio_fd,SNDCTL_DSP_SPEED, ¶meter)==-1) + return (-5); + ordenador.freq=parameter; + + if(ioctl(audio_fd,SNDCTL_DSP_GETOSPACE, &bi)==-1) + return (-6); + + parameter=bi.bytes/4; + ordenador.buffer_len=parameter/(ordenador.channels*bytes); + return(0); + +} +#endif + + +void sound_remove_dc(unsigned char *sound_buffer,int size){ + static float oldsample=0.0; + static float origsample; + static int i; + + for (i=0;i. + * + */ + +#ifndef SOUND_H +#define SOUND_H + +enum e_soundtype {SOUND_NO, SOUND_OSS, SOUND_ALSA, SOUND_PULSEAUDIO, SOUND_AUTOMATIC}; + +extern enum e_soundtype sound_type; + +int sound_init(); +void sound_play(); +void sound_close(); + +extern volatile unsigned char *sdl_sound_buffer; + +int sound_init_oss(); +int sound_init_alsa(); +int sound_init_pulse(); + +void sdlcallback(void *userdata, Uint8 *stream, int len); + +#endif diff --git a/src/spk_ay.c b/src/spk_ay.c new file mode 100644 index 0000000..5a72372 --- /dev/null +++ b/src/spk_ay.c @@ -0,0 +1,337 @@ +/* + * Copyright 2003-2009 (C) Raster Software Vigo (Sergio Costas) + * This file is part of FBZX + * + * FBZX 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. + * + * FBZX is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "emulator.h" +#include "sound.h" +#include + +/* emulates the AY-3-8912 during TSTADOS tstates */ + +inline void play_ay (unsigned int tstados) { + + if (!ordenador.ay_emul) + return; + + ordenador.tst_ay += tstados; + ordenador.tst_ay2 += tstados; + + if (ordenador.tst_ay2 > 255) { + ordenador.tst_ay2 -= 256; + if ((ordenador.ay_registers[11]) + || (ordenador.ay_registers[12])) { + if (ordenador.aych_envel) + ordenador.aych_envel--; + else { + ordenador.aych_envel = (((unsigned int) ordenador.ay_registers[11]) + 256 * ((unsigned int) (ordenador.ay_registers[12]))); + if (ordenador.ay_envel_way & 0x02) // start cycle? + switch ((ordenador. + ay_registers[13]) & 0x0F) + { + case 0: + case 1: + case 2: + case 3: + case 8: + case 9: + case 10: + case 11: + ordenador.ay_envel_way = 4; // cycle started and decrementing + ordenador.ay_envel_value = 16; + break; + default: + ordenador.ay_envel_way = 5; // cycle started and incrementing + ordenador.ay_envel_value = -1; + } + if (ordenador.ay_envel_way & 0x04) + { // cycle started? + switch ((ordenador. + ay_registers[13]) & 0x0F) + { + case 0: + case 1: + case 2: + case 3: + case 9: + ordenador.ay_envel_value--; + if (ordenador. + ay_envel_value == 0) + ordenador.ay_envel_way = 0; // end + break; + + case 4: + case 5: + case 6: + case 7: + case 15: + ordenador.ay_envel_value++; + if (ordenador. + ay_envel_value == 16) + { + ordenador. + ay_envel_value + = 0; + ordenador.ay_envel_way = 0; // end + } + break; + + case 8: + ordenador.ay_envel_value--; + if (ordenador.ay_envel_value == -1) + ordenador.ay_envel_value = 15; // repeat + break; + + case 10: + case 14: + if (ordenador.ay_envel_way & 0x01) + ordenador.ay_envel_value++; + else + ordenador.ay_envel_value--; + if (ordenador.ay_envel_value == 16) { + ordenador.ay_envel_value = 14; + ordenador.ay_envel_way =4; + } + if (ordenador.ay_envel_value == -1) { + ordenador.ay_envel_value = 1; + ordenador.ay_envel_way = 5; + } + break; + + case 11: + ordenador.ay_envel_value--; + if (ordenador.ay_envel_value == -1) { + ordenador.ay_envel_value = 15; + ordenador.ay_envel_way = 0; // end + } + break; + + case 12: + ordenador.ay_envel_value++; + if (ordenador.ay_envel_value == 16) + ordenador.ay_envel_value = 0; + break; + + case 13: + ordenador.ay_envel_value++; + if (ordenador.ay_envel_value == 15) + ordenador.ay_envel_way = 0; // end + break; + } + } + } + } + else + ordenador.ay_envel_value = 15; + } + + while (ordenador.tst_ay >= 16) + { + ordenador.tst_ay -= 16; + + if ((ordenador.ay_registers[0]) + || (ordenador.ay_registers[1])) + { + if (ordenador.aych_a) + ordenador.aych_a--; + else + { + ordenador.ayval_a = 1 - ordenador.ayval_a; + ordenador.aych_a = + (((unsigned int) ordenador. + ay_registers[0]) + + 256 * + ((unsigned + int) ((ordenador. + ay_registers[1]) & 0x0F))) / + 2; + } + } + else + ordenador.ayval_a = 0; + + if ((ordenador.ay_registers[2]) + || (ordenador.ay_registers[3])) + { + if (ordenador.aych_b) + ordenador.aych_b--; + else + { + ordenador.ayval_b = 1 - ordenador.ayval_b; + ordenador.aych_b = + (((unsigned int) ordenador. + ay_registers[2]) + + 256 * + ((unsigned + int) ((ordenador. + ay_registers[3]) & 0x0F))) / + 2; + } + } + else + ordenador.ayval_b = 0; + + if ((ordenador.ay_registers[4]) + || (ordenador.ay_registers[5])) + { + if (ordenador.aych_c) + ordenador.aych_c--; + else + { + ordenador.ayval_c = 1 - ordenador.ayval_c; + ordenador.aych_c = + (((unsigned int) ordenador. + ay_registers[4]) + + 256 * + ((unsigned + int) ((ordenador. + ay_registers[5]) & 0x0F))) / + 2; + } + } + else + ordenador.ayval_c = 0; + + if (ordenador.ay_registers[6]) + { + if (ordenador.aych_n) + ordenador.aych_n--; + else + { + ordenador.ayval_n = 1 - ordenador.ayval_n; + ordenador.aych_n = + ((((unsigned int) ordenador. + ay_registers[6]) & 0x1F) + + (rand () % 3)) / 2; + if (ordenador.aych_n > 16) + ordenador.aych_n = 16; + } + } + else + ordenador.ayval_n = 0; + + if (ordenador.ay_registers[8] & 0x10) + ordenador.vol_a = + (unsigned + char) ((((unsigned int) ordenador. + ay_envel_value)) * + (unsigned int) ordenador.volume) / 15; + else + ordenador.vol_a = + (unsigned + char) ((((unsigned int) (ordenador. + ay_registers[8] & + 0x0F)) * + (unsigned int) ordenador.volume) / + 15); + + if (ordenador.ay_registers[10] & 0x10) + ordenador.vol_c = + (unsigned + char) ((((unsigned int) ordenador. + ay_envel_value)) * + (unsigned int) ordenador.volume) / 15; + else + ordenador.vol_c = + (unsigned + char) ((((unsigned int) (ordenador. + ay_registers[10] & + 0x0F)) * + (unsigned int) ordenador.volume) / + 15); + + if (ordenador.ay_registers[9] & 0x10) + ordenador.vol_b = + (unsigned + char) ((((unsigned int) ordenador. + ay_envel_value)) * + (unsigned int) ordenador.volume) / 15; + else + ordenador.vol_b = + (unsigned + char) ((((unsigned int) (ordenador. + ay_registers[9] & + 0x0F)) * + (unsigned int) ordenador.volume) / + 15); + + } +} + + +/* Creates the sound buffer during the TSTADOS tstate that the Z80 used to + execute last instruction */ + +inline void play_sound (unsigned int tstados) { + + int bucle; + int value; + unsigned char sample_v; + + ordenador.tstados_counter_sound += tstados; + + while (ordenador.tstados_counter_sound >= ordenador.tst_sample) { + + ordenador.tstados_counter_sound -= ordenador.tst_sample; + if (sound_type!=1) + for (bucle = 0; bucle < ordenador.increment; bucle++) { + sample_v = ordenador.sample1b[bucle]; + if ((ordenador.sound_bit) && (sample_v)) { + ordenador.sound_current_value+=(ordenador.tst_sample/8); + if(ordenador.sound_current_value>ordenador.volume) + ordenador.sound_current_value = ordenador.volume; + } else { + if(ordenador.sound_current_value>=(ordenador.tst_sample/8)) + ordenador.sound_current_value-=((ordenador.tst_sample)/8); + else + ordenador.sound_current_value = 0; + } + value = ordenador.sound_current_value; + if (ordenador.ay_emul) { // if emulation is ON, emulate it + if ((ordenador.ayval_a) && (sample_v) + && (!(ordenador.ay_registers[7] & 0x01))) + value += (int) ordenador.vol_a; + if ((ordenador.ayval_b) && (sample_v) + && (!(ordenador.ay_registers[7] & 0x02))) + value += (int) ordenador.vol_b; + if ((ordenador.ayval_c) && (sample_v) + && (!(ordenador.ay_registers[7] & 0x04))) + value += (int) ordenador.vol_c; + if ((ordenador.ayval_n) && (sample_v) + && (!(ordenador.ay_registers[7] & 0x08))) + value += (int) ordenador.vol_a; + if ((ordenador.ayval_n) && (sample_v) + && (!(ordenador.ay_registers[7] & 0x10))) + value += (int) ordenador.vol_b; + if ((ordenador.ayval_n) && (sample_v) + && (!(ordenador.ay_registers[7] & 0x20))) + value += (int) ordenador.vol_c; + } + if (value > 255) + value = 255; + sample_v = (char)(value - (unsigned int)ordenador.sign); + *ordenador.current_buffer = 2*sample_v; + ordenador.current_buffer++; + } + ordenador.sound_cuantity++; + + if (ordenador.sound_cuantity == ordenador.buffer_len) { // buffer filled + sound_play(); + ordenador.sound_cuantity = 0; + } + } +} diff --git a/src/spk_ay.h b/src/spk_ay.h new file mode 100644 index 0000000..6db1ac0 --- /dev/null +++ b/src/spk_ay.h @@ -0,0 +1,26 @@ +/* + * Copyright 2003-2009 (C) Raster Software Vigo (Sergio Costas) + * This file is part of FBZX + * + * FBZX 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. + * + * FBZX is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#ifndef H_SPK_AY +#define H_SPK_AY + +inline void play_ay (unsigned int); +inline void play_sound (unsigned int); + +#endif; diff --git a/src/tape.c b/src/tape.c new file mode 100644 index 0000000..69593cf --- /dev/null +++ b/src/tape.c @@ -0,0 +1,771 @@ +/* + * Copyright 2003-2009 (C) Raster Software Vigo (Sergio Costas) + * This file is part of FBZX + * + * FBZX 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. + * + * FBZX is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "z80free/Z80free.h" +#include "computer.h" +#include "emulator.h" +#include "menus.h" +#include "tape.h" + +int elcontador=0; +int eltstado=0; +char elbit=0; + +/* reads a tape file and updates the readed bit */ + +inline void tape_read(FILE *fichero, int tstados) { + + if(ordenador.pause) + return; + + if(ordenador.tape_file_type == TAP_TAP) + tape_read_tap(fichero,tstados); + else + tape_read_tzx(fichero,tstados); + +} + +// manages TAP files in REAL_MODE + +inline void tape_read_tap (FILE * fichero, int tstados) { + + static unsigned char value, value2; + int retval; + + if (fichero == NULL) + return; + + if (!ordenador.pause) { + if (ordenador.tape_current_mode == TAP_TRASH) { // initialize a new block + retval=fread (&value, 1, 1, fichero); + retval=fread (&value2, 1, 1, fichero); // read block longitude + if (feof (fichero)) { + rewind_tape(fichero,1); + ordenador.tape_current_mode = TAP_TRASH; + return; + } + ordenador.tape_byte_counter = ((unsigned int) value) + 256 * ((unsigned int) value2); + retval=fread (&(ordenador.tape_byte), 1, 1, fichero); + ordenador.tape_bit = 0x80; + ordenador.tape_current_mode = TAP_GUIDE; + ordenador.tape_counter0 = 2168; + ordenador.tape_counter1 = 2168; + if (!(0x80 & ordenador.tape_byte)) + ordenador.tape_counter_rep = 3228; // 4 seconds + else + ordenador.tape_counter_rep = 1614; // 2 seconds + } + + // if there's a pulse still being reproduce, just reproduce it + + if (ordenador.tape_counter0) { + if (ordenador.tape_counter0 > tstados) { + ordenador.tape_readed = 0; // return 0 + ordenador.tape_counter0 -= tstados; // decrement counter; + return; + } else { + tstados -= ordenador.tape_counter0; + ordenador.tape_counter0 = 0; + } + } + + ordenador.tape_readed = 1; // return 1 + if (ordenador.tape_counter1) { + if (ordenador.tape_counter1 > tstados) { + ordenador.tape_counter1 -= tstados; // decrement counter; + return; + } else { + tstados -= ordenador.tape_counter1; + ordenador.tape_counter1 = 0; + ordenador.tape_readed = 0; // return 0 + } + } + + // pulse ended + + switch (ordenador.tape_current_mode) { + case TAP_GUIDE: // guide tone + if (ordenador.tape_counter_rep) { // still into guide tone + ordenador.tape_counter_rep--; + ordenador.tape_counter0 = 2168 - tstados; + ordenador.tape_counter1 = 2168; // new pulse + return; + } else { // guide tone ended. send sync tone + ordenador.tape_counter0 = 667 - tstados; + ordenador.tape_counter1 = 735; // new pulse + ordenador.tape_current_mode = TAP_DATA; // data mode + ordenador.tape_bit = 0x80; // from bit0 to bit7 + return; + } + break; + case TAP_DATA: // data + if (ordenador.tape_byte & ordenador.tape_bit) { // next bit is 1 + ordenador.tape_counter0 = 1710 - tstados; + ordenador.tape_counter1 = 1710; + } else { + ordenador.tape_counter0 = 851 - tstados; + ordenador.tape_counter1 = 852; + } + ordenador.tape_bit = ((ordenador.tape_bit >> 1) & 0x7F); // from bit0 to bit7 + if (!ordenador.tape_bit) { + ordenador.tape_byte_counter--; + if (!ordenador.tape_byte_counter) { // ended the block + ordenador.tape_current_mode = TAP_PAUSE; // pause + ordenador.tape_readed = 0; + ordenador.tape_counter_rep = 3500000; // 1 seconds + return; + } + ordenador.tape_bit = 0x80; + retval=fread (&(ordenador.tape_byte), 1, 1, fichero); // read next byte + if (feof (fichero)) { + rewind_tape(fichero,0); + ordenador.tape_current_mode = TAP_STOP; // stop tape + return; + } + } + break; + case TAP_PAUSE: // pause + ordenador.tape_readed = 0; + if (ordenador.tape_counter_rep > tstados) { + ordenador.tape_counter_rep -= tstados; + } else { + ordenador.tape_counter_rep = 0; + ordenador.tape_current_mode = TAP_TRASH; // read new block + } + return; + break; + case TAP_STOP: + ordenador.tape_current_mode = TAP_TRASH; // initialize + ordenador.pause = 1; // pause it + break; + default: + break; + } + } +} + +// manages TZX files + +inline void tape_read_tzx (FILE * fichero, int tstados) { + + static unsigned char value, value2,value3,value4,done; + static unsigned int bucle,bucle2; + int retval; + + if ((fichero == NULL)||(ordenador.pause)) + return; + + if (ordenador.tape_current_mode == TAP_TRASH) { // initialize a new block + done = 0; + do { + retval=fread(&value,1,1,fichero); // read block ID + //printf("ID: %X en %d\n",value,ftell(fichero)); + if(feof(fichero)) + done = 1; + else + switch(value) { + case 0x10: // classic tape block + done = 1; + bucle = 0; + ordenador.tape_current_bit = 0; + ordenador.tape_bit0_level = 852; + ordenador.tape_bit1_level = 1710; + ordenador.tape_bits_at_end = 8; + ordenador.tape_block_level = 2168; + ordenador.tape_sync_level0 = 667; + ordenador.tape_sync_level1 = 735; + + retval=fread(&value2,1,1,fichero); + retval=fread(&value3,1,1,fichero); // pause length + ordenador.tape_pause_at_end = ((unsigned int) value2) + 256 * ((unsigned int) value3); + if(ordenador.tape_pause_at_end==0) + ordenador.tape_pause_at_end=10; // to avoid problems + ordenador.tape_pause_at_end *= 3500; + retval=fread (&value, 1, 1, fichero); + + retval=fread (&value2, 1, 1, fichero); // read block longitude + if (feof (fichero)) { + rewind_tape(fichero,1); + ordenador.tape_current_bit = 0; + ordenador.tape_current_mode = TAP_TRASH; + for(bucle=0;bucle<10;bucle++) + retval=fread(&value3,1,1,fichero); // jump over the header + return; + } + ordenador.tape_byte_counter = ((unsigned int) value) + 256 * ((unsigned int) value2); + retval=fread (&(ordenador.tape_byte), 1, 1, fichero); + ordenador.tape_bit = 0x80; + ordenador.tape_current_mode = TAP_GUIDE; + ordenador.tape_counter0 = 2168; + ordenador.tape_counter1 = 2168; + if (!(0x80 & ordenador.tape_byte)) + ordenador.tape_counter_rep = 3228; // 4 seconds + else + ordenador.tape_counter_rep = 1614; // 2 seconds + break; + + case 0x11: // turbo tape block + done = 1; + bucle = 0; + + retval=fread(&value2,1,1,fichero); + retval=fread(&value3,1,1,fichero); + ordenador.tape_block_level = ((unsigned int) value2) + 256 * ((unsigned int) value3); + retval=fread(&value2,1,1,fichero); + retval=fread(&value3,1,1,fichero); + ordenador.tape_sync_level0 = ((unsigned int) value2) + 256 * ((unsigned int) value3); + retval=fread(&value2,1,1,fichero); + retval=fread(&value3,1,1,fichero); + ordenador.tape_sync_level1 = ((unsigned int) value2) + 256 * ((unsigned int) value3); + retval=fread(&value2,1,1,fichero); + retval=fread(&value3,1,1,fichero); + ordenador.tape_bit0_level = ((unsigned int) value2) + 256 * ((unsigned int) value3); + retval=fread(&value2,1,1,fichero); + retval=fread(&value3,1,1,fichero); + ordenador.tape_bit1_level = ((unsigned int) value2) + 256 * ((unsigned int) value3); + retval=fread(&value2,1,1,fichero); + retval=fread(&value3,1,1,fichero); + ordenador.tape_counter_rep = ((unsigned int) value2) + 256 * ((unsigned int) value3); + ordenador.tape_counter_rep /=2; + retval=fread(&value2,1,1,fichero); + ordenador.tape_bits_at_end = value2; + + retval=fread(&value2,1,1,fichero); + retval=fread(&value3,1,1,fichero); // pause length + ordenador.tape_pause_at_end = ((unsigned int) value2) + 256 * ((unsigned int) value3); + + + if(ordenador.tape_pause_at_end==0) + ordenador.tape_pause_at_end=10; // to avoid problems + ordenador.tape_pause_at_end *= 3500; + + retval=fread (&value, 1, 1, fichero); + retval=fread (&value2, 1, 1, fichero); + retval=fread (&value3, 1, 1, fichero); // read block longitude + ordenador.tape_byte_counter = ((unsigned int) value) + 256 * ((unsigned int) value2) + 65536* ((unsigned int) value3); + + if (feof (fichero)) { + rewind_tape(fichero,1); + ordenador.tape_current_bit = 0; + ordenador.tape_current_mode = TAP_TRASH; + return; + } + + retval=fread (&(ordenador.tape_byte), 1, 1, fichero); + ordenador.tape_bit = 0x80; + ordenador.tape_current_mode = TAP_GUIDE; + ordenador.tape_counter0 = ordenador.tape_block_level; + ordenador.tape_counter1 = ordenador.tape_block_level; + ordenador.tape_current_bit = 0; + break; + + case 0x12: // pure tone + done = 1; + retval=fread(&value2,1,1,fichero); + retval=fread(&value3,1,1,fichero); // length of pulse in T-states + ordenador.tape_block_level = ((unsigned int) value2) + 256 * ((unsigned int) value3); + ordenador.tape_counter0 = ordenador.tape_block_level; + ordenador.tape_counter1 = 0; + retval=fread(&value2,1,1,fichero); + retval=fread(&value3,1,1,fichero); // number of pulses + ordenador.tape_counter_rep = ((unsigned int) value2) + 256 * ((unsigned int) value3); + if(ordenador.tape_counter_rep == 0) + done = 0; + ordenador.tape_current_mode = TZX_PURE_TONE; + break; + + case 0x13: // multiple pulses + done=1; + retval=fread(&value2,1,1,fichero); // number of pulses + ordenador.tape_counter_rep = ((unsigned int) value2); + if(ordenador.tape_counter_rep == 0) + done = 0; + else { + retval=fread(&value2,1,1,fichero); + retval=fread(&value3,1,1,fichero); // length of pulse in T-states + ordenador.tape_counter0 = ((unsigned int) value2) + 256 * ((unsigned int) value3); + ordenador.tape_counter1 = 0; + ordenador.tape_current_mode = TZX_SEQ_PULSES; + } + break; + + case 0x14: // turbo tape block + done = 1; + bucle = 0; + ordenador.tape_current_bit = 0; + retval=fread(&value2,1,1,fichero); + retval=fread(&value3,1,1,fichero); + ordenador.tape_bit0_level = ((unsigned int) value2) + 256 * ((unsigned int) value3); + retval=fread(&value2,1,1,fichero); + retval=fread(&value3,1,1,fichero); + ordenador.tape_bit1_level = ((unsigned int) value2) + 256 * ((unsigned int) value3); + retval=fread(&value2,1,1,fichero); + ordenador.tape_bits_at_end = value2; + retval=fread(&value2,1,1,fichero); + retval=fread(&value3,1,1,fichero); // pause length + ordenador.tape_pause_at_end = ((unsigned int) value2) + 256 * ((unsigned int) value3); + /*if(ordenador.tape_pause_at_end==0) + ordenador.tape_pause_at_end=10;*/ // to avoid problems + ordenador.tape_pause_at_end *= 3500; + retval=fread (&value, 1, 1, fichero); + retval=fread (&value2, 1, 1, fichero); + retval=fread (&value3,1,1,fichero); // read block longitude + if (feof (fichero)) { + rewind_tape(fichero,1); + ordenador.tape_current_bit = 0; + ordenador.tape_current_mode = TAP_TRASH; + return; + } + ordenador.tape_byte_counter = ((unsigned int) value) + 256 * ((unsigned int) value2) + 65536*((unsigned int)value3); + ordenador.tape_bit = 0x80; + retval=fread (&(ordenador.tape_byte), 1, 1, fichero); // read next byte + if((ordenador.tape_byte_counter==1)&&(ordenador.tape_bits_at_end!=8)) { // last byte + for(bucle=ordenador.tape_bits_at_end;bucle<8;bucle++) { + ordenador.tape_byte=((ordenador.tape_byte>>1)&0x7F); + ordenador.tape_bit = ((ordenador.tape_bit>>1)&0x7F); + } + } + ordenador.tape_current_mode = TAP_DATA; + ordenador.tape_counter0 = 0; + ordenador.tape_counter1 = 0; + ordenador.tape_counter_rep = 0; + break; + + case 0x20: // pause + done = 1; + retval=fread(&value2,1,1,fichero); + retval=fread(&value3,1,1,fichero); // pause length + ordenador.tape_counter_rep = ((unsigned int) value2) + 256 * ((unsigned int) value3); + ordenador.tape_readed = 0; + ordenador.tape_counter0 = 0; + ordenador.tape_counter1 = 0; // 1ms of inversed pulse + if(ordenador.tape_counter_rep == 0) { + ordenador.tape_current_mode = TAP_PAUSE2; // initialize + ordenador.tape_byte_counter = 31500; + break; + } + ordenador.tape_counter_rep *= 3500; + ordenador.tape_current_mode = TAP_PAUSE; + break; + + case 0x21: // group start + retval=fread(&value2,1,1,fichero); + bucle2=(unsigned int) value2; + for(bucle=0;bucle tstados) { + ordenador.tape_readed = ordenador.tape_current_bit; // return current + ordenador.tape_counter0 -= tstados; // decrement counter; + return; + } else { + tstados -= ordenador.tape_counter0; + ordenador.tape_counter0 = 0; + } + } + + ordenador.tape_readed = 1 - ordenador.tape_current_bit; // return oposite current + if (ordenador.tape_counter1) { + if (ordenador.tape_counter1 > tstados) { + ordenador.tape_counter1 -= tstados; // decrement counter; + return; + } else { + tstados -= ordenador.tape_counter1; + ordenador.tape_counter1 = 0; + ordenador.tape_readed = ordenador.tape_current_bit; // return current + } + } + + // pulse ended + + switch (ordenador.tape_current_mode) { + case TAP_FINAL_BIT: + ordenador.tape_current_mode = TAP_TRASH; + break; + case TAP_GUIDE: // guide tone + if (ordenador.tape_counter_rep) { // still into guide tone + ordenador.tape_counter_rep--; + ordenador.tape_counter0 = ordenador.tape_block_level - tstados; + ordenador.tape_counter1 = ordenador.tape_block_level; // new pulse + return; + } else { // guide tone ended. send sync tone + ordenador.tape_counter0 = ordenador.tape_sync_level0 - tstados; + ordenador.tape_counter1 = ordenador.tape_sync_level0; // new pulse + ordenador.tape_current_mode = TAP_DATA; // data mode + ordenador.tape_bit = 0x80; // from bit0 to bit7 + if((ordenador.tape_byte_counter==1)&&(ordenador.tape_bits_at_end!=8)) { // last byte + for(bucle=ordenador.tape_bits_at_end;bucle<8;bucle++) { + ordenador.tape_byte=((ordenador.tape_byte>>1)&0x7F); + ordenador.tape_bit = ((ordenador.tape_bit>>1)&0x7F); + } + } + return; + } + break; + case TAP_DATA: // data + if (ordenador.tape_byte & ordenador.tape_bit) { // next bit is 1 + ordenador.tape_counter0 = ordenador.tape_bit1_level - tstados; + ordenador.tape_counter1 = ordenador.tape_bit1_level; + } else { + ordenador.tape_counter0 = ordenador.tape_bit0_level - tstados; + ordenador.tape_counter1 = ordenador.tape_bit0_level; + } + ordenador.tape_bit = ((ordenador.tape_bit >> 1) & 0x7F); // from bit0 to bit7 + if (!ordenador.tape_bit) { + ordenador.tape_byte_counter--; + if (!ordenador.tape_byte_counter) { // ended the block + if(ordenador.tape_pause_at_end) { + ordenador.tape_current_mode = TAP_PAUSE3; // pause + ordenador.tape_counter_rep = ordenador.tape_pause_at_end; + } else + ordenador.tape_current_mode = TAP_FINAL_BIT; + return; + } + ordenador.tape_bit = 0x80; + retval=fread (&(ordenador.tape_byte), 1, 1, fichero); // read next byte + if (feof (fichero)) { + rewind_tape (fichero,0); + ordenador.tape_current_bit = 0; + ordenador.tape_current_mode = TAP_STOP; // stop tape + return; + } + if((ordenador.tape_byte_counter==1)&&(ordenador.tape_bits_at_end!=8)) { // last byte + for(bucle=ordenador.tape_bits_at_end;bucle<8;bucle++) { + ordenador.tape_byte=((ordenador.tape_byte>>1)&0x7F); + ordenador.tape_bit = ((ordenador.tape_bit>>1)&0x7F); + } + } + } + break; + + case TAP_PAUSE3: // one pulse of 1 ms for ending the bit + ordenador.tape_counter0 = 3500; // 1 ms + ordenador.tape_counter1 = 0; + ordenador.tape_current_mode = TAP_PAUSE; + break; + + case TAP_PAUSE: // pause + ordenador.tape_readed = 0; + ordenador.tape_current_bit = 0; + if (ordenador.tape_counter_rep > tstados) { + ordenador.tape_counter_rep -= tstados; + } else { + ordenador.tape_counter_rep = 0; + ordenador.tape_current_mode = TAP_TRASH; // read new block + } + break; + case TAP_PAUSE2: // pause and stop + ordenador.tape_readed = 0; + ordenador.tape_current_bit = 0; + if (ordenador.tape_counter_rep > tstados) { + ordenador.tape_counter_rep -= tstados; + } else { + ordenador.tape_counter_rep = 0; + ordenador.tape_current_mode = TAP_TRASH; // read new block + ordenador.pause = 1; + } + break; + case TZX_PURE_TONE: + ordenador.tape_counter_rep--; + ordenador.tape_current_bit = 1 - ordenador.tape_current_bit; // invert current bit + if (ordenador.tape_counter_rep) { // still into guide tone + ordenador.tape_counter0 = ordenador.tape_block_level - tstados; + ordenador.tape_counter1 = 0; // new pulse + } else + ordenador.tape_current_mode = TAP_TRASH; // next ID + break; + case TZX_SEQ_PULSES: + ordenador.tape_current_bit = 1 - ordenador.tape_current_bit; // invert current bit + ordenador.tape_counter_rep--; + if(ordenador.tape_counter_rep) { + retval=fread(&value2,1,1,fichero); + retval=fread(&value3,1,1,fichero); // length of pulse in T-states + ordenador.tape_counter0 = ((unsigned int) value2) + 256 * ((unsigned int) value3); + ordenador.tape_counter1 = 0; + } else + ordenador.tape_current_mode = TAP_TRASH; // next ID + break; + + case TAP_STOP: + ordenador.tape_current_bit = 0; + ordenador.tape_current_mode = TAP_TRASH; // initialize + ordenador.pause = 1; // pause it + break; + default: + break; + } +} + +void rewind_tape(FILE *fichero,unsigned char pause) { + + int thebucle; + unsigned char value; + int retval; + + rewind (ordenador.tap_file); + if(ordenador.tape_file_type==TAP_TZX) + for(thebucle=0;thebucle<10;thebucle++) + retval=fread(&value,1,1,ordenador.tap_file); // jump over the header + ordenador.pause=pause; +} + +unsigned char file_empty(FILE *fichero) { + + long position,position2; + + position=ftell(fichero); + fseek(fichero,0,SEEK_END); // set the pointer at end + position2=ftell(fichero); + fseek(fichero,position,SEEK_SET); // return the pointer to the original place + if(position2==0) + return 1; // empty file + else + return 0; +} + +void save_file(FILE *fichero) { + + long position; + unsigned char xor,salir; + byte dato; + int longitud; + + position=ftell(fichero); // store current position + fseek(fichero,0,SEEK_END); // put position at end + xor=0; + + longitud=(int)(procesador.Rm.wr.DE); + longitud+=2; + + dato=(byte)(longitud%256); + fprintf(fichero,"%c",dato); + dato=(byte)(longitud/256); + fprintf(fichero,"%c",dato); // file length + + fprintf(fichero,"%c",procesador.Rm.br.A); // flag + + xor^=procesador.Rm.br.A; + + salir = 0; + do { + if (procesador.Rm.wr.DE == 0) + salir = 2; + if (!salir) { + dato=Z80free_Rd(procesador.Rm.wr.IX); // read data + fprintf(fichero,"%c",dato); + xor^=dato; + procesador.Rm.wr.IX++; + procesador.Rm.wr.DE--; + } + } while (!salir); + fprintf(fichero,"%c",xor); + procesador.Rm.wr.IX++; + procesador.Rm.wr.IX++; + fseek(fichero,position,SEEK_SET); // put position at end + + if(ordenador.tape_fast_load==1) //if we want fast load, we assume we want fast save too + ordenador.other_ret = 1; // next instruction must be RET + + return; +} + +void fastload_block (FILE * fichero) { + + unsigned int longitud; + unsigned char value[65536], salir,empty,flag_found; + unsigned int veces; + int retval; + + ordenador.other_ret = 1; // next instruction must be RET + + if (!(procesador.Rm.br.F & F_C)) { // if Carry=0, is VERIFY, so return OK + procesador.Rm.br.F |= F_C; // verify OK + procesador.Rm.wr.IX += procesador.Rm.wr.DE; + procesador.Rm.wr.DE = 0; + return; + } + + empty=file_empty(fichero); + + + if ((fichero == NULL)||(empty)) { + procesador.Rm.br.F &= (~F_C); // Load error + procesador.Rm.wr.IX += procesador.Rm.wr.DE; + procesador.Rm.wr.DE = 0; + if(empty) + sprintf (ordenador.osd_text, "Tape file empty"); + else + sprintf (ordenador.osd_text, "No tape selected"); + ordenador.osd_time = 100; + return; + } + + veces=0; + + flag_found=0; + do { + retval=fread (value, 2, 1, fichero); // read length of current block + if (feof (fichero)) { // end of file? + veces++; // one more time rewinded + sprintf (ordenador.osd_text, "Tape rewind"); + ordenador.osd_time = 100; + rewind (fichero); // again + retval=fread (value, 2, 1, fichero); // read length of current block + } + longitud = ((unsigned int) value[0]) + 256 * ((unsigned int) value[1]); + retval=fread (value, 1, 1, fichero); // read flag byte + longitud--; + if (value[0] != procesador.Rm.br.A) { // different flag + retval=fread (value, longitud, 1, fichero); // jump to the next block + if (veces==3) { // tape rewinded three times? Block with that flag not found. + sprintf(ordenador.osd_text,"Block with right flag not found"); + ordenador.osd_time = 100; + procesador.Rm.br.F &= (~F_C); // Load error + return; + } + } else + flag_found = 1; + } while(flag_found == 0); + + salir = 0; + do { + if (longitud == 0) + salir = 1; + if (procesador.Rm.wr.DE == 0) + salir = 2; + if (!salir) { + retval=fread (value, 1, 1, fichero); // read byte + Z80free_Wr (procesador.Rm.wr.IX, (byte) value[0]); // store the byte + procesador.Rm.wr.IX++; + procesador.Rm.wr.DE--; + longitud--; + } + } + while (!salir); + + clean_screen (); + + if (salir == 1) { // system wants to load more bytes that the existent + procesador.Rm.br.F &= (~F_C); // Load error + return; + } + + if ((salir == 2) && (longitud != 1)) { // there are more bytes to load + procesador.Rm.br.F &= (~F_C); // Load error + if (longitud > 1) + retval=fread (value, longitud, 1, fichero); // jump to the next block + return; + } + + retval=fread (value, 1, 1, fichero); // jump over the checksum + procesador.Rm.br.F |= F_C; // Load OK + return; + +} diff --git a/src/tape.h b/src/tape.h new file mode 100644 index 0000000..b277a08 --- /dev/null +++ b/src/tape.h @@ -0,0 +1,31 @@ +/* + * Copyright 2003-2009 (C) Raster Software Vigo (Sergio Costas) + * This file is part of FBZX + * + * FBZX 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. + * + * FBZX is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#ifndef H_TAPE +#define H_TAPE + +inline void tape_read(FILE *, int); +inline void tape_read_tap(FILE *, int); +inline void tape_read_tzx(FILE *, int); +void rewind_tape(FILE *,unsigned char); +unsigned char file_empty(FILE *); +void fastload_block (FILE *); +void save_file(FILE *); + +#endif diff --git a/src/z80free/COPYING b/src/z80free/COPYING new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/src/z80free/COPYING @@ -0,0 +1,674 @@ + 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 +. diff --git a/src/z80free/Makefile b/src/z80free/Makefile new file mode 100644 index 0000000..ef36b09 --- /dev/null +++ b/src/z80free/Makefile @@ -0,0 +1,141 @@ +#--------------------------------------------------------------------------------- +# Clear the implicit built in rules +#--------------------------------------------------------------------------------- +.SUFFIXES: +#--------------------------------------------------------------------------------- +ifeq ($(strip $(DEVKITPPC)),) +$(error "Please set DEVKITPPC in your environment. export DEVKITPPC=devkitPPC") +endif + +include $(DEVKITPPC)/wii_rules + +#--------------------------------------------------------------------------------- +# TARGET is the name of the output +# BUILD is the directory where object files & intermediate files will be placed +# SOURCES is a list of directories containing source code +# INCLUDES is a list of directories containing extra header files +#--------------------------------------------------------------------------------- +TARGET := z80_test +BUILD := build +SOURCES := . +DATA := +INCLUDES := + +#--------------------------------------------------------------------------------- +# options for code generation +#--------------------------------------------------------------------------------- + +CFLAGS = -g -O1 -Wall $(MACHDEP) $(INCLUDE) +CXXFLAGS = $(CFLAGS) + +LDFLAGS = -g $(MACHDEP) -Wl,-Map,$(notdir $@).map +#-fpack-struct +#--------------------------------------------------------------------------------- +# any extra libraries we wish to link with the project +#--------------------------------------------------------------------------------- +LIBS := -lfat -lwiiuse -lbte -logc -lm -lwiikeyboard + +#--------------------------------------------------------------------------------- +# list of directories containing libraries, this must be the top level containing +# include and lib +#--------------------------------------------------------------------------------- +LIBDIRS := $(PORTLIBS) + + +#--------------------------------------------------------------------------------- +# no real need to edit anything past this point unless you need to add additional +# rules for different file extensions +#--------------------------------------------------------------------------------- +ifneq ($(BUILD),$(notdir $(CURDIR))) +#--------------------------------------------------------------------------------- + +export OUTPUT := $(CURDIR)/$(TARGET) + +export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \ + $(foreach dir,$(DATA),$(CURDIR)/$(dir)) + +export DEPSDIR := $(CURDIR)/$(BUILD) + +#--------------------------------------------------------------------------------- +# automatically build a list of object files for our project +#--------------------------------------------------------------------------------- +CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c))) +CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp))) +sFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s))) +SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.S))) +BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*))) + +#--------------------------------------------------------------------------------- +# use CXX for linking C++ projects, CC for standard C +#--------------------------------------------------------------------------------- +ifeq ($(strip $(CPPFILES)),) + export LD := $(CC) +else + export LD := $(CXX) +endif + +export OFILES := $(addsuffix .o,$(BINFILES)) \ + $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) \ + $(sFILES:.s=.o) $(SFILES:.S=.o) + +#--------------------------------------------------------------------------------- +# build a list of include paths +#--------------------------------------------------------------------------------- +export INCLUDE := $(foreach dir,$(INCLUDES), -iquote $(CURDIR)/$(dir)) \ + $(foreach dir,$(LIBDIRS),-I$(dir)/include) \ + -I$(CURDIR)/$(BUILD) \ + -I$(LIBOGC_INC) + +#--------------------------------------------------------------------------------- +# build a list of library paths +#--------------------------------------------------------------------------------- +export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) \ + -L$(LIBOGC_LIB) + +export OUTPUT := $(CURDIR)/$(TARGET) +.PHONY: $(BUILD) clean + +#--------------------------------------------------------------------------------- +$(BUILD): + @[ -d $@ ] || mkdir -p $@ + @make --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile + +#--------------------------------------------------------------------------------- +clean: + @echo clean ... + @rm -fr $(BUILD) $(OUTPUT).elf $(OUTPUT).dol dist + +#--------------------------------------------------------------------------------- + + + + +#--------------------------------------------------------------------------------- +run: + wiiload $(TARGET).dol + + +#--------------------------------------------------------------------------------- +else + +DEPENDS := $(OFILES:.o=.d) + +#--------------------------------------------------------------------------------- +# main targets +#--------------------------------------------------------------------------------- +$(OUTPUT).dol: $(OUTPUT).elf +$(OUTPUT).elf: $(OFILES) + +#--------------------------------------------------------------------------------- +# This rule links in binary data with the .jpg extension +#--------------------------------------------------------------------------------- +%.jpg.o : %.jpg +#--------------------------------------------------------------------------------- + @echo $(notdir $<) + $(bin2o) + +-include $(DEPENDS) + +#--------------------------------------------------------------------------------- +endif +#--------------------------------------------------------------------------------- diff --git a/src/z80free/Makefile.ori b/src/z80free/Makefile.ori new file mode 100644 index 0000000..c380e5e --- /dev/null +++ b/src/z80free/Makefile.ori @@ -0,0 +1,32 @@ +CC = gcc -c -O1 -Wall +CCo = gcc -O1 -Wall + +z80free_tester: z80free_tester.o Z80free.o Z80free_codes.o Z80free_codesCB.o Z80free_codesED.o Z80free_codesDD.o Z80free_codesFD.o Z80free_codesDDCB.o Z80free_codesFDCB.o + $(CCo) -o z80free_tester z80free_tester.o Z80free.o Z80free_codes.o Z80free_codesCB.o Z80free_codesED.o Z80free_codesDD.o Z80free_codesFD.o Z80free_codesDDCB.o Z80free_codesFDCB.o + +z80free_tester.o: z80free_tester.c Z80free.h + $(CC) -o z80free_tester.o z80free_tester.c + +Z80free.o: Z80free.c Z80free.h + $(CC) -o Z80free.o Z80free.c + +Z80free_codes.o: Z80free_codes.c Z80free.h + $(CC) -o Z80free_codes.o Z80free_codes.c + +Z80free_codesCB.o: Z80free_codesCB.c Z80free.h + $(CC) -o Z80free_codesCB.o Z80free_codesCB.c + +Z80free_codesED.o: Z80free_codesED.c Z80free.h + $(CC) -o Z80free_codesED.o Z80free_codesED.c + +Z80free_codesDD.o: Z80free_codesDD.c Z80free.h + $(CC) -o Z80free_codesDD.o Z80free_codesDD.c + +Z80free_codesFD.o: Z80free_codesFD.c Z80free.h + $(CC) -o Z80free_codesFD.o Z80free_codesFD.c + +Z80free_codesDDCB.o: Z80free_codesDDCB.c Z80free.h + $(CC) -o Z80free_codesDDCB.o Z80free_codesDDCB.c + +Z80free_codesFDCB.o: Z80free_codesFDCB.c Z80free.h + $(CC) -o Z80free_codesFDCB.o Z80free_codesFDCB.c \ No newline at end of file diff --git a/src/z80free/README.txt b/src/z80free/README.txt new file mode 100644 index 0000000..c0e516a --- /dev/null +++ b/src/z80free/README.txt @@ -0,0 +1,247 @@ +Z80Free +A free Z80 emulator + + +DISCLAIMER + +Z80free is distributed under the GPL license, version three or later, which +means that is distributed "as is", without warraty of any kind. To know more +details, read the file COPYING. + + +WHAT IS Z80free? + +Z80free is a Z80 emulator written in C. It's designed to be as accurate as +possible, mainly in the flags from the F register, the instruction set +(emulating all the oficial and unoficial instructions like SET n,(IX+10h),r +the phantom IN, incorrect FD and DD sequences...) and the R register. It also +aims to allow a very accurate emulation of the computer hardware by dividing +the instructions as finely as possible; that way the prefixes, when +available, are executed in a first round, and only then the instruction +itself is executed. This allows a much more precise emulation of incorrect +sequences of prefixes like FDFDFDFDxx... and others. + + +WORKING WITH Z80FREE + +The heart is the typedef struct Z80FREE, which contains all the registers and +some variables needed to maintain the current state. + +typedef struct { + Z80FRegs Rm; /** Main register set (R) */ + Z80FRegs Ra; /** Alternate register set (R') */ + word PC; /** Program counter */ + byte R; /** Refresh */ + byte R2; /** Upper bit for Refresh */ + byte I; + byte IFF1; /** Interrupt Flipflop 1. If it's 2 + decrement it and don't allow INT */ + byte IFF2; /** Interrupt Flipflop 2 */ + byte IM; /** Interrupt mode */ + byte HALT; /** HALT status */ + byte INT_P; /** INT pending */ + byte NMI_P; /** NMI pending */ + byte empty_bus; /** value for empty bus when procesing + a maskable int */ + word IAddr; /** address with offset for IX+d and IY+d */ + byte IAddr_done; /** if 1, IAddr contains a valid data */ + enum {Z80XX, Z80CB, Z80DD, Z80ED, Z80FD, Z80INT} Status; +} Z80FREE; + +The first two elements, Rm and Ra, contains the main and alternate register +sets. The typedef is the following: + +typedef union { + /** Word registers. */ + struct + { + word AF, BC, DE, HL, IX, IY, SP; + } wr; + +#if __BYTE_ORDER == __LITTLE_ENDIAN + struct + { + byte F,A, C,B, E,D, L,H, IXl,IXh, IYl,IYh, P,S; + } br; +#else + struct + { + byte A,F, B,C, D,E, H,L, IXh,IXl, IYh,IYl, S,P; + } br; +#endif + +} Z80FRegs; + +This means that accessing a register (like HL) is done with + + processor.Rm.wr.HL + +while accessing a register like H in 8bit mode is done with + + processor.Rm.br.H + +Since Z80FRegs is an union, both structs are solaped. The conditional +#if __BYTE_ORDER == __LITTLE_ENDIAN allows to set the right register +order depending on the endiannes of the machine. + +The register R is stored twice: as R and R2, but only R is incremented after +each instruction or prefix. When reading it (with LD A,R), the value is +composed with (R&0x7F)|(R2&0x80). That way the true value is returned, +since the real Z80 only increment the lower 7 bits of R, but stores all the +8 bits. + +IFF1 and IFF2 are modified by DI and EI. But IFF1 can be 0, 1 or 2. When its +2, it means that the interrups have to be allowed after the next instruction. +This is because, when doing + + ... + EI + XXX + YYY + ... + +if an interrupt arrives during EI, it won't be accepted between EI and XXX, +but between XXX and YYY. When IFF1 is 2, Z80FREE won't still accept +interrupts, but will decrement it, so at the next instruction it will be 1, +accepting the pending interrupt. + +IM can be 0, 1 or 2, but currently modes 0 and 1 are the same (they both jump +to 38h). + +When HALT is 1, the processor is running a HALT instruction, returning 4 +tstates consumed and maintaining the PC counter until an interrupt is +accepted (or a reset is done). + +All the other info is internal and should not be needed when creating an +emulator. + +There are four functions offered by Z80FREE to interact with it: + + void Z80free_reset(Z80FREE *); + +RESET function resets the processor. + + void Z80free_INT(Z80FREE *,byte); + +INT triggers a maskable interrupt. The BYTE value contains the value +currently present in the bus (useful when, in a future, the true IM0 +mode will be implemented). + + int Z80free_step(Z80FREE *); + +Runs the processor for one complete instruction. It returns the number of +TSTates used by that instruction. After it, the PC points to the next +instruction, and is safe to do operations like creating snapshots or +similar. + + int Z80free_ustep(Z80FREE *); + +Runs the processor for a microstep. That means that, if the current +instruction has a prefix, only the prefix will be recognized, and the +PC will point to the middle of the instruction; but if the instruction +doesn't have a prefix, it will run it complete. It returns the TSTates +used to run that piece of the current instruction. It's unsafe to create +an snapshot after running this function because the processor can be +in an intermediate state, but is safe to update the hardware (like the +screen or the sound). + +To know when is safe to do things, a piece of code like this one can +be used: + +while (1) { + + do { + // Insecure zone. Only update the hardware + tstados=Z80free_ustep(&procesador); + EMULATE(tstados); + } while(procesador.Status!=Z80XX); + + // Secure zone. Do snapshots and other things that + // require the Z80 to be in a defined state. + ... +} + +Here is assumed that EMULATE(int) emulates the screen, sound,... for +that number of TSTates. When STATUS is Z80XX, the processor is going +to read the first byte of an instruction, and is safe to do other things +like creating snapshots. + +Of course, if you don't want to complicate things, just use Z80FREE_STEP. + +Finally, you must implement the following functions in order to emulate the +hardware itself: + + byte Z80free_Rd (register word Addr); + +When Z80Free needs to read a byte from memory, it will call this function. +It must return the value contained in the possition ADDR. + + void Z80free_Wr (register word Addr, register byte Value); + +When Z80Free needs to write a byte to memory, it will call this funcion. +It must store the data VALUE at the position ADDR. + + byte Z80free_In (register word Port); + +When Z80Free needs to access to an input port, it will call this function. +PORT contains the 16bit port being accessed. + + void Z80free_Out (register word Port, register byte Value); + +When Z80Free needs to access to an output port, it will call this function. +PORT contains the 16bit port being accessed, and VALUE the data to be +written to the port. + + +HOW Z80FREE IS IMPLEMENTED + +There are two main files: Z80FREE.C and Z80FREE.H. Z80FREE.C contains the main +loop and some help functions. Some of them were extracted from LibZ80 (from +Gabriel Gambetta), adapted to the new processor structure and, where needed, +fixed some little bugs. + +But the true magic is in the files z80FREE_CODESXXXX.C. These files contains +big switch/case functions which plays each Z80 instruction and returns the +number of TSTATES used by them. But these files weren't created "by hand", +but parsing the files Z80FREE_CODESXXXX.TXT. These files contains a list of +all the Z80 instructions, with its opcode numbers and the number of TSTATES +used (when it's a conditional instruction, which can use more TSTATES when +true than when false, it contain both values), and are parsed by the program +Z80FREE_GENCODE.PY. + +This program gets the opcode, the number of TSTATES and the instruction. +Then it splits the instruction in the instruction itself (like LD, or EX) and +parameters (like A or 5). With all that data it generates the code for that +instruction in the right CASE statement. + +The code in Z80FREE_GENCODE.PY is divided in several classes, so is extremely +easy to adapt it to other processors. Just read the comments (you should use +the GENERIC_PARSER class "as is", and create a new class which inherits from +it and implements the methods GET_CODE_FROM_ONE_PARAM, CREATE_CODE, +WRITE_START_CODE and WRITE_END_CODE. + +In order to simplify the parser, the syntax of some instructions have been +modified, like the I/O ones: instead of (C) we use [BC]. + +If an instruction is incorrectly implemented, you must fix it in +Z80FREE_GENCODE.PY, run it again to regenerate the .C files, and only then +recompile your emulator. + +The big advantage of this method is that, if the implementation of one +instruction type is incorrect, fixing it once will fix it in all the +instructions with all the access modes used. An example: if the LD +instruction type has a bug, fixing it will fix all the LD instructions, like +LD A,n, LD (HL),A, LD B,C... The same when the bug is in the parameter code: +if there's an error in the code that implements (HL) as writing, fixing it +will fix all the instructions that uses it, like LD (HL),A, or CP (HL). + + +CONTACTING THE AUTHOR + +This program is +(C) 2008 Sergio Costas Rodriguez +(Raster Software Vigo) + +raster@rastersoft.com +http://www.rastersoft.com + diff --git a/src/z80free/Z80free.c b/src/z80free/Z80free.c new file mode 100644 index 0000000..99b9ae0 --- /dev/null +++ b/src/z80free/Z80free.c @@ -0,0 +1,783 @@ +/* + * Copyright 2008-2009 (C) Raster Software Vigo (Sergio Costas) + * This file is part of Z80Free, with some bits extracted + * and fixed from libZ80 (from Gabriel Gambetta) + * + * Z80Free 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. + * + * Z80Free is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "Z80free.h" + +void Z80free_reset(Z80FREE *processor) { + + processor->PC=0; + processor->IFF1=0; + processor->IFF2=0; + processor->Rm.wr.AF=0xFFFF; + processor->Rm.wr.BC=0xFFFF; + processor->Rm.wr.DE=0xFFFF; + processor->Rm.wr.HL=0xFFFF; + processor->Rm.wr.IX=0xFFFF; + processor->Rm.wr.IY=0xFFFF; + processor->Ra.wr.AF=0xFFFF; + processor->Ra.wr.BC=0xFFFF; + processor->Ra.wr.DE=0xFFFF; + processor->Ra.wr.HL=0xFFFF; + processor->HALT=0; + processor->IM=0; + processor->I=0; + processor->Status=0; + processor->IAddr_done=0; + processor->INT_P=0; + processor->NMI_P=0; + +} + +void Z80free_INT(Z80FREE *processor,byte value) { + + processor->INT_P=1; + processor->empty_bus=value; + +} + +int Z80free_step(Z80FREE *processor) { + + int retval=0; + do { + retval+=Z80free_ustep(processor); + } while(processor->Status!=Z80XX); + return (retval); +} + +int Z80free_ustep(Z80FREE *processor) { + + static byte opcode,d1; + int retval=0; + + processor->R++; + if (processor->Status==Z80XX) { + if (processor->NMI_P) { // NMI triggered + if (processor->HALT) { + processor->HALT=0; + processor->PC++; + } + processor->NMI_P=0; + Z80free_doPush(processor,processor->PC); + processor->PC=0x0066; + processor->IFF1=0; // disable INTs + processor->Status=Z80INT; + return(11); // we use 11 tstates for attending a NMI + } + if (processor->INT_P) { + processor->INT_P=0; + if (processor->IFF1==1) { // allow INTs only in this case + if (processor->HALT) { + processor->HALT=0; + processor->PC++; + } + processor->Status=Z80INT; + processor->IFF1=0; + processor->IFF2=0; + Z80free_doPush(processor,processor->PC); + if (processor->IM!=2) { // we will forget IM0 mode for now; maybe in the future... + processor->PC=0x0038; + return (13); + } else { + processor->PC=Z80free_read16(((((word)processor->I)<<8)&0xFF00) | ((word)processor->empty_bus)); + return (19); + } + } + } + } + + if (processor->IFF1>1) // set the right status for interrupts + processor->IFF1--; + + opcode=Z80free_Rd(processor->PC); + processor->PC++; + switch(processor->Status) { + case Z80INT: + processor->Status=Z80XX; + case Z80XX: + if (opcode==0xCB) { + processor->Status=Z80CB; + return 4; + } else if (opcode==0xED) { + processor->Status=Z80ED; + return 4; + } else if (opcode==0xDD) { + processor->Status=Z80DD; + return 4; + } else if (opcode==0xFD) { + processor->Status=Z80FD; + return 4; + } else { + return(Z80free_codes(processor,opcode)); + } + break; + case Z80CB: + processor->Status=Z80XX; + return(Z80free_codesCB(processor,opcode)); + break; + case Z80ED: + processor->Status=Z80XX; + return(Z80free_codesED(processor,opcode)); + break; + case Z80DD: + if (opcode==0xDD) { + return 4; + } + if (opcode==0xFD) { + processor->Status=Z80FD; + return 4; + } + processor->Status=Z80XX; + if (opcode==0xCB) { + d1=Z80free_Rd(processor->PC++); + retval+=Z80free_codesDDCB(processor,d1); + } else { + retval+=Z80free_codesDD(processor,opcode); + } + processor->IAddr_done=0; + return (retval); + break; + case Z80FD: + if (opcode==0xDD) { + processor->Status=Z80DD; + return 4; + } + if (opcode==0xFD) { + return 4; + } + processor->Status=Z80XX; + if (opcode==0xCB) { + d1=Z80free_Rd(processor->PC++); + retval+=Z80free_codesFDCB(processor,d1); + } else { + retval+=Z80free_codesFD(processor,opcode); + } + processor->IAddr_done=0; + return (retval); + break; + } + return 0; +} + + +/* --------------------------------------------------------- + * Flag operations + * --------------------------------------------------------- + */ + +/** Sets a flag */ +inline void Z80free_setFlag(Z80FREE *processor, byte flag) { + + processor->Rm.br.F |= flag; +} + +/** Resets a flag */ +inline void Z80free_resFlag(Z80FREE *processor, byte flag) { + + processor->Rm.br.F &= ~flag; +} + +/** Puts a value in a flag */ +inline void Z80free_valFlag(Z80FREE *processor, byte flag, int val) { + + if (val) + processor->Rm.br.F |= flag; + else + processor->Rm.br.F &= ~flag; +} + +/** Returns a flag */ +inline int Z80free_getFlag(Z80FREE *processor, byte flag) { + + return (processor->Rm.br.F & flag) != 0; +} + + +/* --------------------------------------------------------- + * Flag adjustments + * --------------------------------------------------------- + */ + +static int Z80free_parityBit[256] = { + + 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, + 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, + 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, + 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, + 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, + 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, + 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, + 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, + 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, + 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, + 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, + 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, + 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, + 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, + 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, + 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1 }; + + +inline void Z80free_adjustFlags (Z80FREE *processor, byte val) { + + Z80free_valFlag(processor,F_5, (val & F_5) != 0); + Z80free_valFlag(processor,F_3, (val & F_3) != 0); +} + + +inline void Z80free_adjustFlagSZP (Z80FREE *processor, byte val) { + + Z80free_valFlag(processor,F_S, (val & 0x80) != 0); + Z80free_valFlag(processor,F_Z, (val == 0)); + Z80free_valFlag(processor,F_PV, Z80free_parityBit[val]); +} + + +// Adjust flags after AND, OR, XOR +inline void Z80free_adjustLogicFlag (Z80FREE *processor, int flagH) { + + Z80free_valFlag(processor,F_S, (processor->Rm.br.A & 0x80) != 0); + Z80free_valFlag(processor,F_Z, (processor->Rm.br.A == 0)); + Z80free_valFlag(processor,F_H, flagH); + Z80free_valFlag(processor,F_N, 0); + Z80free_valFlag(processor,F_C, 0); + Z80free_valFlag(processor,F_PV, Z80free_parityBit[processor->Rm.br.A]); + + Z80free_adjustFlags(processor, processor->Rm.br.A); +} + + +/* --------------------------------------------------------- + * Generic operations + * --------------------------------------------------------- + */ + +byte Z80free_readR(Z80FREE *processor) { + Z80free_adjustFlagSZP(processor,(0x7F&processor->R)|(0x80&processor->R2)); + Z80free_valFlag(processor,F_PV,processor->IFF2); + Z80free_valFlag(processor,F_N, 0); + Z80free_valFlag(processor,F_H, 0); + Z80free_adjustFlags(processor,(0x7F&processor->R)|(0x80&processor->R2)); + return ((0x7F&processor->R)|(0x80&processor->R2)); +} + +void Z80free_setR(Z80FREE *processor,byte value) { + processor->R=value; + processor->R2=value; +} + +byte Z80free_readI(Z80FREE *processor) { + + Z80free_adjustFlagSZP(processor,processor->I); + Z80free_valFlag(processor,F_PV,processor->IFF2); + Z80free_valFlag(processor,F_N, 0); + Z80free_valFlag(processor,F_H, 0); + Z80free_adjustFlags(processor,processor->I); + return (processor->I); +} + + +/** Do an arithmetic operation (ADD, SUB, ADC, SBC y CP) */ +byte Z80free_doArithmetic (Z80FREE *processor, byte value1,byte value2, int withCarry, int isSub) { + + static word res; /* To detect carry */ + static byte carry; + + if (withCarry && Z80free_getFlag(processor,F_C)) + carry=1; + else + carry=0; + + if (isSub) { + Z80free_setFlag(processor,F_N); + res = ((word)value1) - ((word)value2) - ((word)carry); + Z80free_valFlag(processor,F_H, ((value1 ^ value2 ^ res) & 0x10) != 0); + Z80free_valFlag(processor,F_PV, (((value1 ^ value2)&0x080) && (((res^value1)&0x080)))); + } else { + Z80free_resFlag(processor,F_N); + res = ((word)value1) + ((word)value2) + ((word)carry); + Z80free_valFlag(processor,F_H, (((value1 & 0x0F) + (value2 & 0x0F)+carry) & 0x10) != 0); + Z80free_valFlag(processor,F_PV, ((((value1 ^ value2)&0x080)==0) && ((res^value1)&0x080))); + } + + Z80free_valFlag(processor,F_S, ((res & 0x080) != 0)); + Z80free_valFlag(processor,F_C, ((res & 0x0100) != 0)); + Z80free_valFlag(processor,F_Z, ((res&0xFF) == 0)); + + Z80free_adjustFlags(processor, res&0xFF); + + return (byte)(res & 0xFF); +} + +word Z80free_doArithmetic16 (Z80FREE *processor, word value1,word value2, int withCarry, int isSub) { + + static word tmp; + static byte Ftmp; + + Ftmp=processor->Rm.br.F; // store the F register to restore the unchanged bits when doing operations without carry + + tmp=(word)Z80free_doArithmetic(processor,(byte)(value1&0x00FF),(byte)(value2&0x00FF),withCarry,isSub); + tmp|=((word)Z80free_doArithmetic(processor,(byte)((value1>>8)&0x00FF),(byte)((value2>>8)&0x00FF),1,isSub))<<8; + if (tmp) { + Z80free_resFlag(processor,F_Z); + } else { + Z80free_setFlag(processor,F_Z); + } + + if (tmp&0x08000) { + Z80free_setFlag(processor,F_S); + } else { + Z80free_resFlag(processor,F_S); + } + + if (!(withCarry|isSub)) { + processor->Rm.br.F &= 0x3B; // preserve the new values of C, N, 3, H and 5 + processor->Rm.br.F |= (Ftmp & 0xC4); // set the old values of P/V, Z and S + } + + return (tmp); +} + +void Z80free_doAND (Z80FREE *processor, byte value) { + + processor->Rm.br.A &= value; + Z80free_adjustLogicFlag(processor, 1); +} + + +void Z80free_doOR (Z80FREE *processor, byte value) { + + processor->Rm.br.A |= value; + Z80free_adjustLogicFlag(processor, 0); +} + + +void Z80free_doXOR (Z80FREE *processor, byte value) { + + processor->Rm.br.A ^= value; + Z80free_adjustLogicFlag(processor, 0); +} + + +void Z80free_doBIT (Z80FREE *processor, int b, byte val) { + + if (val & (1 << b)) + Z80free_resFlag(processor,F_Z | F_PV); + else + Z80free_setFlag(processor,F_Z | F_PV); + + Z80free_setFlag(processor,F_H); + Z80free_resFlag(processor,F_N); + + + if ((b == 7) && !Z80free_getFlag(processor,F_Z)) + Z80free_setFlag(processor,F_S); + else + Z80free_resFlag(processor,F_S); + + /*Z80free_resFlag(processor,F_5); + if ((b == 5) && !Z80free_getFlag(processor,F_Z)) + Z80free_setFlag(processor,F_5); + + Z80free_resFlag(processor,F_3); + if ((b == 3) && !Z80free_getFlag(processor,F_Z)) + Z80free_setFlag(processor,F_3);*/ + Z80free_adjustFlags(processor,val); +} + + +byte Z80free_doSetRes (Z80FREE *processor, int bit, int pos, byte val) { + + if (bit) + val |= (1 << pos); + else + val &= ~(1 << pos); + return val; +} + + + +byte Z80free_doIncDec (Z80FREE *processor, byte val, int isDec) { + + if (isDec) { + Z80free_valFlag(processor,F_PV, (val & 0x80) && !((val - 1) & 0x80)); + val--; + Z80free_valFlag(processor,F_H, (val & 0x0F)==0x0F); + } else { + Z80free_valFlag(processor,F_PV, !(val & 0x80) && ((val + 1) & 0x80)); + val++; + Z80free_valFlag(processor,F_H, (val & 0x0F)==0); + } + + Z80free_valFlag(processor,F_S, ((val & 0x80) != 0)); + Z80free_valFlag(processor,F_Z, (val == 0)); + Z80free_valFlag(processor,F_N, isDec); + + Z80free_adjustFlags(processor, val); + + return val; +} + + +word Z80free_doIncDec16 (Z80FREE *processor, word val, int isDec) { + + if (isDec) { + val--; + } else { + val++; + } + + return val; +} + + +byte Z80free_doRLC (Z80FREE *processor, int adjFlags, byte val) { + + Z80free_valFlag(processor,F_C, (val & 0x80) != 0); + val <<= 1; + val |= (byte)Z80free_getFlag(processor,F_C); + + Z80free_adjustFlags(processor, val); + Z80free_resFlag(processor,F_H | F_N); + + if (adjFlags) + Z80free_adjustFlagSZP(processor, val); + + return val; +} + + +byte Z80free_doRL (Z80FREE *processor, int adjFlags, byte val) { + + int CY = Z80free_getFlag(processor,F_C); + Z80free_valFlag(processor,F_C, (val & 0x80) != 0); + val <<= 1; + val |= (byte)CY; + + Z80free_adjustFlags(processor, val); + Z80free_resFlag(processor,F_H | F_N); + + if (adjFlags) + Z80free_adjustFlagSZP(processor, val); + + return val; +} + + +byte Z80free_doRRC (Z80FREE *processor, int adjFlags, byte val) { + + Z80free_valFlag(processor,F_C, (val & 0x01) != 0); + val >>= 1; + val |= ((byte)Z80free_getFlag(processor,F_C) << 7); + + Z80free_adjustFlags(processor, val); + Z80free_resFlag(processor,F_H | F_N); + + if (adjFlags) + Z80free_adjustFlagSZP(processor, val); + + return val; +} + + +byte Z80free_doRR (Z80FREE *processor, int adjFlags, byte val) { + + int CY = Z80free_getFlag(processor,F_C); + Z80free_valFlag(processor,F_C, (val & 0x01)); + val >>= 1; + val |= (CY << 7); + + Z80free_adjustFlags(processor, val); + Z80free_resFlag(processor,F_H | F_N); + + if (adjFlags) + Z80free_adjustFlagSZP(processor, val); + + return val; +} + + +byte Z80free_doSL (Z80FREE *processor, int isArith, byte val) { + + Z80free_valFlag(processor,F_C, (val & 0x80) != 0); + val <<= 1; + + if (isArith) + val |= 1; + + Z80free_adjustFlags(processor, val); + Z80free_resFlag(processor,F_H | F_N); + Z80free_adjustFlagSZP(processor, val); + + return val; +} + + +byte Z80free_doSR (Z80FREE *processor, int isArith, byte val) { + + static int b; + + b = (val & 0x80); + + Z80free_valFlag(processor,F_C, (val & 0x01) != 0); + val >>= 1; + + if (isArith) + val |= (byte)b; + + Z80free_adjustFlags(processor, val); + Z80free_resFlag(processor,F_H | F_N); + Z80free_adjustFlagSZP(processor, val); + + return val; +} + +void Z80free_doRLD(Z80FREE *processor) { + + static byte tmp,tmp2; + + tmp=processor->Rm.br.A; + tmp2=Z80free_Rd(processor->Rm.wr.HL); + processor->Rm.br.A&=0xF0; + processor->Rm.br.A|=(0x0F&(tmp2>>4)); + Z80free_Wr(processor->Rm.wr.HL,((tmp2<<4)&0xF0)|(tmp&0x0F)); + + Z80free_resFlag(processor,F_H | F_N); + Z80free_adjustFlagSZP(processor, processor->Rm.br.A); + +} + +void Z80free_doRRD(Z80FREE *processor) { + + static byte tmp,tmp2; + + tmp=processor->Rm.br.A; + tmp2=Z80free_Rd(processor->Rm.wr.HL); + processor->Rm.br.A&=0xF0; + processor->Rm.br.A|=(0x0F&tmp2); + Z80free_Wr(processor->Rm.wr.HL,((tmp2>>4)&0x0F)|((tmp<<4)&0xF0)); + + Z80free_resFlag(processor,F_H | F_N); + Z80free_adjustFlagSZP(processor, processor->Rm.br.A); + +} + +void Z80free_doPush (Z80FREE *processor, word val) { + + processor->Rm.wr.SP-=2; + Z80free_write16(processor->Rm.wr.SP, val); +} + + +word Z80free_doPop (Z80FREE *processor) { + + static word val; + + val = Z80free_read16(processor->Rm.wr.SP); + processor->Rm.wr.SP+=2; + + return val; +} + + +/* The DAA opcode + * According to the value in A and the flags set, add a value to A + * + * Flags set Byte (0..9)(0..9) + * -------------------------------------------- + * (None) + &00 + * Carry:+ &60 + * Subtract:+ &00 + * Subtract+Carry:+ &A0 + * Half-carry:+ &06 + * Half-carry+Carry:+ &66 + * Half-carry+Subtract:+ &FA + * Half-carry+Subtract+Carry:+ &9A + * + * Flags set Byte (0..9)(A..F) + * -------------------------------------------- + * (None) + &06 + * Carry:+ &66 + * Subtract:+ &00 + * Subtract+Carry:+ &a0 + * Half-carry:+ &06 + * Half-carry+Carry:+ &66 + * Half-carry+Subtract:+ &fa + * Half-carry+Subtract+Carry:+ &9A + * + * Flags set Byte (A..F)(0..9) + * -------------------------------------------- + * (None) + &60 + * Carry:+ &60 + * Subtract:+ &00 + * Subtract+Carry:+ &A0 + * Half-carry:+ &66 + * Half-carry+Carry:+ &66 + * Half-carry+Subtract:+ &fa + * Half-carry+Subtract+Carry:+ &9A + * + * Flags set Byte (A..F)(A..F) + * -------------------------------------------- + * (None) + &66 + * Carry:+ &66 + * Subtract:+ &00 + * Subtract+Carry:+ &a0 + * Half-carry:+ &66 + * Half-carry+Carry:+ &66 + * Half-carry+Subtract:+ &fa + * Half-carry+Subtract+Carry:+ &9A + */ + +static int Z80free_DAA_BYTETYPE1[16] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1 }; +static int Z80free_DAA_BYTETYPE2[16] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2 }; + +static byte Z80free_DAA_ADJUSTMENT[4][6] = { + {0x00,0x06,0x00,0x66,0x60,0x66}, + {0x06,0x06,0x06,0x66,0x66,0x66}, + {0x60,0x66,0x60,0x66,0x60,0x66}, + {0x66,0x66,0x66,0x66,0x66,0x66} }; + +void Z80free_doDAA (Z80FREE *processor) { + + byte oldval; + int byteType; + int flagMask = 0; + + /* (0..8)(0..9) = 0 */ + /* (0..8)(A..F) = 1 */ + /* (9) (0..9) = 2 */ + /* (9) (A..F) = 3 */ + /* (A..F)(0..9) = 4 */ + /* (A..F)(A..F) = 5 */ + byteType = Z80free_DAA_BYTETYPE1[(processor->Rm.br.A&0x0F)] | ((Z80free_DAA_BYTETYPE2[(processor->Rm.br.A >> 4)&0x0F]) << 1); + oldval=(processor->Rm.br.A&0x0F); + + if (Z80free_getFlag(processor,F_C)) + flagMask |= 2; + if (Z80free_getFlag(processor,F_H)) + flagMask |= 1; + + if (processor->Rm.br.F&F_N) { + processor->Rm.br.A -= Z80free_DAA_ADJUSTMENT[flagMask][byteType]; + } else { + processor->Rm.br.A += Z80free_DAA_ADJUSTMENT[flagMask][byteType]; + } + if ((byteType<3)&&((processor->Rm.br.F&F_C)==0)) { + Z80free_resFlag(processor,F_C); + } else { + Z80free_setFlag(processor,F_C); + } + + if ((processor->Rm.br.F&F_N)==0) { + if (oldval>9) { + Z80free_setFlag(processor,F_H); + } else { + Z80free_resFlag(processor,F_H); + } + } else { + if (processor->Rm.br.F&F_H) { + if (oldval>5) { + Z80free_resFlag(processor,F_H); + } else { + Z80free_setFlag(processor,F_H); + } + } + } + + processor->Rm.br.F&=0x57; + processor->Rm.br.F|=(processor->Rm.br.A&0xA4); + if (processor->Rm.br.A) { + Z80free_resFlag(processor,F_Z); + } else { + Z80free_setFlag(processor,F_Z); + } + Z80free_valFlag(processor,F_PV, Z80free_parityBit[processor->Rm.br.A]); + +} + +void Z80free_jump_relative(Z80FREE *processor,byte relvar) { + + static word rel2; + + rel2=(word)relvar; + if (relvar&0x080) { + rel2|=0xFF00; + } + processor->PC+=rel2; +} + +word Z80free_addr_relative(Z80FREE *processor,word address) { + + static word rel2; + + if (processor->IAddr_done) { + return (processor->IAddr); + } + processor->IAddr_done=1; + rel2=(word)Z80free_read_param_8(processor); + if (rel2&0x080) { + rel2|=0xFF00; + } + processor->IAddr=address+rel2; + return (address+rel2); +} + +word Z80free_addr_relativeXDCB(Z80FREE *processor,word address,byte d1) { + + static word rel2; + + rel2=(word)d1; + if (rel2&0x080) { + rel2|=0xFF00; + } + processor->IAddr=address+rel2; + return (address+rel2); +} + +void Z80free_write16 (register word addr,register word val) { + + Z80free_Wr(addr, (byte)(val & 0xFF)); + val >>= 8; + addr++; + Z80free_Wr(addr, (byte)(val & 0xFF)); +} + +word Z80free_read16 (register word addr) { + + static word v1; + v1=((word)Z80free_Rd(addr))&0x00FF; + addr++; + return (v1 + ((((word)Z80free_Rd(addr)) << 8)&0xFF00)); +} + +byte Z80free_read_param_8(Z80FREE *processor) { + + return(Z80free_Rd(processor->PC++)); + +} + + +word Z80free_read_param_16(Z80FREE *processor) { + + static word value; + value=Z80free_read16(processor->PC); + processor->PC+=2; + return (value); +} + diff --git a/src/z80free/Z80free.h b/src/z80free/Z80free.h new file mode 100644 index 0000000..fcc0d06 --- /dev/null +++ b/src/z80free/Z80free.h @@ -0,0 +1,153 @@ +/* + * Copyright 2008-2009 (C) Raster Software Vigo (Sergio Costas) + * This file is part of Z80Free, with some bits extracted + * and fixed from libZ80 (from Gabriel Gambetta) + * + * Z80Free 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. + * + * Z80Free is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + + +#ifndef Z80FREE_H +#define Z80FREE_H + +#include +#ifndef Z80_H +typedef unsigned short int word; +typedef unsigned char byte; +#endif + +#define F_S 0x80 +#define F_Z 0x40 +#define F_5 0x20 +#define F_H 0x10 +#define F_3 0x08 +#define F_PV 0x04 +#define F_N 0x02 +#define F_C 0x01 + +//enum Z80free_prefix {Z80XX, Z80CB, Z80DD, Z80ED, Z80FD}; + + +typedef union { + /** Word registers. */ + struct + { + word AF, BC, DE, HL, IX, IY, SP; + } wr; + + /** Byte registers. SP can be accessed partially to simplify the load/save code. */ + + +#if BYTE_ORDER == LITTLE_ENDIAN + struct + { + byte F,A, C,B, E,D, L,H, IXl,IXh, IYl,IYh, P,S; + } br; +#else + + struct + { + byte A,F, B,C, D,E, H,L, IXh,IXl, IYh,IYl, S,P; + } br; + +#endif + +} Z80FRegs; + +/** A Z80 execution context. */ +typedef struct +{ + Z80FRegs Ra; /* Alternate register set (R) */ + Z80FRegs Rm; /* Main register set (R) */ + word PC; /* Program counter */ + byte R; /* Refresh */ + byte R2; /* Upper bit for Refresh */ + byte I; + byte IFF1; /* Interrupt Flipflop 1. If it's 2, decrement it and don't allow INT */ + byte IFF2; /* Interrupt Flipflop 2 */ + byte IM; /* Interrupt mode */ + byte HALT; /* HALT status */ + byte INT_P; /* INT pending */ + byte NMI_P; /* NMI pending */ + byte empty_bus; /* value for empty bus when procesing a maskable int */ + word IAddr; /* address with offset for IX+d and IY+d */ + byte IAddr_done; /* if 1, IAddr contains a valid data */ + enum {Z80XX, Z80CB, Z80DD, Z80ED, Z80FD, Z80INT} Status; +} Z80FREE; + +/* internal Z80 methods */ + +void Z80free_setFlag(Z80FREE *processor, byte flag); +void Z80free_resFlag(Z80FREE *processor, byte flag); +void Z80free_valFlag(Z80FREE *processor, byte flag, int val); +int Z80free_getFlag(Z80FREE *processor, byte flag); +void Z80free_adjustFlags (Z80FREE *processor, byte val); +void Z80free_adjustFlagSZP (Z80FREE *processor, byte val); +void Z80free_adjustLogicFlag (Z80FREE *processor, int flagH); +byte Z80free_doArithmetic (Z80FREE *processor, byte value1,byte value2, int withCarry, int isSub); +word Z80free_doArithmetic16 (Z80FREE *processor, word value1,word value2, int withCarry, int isSub); +void Z80free_doAND (Z80FREE *processor, byte value); +void Z80free_doOR (Z80FREE *processor, byte value); +void Z80free_doXOR (Z80FREE *processor, byte value); +void Z80free_doBIT (Z80FREE *processor, int b, byte val); +byte Z80free_doSetRes (Z80FREE *processor, int bit, int pos, byte val); +byte Z80free_doIncDec (Z80FREE *processor, byte val, int isDec); +word Z80free_doIncDec16 (Z80FREE *processor, word val, int isDec); +byte Z80free_doRLC (Z80FREE *processor, int adjFlags, byte val); +byte Z80free_doRL (Z80FREE *processor, int adjFlags, byte val); +byte Z80free_doRRC (Z80FREE *processor, int adjFlags, byte val); +byte Z80free_doRR (Z80FREE *processor, int adjFlags, byte val); +byte Z80free_doSL (Z80FREE *processor, int isArith, byte val); +byte Z80free_doSR (Z80FREE *processor, int isArith, byte val); +void Z80free_doPush (Z80FREE *processor, word val); +word Z80free_doPop (Z80FREE *processor); +void Z80free_doDAA (Z80FREE *processor); +byte Z80free_readR(Z80FREE *processor); +void Z80free_setR(Z80FREE *processor,byte value); +byte Z80free_readI(Z80FREE *processor); +void Z80free_doRRD(Z80FREE *processor); +void Z80free_doRLD(Z80FREE *processor); + +void Z80free_jump_relative(Z80FREE *processor,byte relvar); +word Z80free_addr_relative(Z80FREE *processor,word address); +word Z80free_addr_relativeXDCB(Z80FREE *processor,word address,byte d1); +byte Z80free_read_param_8(Z80FREE *z80); +word Z80free_read_param_16(Z80FREE *z80); +word Z80free_read16 (register word addr); +void Z80free_write16 (register word addr,register word val); + +/* external Z80 methods */ + +void Z80free_reset(Z80FREE *); +int Z80free_step(Z80FREE *); +int Z80free_ustep(Z80FREE *); +void Z80free_INT(Z80FREE *,byte); + +byte Z80free_Rd (register word Addr); +void Z80free_Wr (register word Addr, register byte Value); +byte Z80free_In (register word Port); +void Z80free_Out (register word Port, register byte Value); + +/* Opcode functions */ + +int Z80free_codes (Z80FREE *processor,byte opcode); +int Z80free_codesCB (Z80FREE *processor,byte opcode); +int Z80free_codesDD (Z80FREE *processor,byte opcode); +int Z80free_codesED (Z80FREE *processor,byte opcode); +int Z80free_codesFD (Z80FREE *processor,byte opcode); +int Z80free_codesDDCB (Z80FREE *processor,byte d1); +int Z80free_codesFDCB (Z80FREE *processor,byte d1); + +#endif diff --git a/src/z80free/Z80free_codes.c b/src/z80free/Z80free_codes.c new file mode 100644 index 0000000..0e2cd82 --- /dev/null +++ b/src/z80free/Z80free_codes.c @@ -0,0 +1,1242 @@ +/* + * Copyright (C) 2008-2009 Sergio Costas (Raster Software Vigo) + * This file is part of Z80Free + * + * Z80Free 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. + * + * Z80Free is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "Z80free.h" + +int Z80free_codes (Z80FREE *processor,byte opcode) { + static byte tmp1; + static word tmp2; + + switch(opcode) { + case 0: // NOP + return (4); + break; + case 1: // LD BC,nn + processor->Rm.wr.BC=Z80free_read_param_16(processor); + return (10); + break; + case 2: // LD (BC),A + Z80free_Wr(processor->Rm.wr.BC,processor->Rm.br.A); + return (7); + break; + case 3: // INC BC + processor->Rm.wr.BC=Z80free_doIncDec16(processor,processor->Rm.wr.BC,0); + return (6); + break; + case 4: // INC B + processor->Rm.br.B=Z80free_doIncDec(processor,processor->Rm.br.B,0); + return (4); + break; + case 5: // DEC B + processor->Rm.br.B=Z80free_doIncDec(processor,processor->Rm.br.B,1); + return (4); + break; + case 6: // LD B,n + processor->Rm.br.B=Z80free_read_param_8(processor); + return (7); + break; + case 7: // RLCA + processor->Rm.br.A=Z80free_doRLC(processor,0,processor->Rm.br.A); + return (4); + break; + case 8: // EX AF,AF' + tmp2=processor->Rm.wr.AF; + processor->Rm.wr.AF=processor->Ra.wr.AF; + processor->Ra.wr.AF=tmp2; + return (4); + break; + case 9: // ADD HL,BC + processor->Rm.wr.HL=Z80free_doArithmetic16(processor,processor->Rm.wr.HL,processor->Rm.wr.BC,0,0); + return (11); + break; + case 10: // LD A,(BC) + processor->Rm.br.A=Z80free_Rd(processor->Rm.wr.BC); + return (7); + break; + case 11: // DEC BC + processor->Rm.wr.BC=Z80free_doIncDec16(processor,processor->Rm.wr.BC,1); + return (6); + break; + case 12: // INC C + processor->Rm.br.C=Z80free_doIncDec(processor,processor->Rm.br.C,0); + return (4); + break; + case 13: // DEC C + processor->Rm.br.C=Z80free_doIncDec(processor,processor->Rm.br.C,1); + return (4); + break; + case 14: // LD C,n + processor->Rm.br.C=Z80free_read_param_8(processor); + return (7); + break; + case 15: // RRCA + processor->Rm.br.A=Z80free_doRRC(processor,0,processor->Rm.br.A); + return (4); + break; + case 16: // DJNZ n + tmp1=Z80free_read_param_8(processor); + processor->Rm.br.B--; + if (processor->Rm.br.B) { + Z80free_jump_relative(processor,tmp1); + return (13); + } else { + return (8); + } + break; + case 17: // LD DE,nn + processor->Rm.wr.DE=Z80free_read_param_16(processor); + return (10); + break; + case 18: // LD (DE),A + Z80free_Wr(processor->Rm.wr.DE,processor->Rm.br.A); + return (7); + break; + case 19: // INC DE + processor->Rm.wr.DE=Z80free_doIncDec16(processor,processor->Rm.wr.DE,0); + return (6); + break; + case 20: // INC D + processor->Rm.br.D=Z80free_doIncDec(processor,processor->Rm.br.D,0); + return (4); + break; + case 21: // DEC D + processor->Rm.br.D=Z80free_doIncDec(processor,processor->Rm.br.D,1); + return (4); + break; + case 22: // LD D,n + processor->Rm.br.D=Z80free_read_param_8(processor); + return (7); + break; + case 23: // RLA + processor->Rm.br.A=Z80free_doRL(processor,0,processor->Rm.br.A); + return (4); + break; + case 24: // JR n + tmp1=Z80free_read_param_8(processor); + Z80free_jump_relative(processor,tmp1); + return (12); + break; + case 25: // ADD HL,DE + processor->Rm.wr.HL=Z80free_doArithmetic16(processor,processor->Rm.wr.HL,processor->Rm.wr.DE,0,0); + return (11); + break; + case 26: // LD A,(DE) + processor->Rm.br.A=Z80free_Rd(processor->Rm.wr.DE); + return (7); + break; + case 27: // DEC DE + processor->Rm.wr.DE=Z80free_doIncDec16(processor,processor->Rm.wr.DE,1); + return (6); + break; + case 28: // INC E + processor->Rm.br.E=Z80free_doIncDec(processor,processor->Rm.br.E,0); + return (4); + break; + case 29: // DEC E + processor->Rm.br.E=Z80free_doIncDec(processor,processor->Rm.br.E,1); + return (4); + break; + case 30: // LD E,n + processor->Rm.br.E=Z80free_read_param_8(processor); + return (7); + break; + case 31: // RRA + processor->Rm.br.A=Z80free_doRR(processor,0,processor->Rm.br.A); + return (4); + break; + case 32: // JR NZ,n + tmp1=Z80free_read_param_8(processor); + if (0==(F_Z&processor->Rm.br.F)) { + Z80free_jump_relative(processor,tmp1); + return (12); + } else { + return (7); + } + break; + case 33: // LD HL,nn + processor->Rm.wr.HL=Z80free_read_param_16(processor); + return (10); + break; + case 34: // LD (nn),HL + Z80free_write16(Z80free_read_param_16(processor),processor->Rm.wr.HL); + return (16); + break; + case 35: // INC HL + processor->Rm.wr.HL=Z80free_doIncDec16(processor,processor->Rm.wr.HL,0); + return (6); + break; + case 36: // INC H + processor->Rm.br.H=Z80free_doIncDec(processor,processor->Rm.br.H,0); + return (4); + break; + case 37: // DEC H + processor->Rm.br.H=Z80free_doIncDec(processor,processor->Rm.br.H,1); + return (4); + break; + case 38: // LD H,n + processor->Rm.br.H=Z80free_read_param_8(processor); + return (7); + break; + case 39: // DAA + Z80free_doDAA(processor); + return (4); + break; + case 40: // JR Z,n + tmp1=Z80free_read_param_8(processor); + if (F_Z&processor->Rm.br.F) { + Z80free_jump_relative(processor,tmp1); + return (12); + } else { + return (7); + } + break; + case 41: // ADD HL,HL + processor->Rm.wr.HL=Z80free_doArithmetic16(processor,processor->Rm.wr.HL,processor->Rm.wr.HL,0,0); + return (11); + break; + case 42: // LD HL,(nn) + processor->Rm.wr.HL=Z80free_read16(Z80free_read_param_16(processor)); + return (16); + break; + case 43: // DEC HL + processor->Rm.wr.HL=Z80free_doIncDec16(processor,processor->Rm.wr.HL,1); + return (6); + break; + case 44: // INC L + processor->Rm.br.L=Z80free_doIncDec(processor,processor->Rm.br.L,0); + return (4); + break; + case 45: // DEC L + processor->Rm.br.L=Z80free_doIncDec(processor,processor->Rm.br.L,1); + return (4); + break; + case 46: // LD L,n + processor->Rm.br.L=Z80free_read_param_8(processor); + return (7); + break; + case 47: // CPL + processor->Rm.br.A=255-processor->Rm.br.A; + Z80free_adjustFlags(processor,processor->Rm.br.A); + Z80free_setFlag(processor,F_H); + Z80free_setFlag(processor,F_N); + return (4); + break; + case 48: // JR NC,n + tmp1=Z80free_read_param_8(processor); + if (0==(F_C&processor->Rm.br.F)) { + Z80free_jump_relative(processor,tmp1); + return (12); + } else { + return (7); + } + break; + case 49: // LD SP,nn + processor->Rm.wr.SP=Z80free_read_param_16(processor); + return (10); + break; + case 50: // LD (nn),A + Z80free_Wr(Z80free_read_param_16(processor),processor->Rm.br.A); + return (13); + break; + case 51: // INC SP + processor->Rm.wr.SP=Z80free_doIncDec16(processor,processor->Rm.wr.SP,0); + return (6); + break; + case 52: // INC b(HL) + Z80free_Wr(processor->Rm.wr.HL,Z80free_doIncDec(processor,Z80free_Rd(processor->Rm.wr.HL),0)); + return (11); + break; + case 53: // DEC b(HL) + Z80free_Wr(processor->Rm.wr.HL,Z80free_doIncDec(processor,Z80free_Rd(processor->Rm.wr.HL),1)); + return (11); + break; + case 54: // LD (HL),n + Z80free_Wr(processor->Rm.wr.HL,Z80free_read_param_8(processor)); + return (10); + break; + case 55: // SCF + Z80free_setFlag(processor,F_C); + Z80free_resFlag(processor,F_H); + Z80free_resFlag(processor,F_N); + Z80free_adjustFlags(processor,processor->Rm.br.A); + return (4); + break; + case 56: // JR CF,n + tmp1=Z80free_read_param_8(processor); + if (F_C&processor->Rm.br.F) { + Z80free_jump_relative(processor,tmp1); + return (12); + } else { + return (7); + } + break; + case 57: // ADD HL,SP + processor->Rm.wr.HL=Z80free_doArithmetic16(processor,processor->Rm.wr.HL,processor->Rm.wr.SP,0,0); + return (11); + break; + case 58: // LD A,(nn) + processor->Rm.br.A=Z80free_Rd(Z80free_read_param_16(processor)); + return (13); + break; + case 59: // DEC SP + processor->Rm.wr.SP=Z80free_doIncDec16(processor,processor->Rm.wr.SP,1); + return (6); + break; + case 60: // INC A + processor->Rm.br.A=Z80free_doIncDec(processor,processor->Rm.br.A,0); + return (4); + break; + case 61: // DEC A + processor->Rm.br.A=Z80free_doIncDec(processor,processor->Rm.br.A,1); + return (4); + break; + case 62: // LD A,n + processor->Rm.br.A=Z80free_read_param_8(processor); + return (7); + break; + case 63: // CCF + Z80free_valFlag(processor,F_C,(~processor->Rm.br.F)&F_C); + Z80free_resFlag(processor,F_N); + Z80free_adjustFlags(processor,processor->Rm.br.A); + return (4); + break; + case 64: // LD B,B + processor->Rm.br.B=processor->Rm.br.B; + return (4); + break; + case 65: // LD B,C + processor->Rm.br.B=processor->Rm.br.C; + return (4); + break; + case 66: // LD B,D + processor->Rm.br.B=processor->Rm.br.D; + return (4); + break; + case 67: // LD B,E + processor->Rm.br.B=processor->Rm.br.E; + return (4); + break; + case 68: // LD B,H + processor->Rm.br.B=processor->Rm.br.H; + return (4); + break; + case 69: // LD B,L + processor->Rm.br.B=processor->Rm.br.L; + return (4); + break; + case 70: // LD B,(HL) + processor->Rm.br.B=Z80free_Rd(processor->Rm.wr.HL); + return (7); + break; + case 71: // LD B,A + processor->Rm.br.B=processor->Rm.br.A; + return (4); + break; + case 72: // LD C,B + processor->Rm.br.C=processor->Rm.br.B; + return (4); + break; + case 73: // LD C,C + processor->Rm.br.C=processor->Rm.br.C; + return (4); + break; + case 74: // LD C,D + processor->Rm.br.C=processor->Rm.br.D; + return (4); + break; + case 75: // LD C,E + processor->Rm.br.C=processor->Rm.br.E; + return (4); + break; + case 76: // LD C,H + processor->Rm.br.C=processor->Rm.br.H; + return (4); + break; + case 77: // LD C,L + processor->Rm.br.C=processor->Rm.br.L; + return (4); + break; + case 78: // LD C,(HL) + processor->Rm.br.C=Z80free_Rd(processor->Rm.wr.HL); + return (7); + break; + case 79: // LD C,A + processor->Rm.br.C=processor->Rm.br.A; + return (4); + break; + case 80: // LD D,B + processor->Rm.br.D=processor->Rm.br.B; + return (4); + break; + case 81: // LD D,C + processor->Rm.br.D=processor->Rm.br.C; + return (4); + break; + case 82: // LD D,D + processor->Rm.br.D=processor->Rm.br.D; + return (4); + break; + case 83: // LD D,E + processor->Rm.br.D=processor->Rm.br.E; + return (4); + break; + case 84: // LD D,H + processor->Rm.br.D=processor->Rm.br.H; + return (4); + break; + case 85: // LD D,L + processor->Rm.br.D=processor->Rm.br.L; + return (4); + break; + case 86: // LD D,(HL) + processor->Rm.br.D=Z80free_Rd(processor->Rm.wr.HL); + return (7); + break; + case 87: // LD D,A + processor->Rm.br.D=processor->Rm.br.A; + return (4); + break; + case 88: // LD E,B + processor->Rm.br.E=processor->Rm.br.B; + return (4); + break; + case 89: // LD E,C + processor->Rm.br.E=processor->Rm.br.C; + return (4); + break; + case 90: // LD E,D + processor->Rm.br.E=processor->Rm.br.D; + return (4); + break; + case 91: // LD E,E + processor->Rm.br.E=processor->Rm.br.E; + return (4); + break; + case 92: // LD E,H + processor->Rm.br.E=processor->Rm.br.H; + return (4); + break; + case 93: // LD E,L + processor->Rm.br.E=processor->Rm.br.L; + return (4); + break; + case 94: // LD E,(HL) + processor->Rm.br.E=Z80free_Rd(processor->Rm.wr.HL); + return (7); + break; + case 95: // LD E,A + processor->Rm.br.E=processor->Rm.br.A; + return (4); + break; + case 96: // LD H,B + processor->Rm.br.H=processor->Rm.br.B; + return (4); + break; + case 97: // LD H,C + processor->Rm.br.H=processor->Rm.br.C; + return (4); + break; + case 98: // LD H,D + processor->Rm.br.H=processor->Rm.br.D; + return (4); + break; + case 99: // LD H,E + processor->Rm.br.H=processor->Rm.br.E; + return (4); + break; + case 100: // LD H,H + processor->Rm.br.H=processor->Rm.br.H; + return (4); + break; + case 101: // LD H,L + processor->Rm.br.H=processor->Rm.br.L; + return (4); + break; + case 102: // LD H,(HL) + processor->Rm.br.H=Z80free_Rd(processor->Rm.wr.HL); + return (7); + break; + case 103: // LD H,A + processor->Rm.br.H=processor->Rm.br.A; + return (4); + break; + case 104: // LD L,B + processor->Rm.br.L=processor->Rm.br.B; + return (4); + break; + case 105: // LD L,C + processor->Rm.br.L=processor->Rm.br.C; + return (4); + break; + case 106: // LD L,D + processor->Rm.br.L=processor->Rm.br.D; + return (4); + break; + case 107: // LD L,E + processor->Rm.br.L=processor->Rm.br.E; + return (4); + break; + case 108: // LD L,H + processor->Rm.br.L=processor->Rm.br.H; + return (4); + break; + case 109: // LD L,L + processor->Rm.br.L=processor->Rm.br.L; + return (4); + break; + case 110: // LD L,(HL) + processor->Rm.br.L=Z80free_Rd(processor->Rm.wr.HL); + return (7); + break; + case 111: // LD L,A + processor->Rm.br.L=processor->Rm.br.A; + return (4); + break; + case 112: // LD (HL),B + Z80free_Wr(processor->Rm.wr.HL,processor->Rm.br.B); + return (7); + break; + case 113: // LD (HL),C + Z80free_Wr(processor->Rm.wr.HL,processor->Rm.br.C); + return (7); + break; + case 114: // LD (HL),D + Z80free_Wr(processor->Rm.wr.HL,processor->Rm.br.D); + return (7); + break; + case 115: // LD (HL),E + Z80free_Wr(processor->Rm.wr.HL,processor->Rm.br.E); + return (7); + break; + case 116: // LD (HL),H + Z80free_Wr(processor->Rm.wr.HL,processor->Rm.br.H); + return (7); + break; + case 117: // LD (HL),L + Z80free_Wr(processor->Rm.wr.HL,processor->Rm.br.L); + return (7); + break; + case 118: // HALT + processor->PC--; + processor->HALT=1; + return (4); + break; + case 119: // LD (HL),A + Z80free_Wr(processor->Rm.wr.HL,processor->Rm.br.A); + return (7); + break; + case 120: // LD A,B + processor->Rm.br.A=processor->Rm.br.B; + return (4); + break; + case 121: // LD A,C + processor->Rm.br.A=processor->Rm.br.C; + return (4); + break; + case 122: // LD A,D + processor->Rm.br.A=processor->Rm.br.D; + return (4); + break; + case 123: // LD A,E + processor->Rm.br.A=processor->Rm.br.E; + return (4); + break; + case 124: // LD A,H + processor->Rm.br.A=processor->Rm.br.H; + return (4); + break; + case 125: // LD A,L + processor->Rm.br.A=processor->Rm.br.L; + return (4); + break; + case 126: // LD A,(HL) + processor->Rm.br.A=Z80free_Rd(processor->Rm.wr.HL); + return (7); + break; + case 127: // LD A,A + processor->Rm.br.A=processor->Rm.br.A; + return (4); + break; + case 128: // ADD A,B + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.B,0,0); + return (4); + break; + case 129: // ADD A,C + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.C,0,0); + return (4); + break; + case 130: // ADD A,D + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.D,0,0); + return (4); + break; + case 131: // ADD A,E + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.E,0,0); + return (4); + break; + case 132: // ADD A,H + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.H,0,0); + return (4); + break; + case 133: // ADD A,L + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.L,0,0); + return (4); + break; + case 134: // ADD A,(HL) + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,Z80free_Rd(processor->Rm.wr.HL),0,0); + return (7); + break; + case 135: // ADD A,A + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.A,0,0); + return (4); + break; + case 136: // ADC A,B + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.B,1,0); + return (4); + break; + case 137: // ADC A,C + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.C,1,0); + return (4); + break; + case 138: // ADC A,D + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.D,1,0); + return (4); + break; + case 139: // ADC A,E + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.E,1,0); + return (4); + break; + case 140: // ADC A,H + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.H,1,0); + return (4); + break; + case 141: // ADC A,L + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.L,1,0); + return (4); + break; + case 142: // ADC A,(HL) + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,Z80free_Rd(processor->Rm.wr.HL),1,0); + return (7); + break; + case 143: // ADC A,A + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.A,1,0); + return (4); + break; + case 144: // SUB B + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.B,0,1); + return (4); + break; + case 145: // SUB C + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.C,0,1); + return (4); + break; + case 146: // SUB D + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.D,0,1); + return (4); + break; + case 147: // SUB E + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.E,0,1); + return (4); + break; + case 148: // SUB H + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.H,0,1); + return (4); + break; + case 149: // SUB L + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.L,0,1); + return (4); + break; + case 150: // SUB b(HL) + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,Z80free_Rd(processor->Rm.wr.HL),0,1); + return (7); + break; + case 151: // SUB A + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.A,0,1); + return (4); + break; + case 152: // SBC A,B + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.B,1,1); + return (4); + break; + case 153: // SBC A,C + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.C,1,1); + return (4); + break; + case 154: // SBC A,D + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.D,1,1); + return (4); + break; + case 155: // SBC A,E + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.E,1,1); + return (4); + break; + case 156: // SBC A,H + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.H,1,1); + return (4); + break; + case 157: // SBC A,L + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.L,1,1); + return (4); + break; + case 158: // SBC A,(HL) + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,Z80free_Rd(processor->Rm.wr.HL),1,1); + return (7); + break; + case 159: // SBC A,A + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.A,1,1); + return (4); + break; + case 160: // AND B + Z80free_doAND(processor,processor->Rm.br.B); + return (4); + break; + case 161: // AND C + Z80free_doAND(processor,processor->Rm.br.C); + return (4); + break; + case 162: // AND D + Z80free_doAND(processor,processor->Rm.br.D); + return (4); + break; + case 163: // AND E + Z80free_doAND(processor,processor->Rm.br.E); + return (4); + break; + case 164: // AND H + Z80free_doAND(processor,processor->Rm.br.H); + return (4); + break; + case 165: // AND L + Z80free_doAND(processor,processor->Rm.br.L); + return (4); + break; + case 166: // AND b(HL) + Z80free_doAND(processor,Z80free_Rd(processor->Rm.wr.HL)); + return (7); + break; + case 167: // AND A + Z80free_doAND(processor,processor->Rm.br.A); + return (4); + break; + case 168: // XOR B + Z80free_doXOR(processor,processor->Rm.br.B); + return (4); + break; + case 169: // XOR C + Z80free_doXOR(processor,processor->Rm.br.C); + return (4); + break; + case 170: // XOR D + Z80free_doXOR(processor,processor->Rm.br.D); + return (4); + break; + case 171: // XOR E + Z80free_doXOR(processor,processor->Rm.br.E); + return (4); + break; + case 172: // XOR H + Z80free_doXOR(processor,processor->Rm.br.H); + return (4); + break; + case 173: // XOR L + Z80free_doXOR(processor,processor->Rm.br.L); + return (4); + break; + case 174: // XOR b(HL) + Z80free_doXOR(processor,Z80free_Rd(processor->Rm.wr.HL)); + return (7); + break; + case 175: // XOR A + Z80free_doXOR(processor,processor->Rm.br.A); + return (4); + break; + case 176: // OR B + Z80free_doOR(processor,processor->Rm.br.B); + return (4); + break; + case 177: // OR C + Z80free_doOR(processor,processor->Rm.br.C); + return (4); + break; + case 178: // OR D + Z80free_doOR(processor,processor->Rm.br.D); + return (4); + break; + case 179: // OR E + Z80free_doOR(processor,processor->Rm.br.E); + return (4); + break; + case 180: // OR H + Z80free_doOR(processor,processor->Rm.br.H); + return (4); + break; + case 181: // OR L + Z80free_doOR(processor,processor->Rm.br.L); + return (4); + break; + case 182: // OR b(HL) + Z80free_doOR(processor,Z80free_Rd(processor->Rm.wr.HL)); + return (7); + break; + case 183: // OR A + Z80free_doOR(processor,processor->Rm.br.A); + return (4); + break; + case 184: // CP B + tmp1=processor->Rm.br.B; + Z80free_doArithmetic(processor,processor->Rm.br.A,tmp1,0,1); + Z80free_adjustFlags(processor,tmp1); + return (4); + break; + case 185: // CP C + tmp1=processor->Rm.br.C; + Z80free_doArithmetic(processor,processor->Rm.br.A,tmp1,0,1); + Z80free_adjustFlags(processor,tmp1); + return (4); + break; + case 186: // CP D + tmp1=processor->Rm.br.D; + Z80free_doArithmetic(processor,processor->Rm.br.A,tmp1,0,1); + Z80free_adjustFlags(processor,tmp1); + return (4); + break; + case 187: // CP E + tmp1=processor->Rm.br.E; + Z80free_doArithmetic(processor,processor->Rm.br.A,tmp1,0,1); + Z80free_adjustFlags(processor,tmp1); + return (4); + break; + case 188: // CP H + tmp1=processor->Rm.br.H; + Z80free_doArithmetic(processor,processor->Rm.br.A,tmp1,0,1); + Z80free_adjustFlags(processor,tmp1); + return (4); + break; + case 189: // CP L + tmp1=processor->Rm.br.L; + Z80free_doArithmetic(processor,processor->Rm.br.A,tmp1,0,1); + Z80free_adjustFlags(processor,tmp1); + return (4); + break; + case 190: // CP b(HL) + tmp1=Z80free_Rd(processor->Rm.wr.HL); + Z80free_doArithmetic(processor,processor->Rm.br.A,tmp1,0,1); + Z80free_adjustFlags(processor,tmp1); + return (7); + break; + case 191: // CP A + tmp1=processor->Rm.br.A; + Z80free_doArithmetic(processor,processor->Rm.br.A,tmp1,0,1); + Z80free_adjustFlags(processor,tmp1); + return (4); + break; + case 192: // RET NZ + if (0==(F_Z&processor->Rm.br.F)) { + processor->PC=Z80free_doPop(processor); + return (11); + } else { + return (5); + } + break; + case 193: // POP BC + processor->Rm.wr.BC=Z80free_doPop(processor); + return (10); + break; + case 194: // JP NZ,nn + tmp2=Z80free_read_param_16(processor); + if (0==(F_Z&processor->Rm.br.F)) { + processor->PC=tmp2; + return (10); + } else { + return (10); + } + break; + case 195: // JP nn + tmp2=Z80free_read_param_16(processor); + processor->PC=tmp2; + return (10); + break; + case 196: // CALL NZ,nn + tmp2=Z80free_read_param_16(processor); + if (0==(F_Z&processor->Rm.br.F)) { + Z80free_doPush(processor,processor->PC); + processor->PC=tmp2; + return (17); + } else { + return (10); + } + break; + case 197: // PUSH BC + Z80free_doPush(processor,processor->Rm.wr.BC); + return (11); + break; + case 198: // ADD A,n + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,Z80free_read_param_8(processor),0,0); + return (7); + break; + case 199: // RST 0H + Z80free_doPush(processor,processor->PC); + processor->PC=0; + return (11); + break; + case 200: // RET Z + if (F_Z&processor->Rm.br.F) { + processor->PC=Z80free_doPop(processor); + return (11); + } else { + return (5); + } + break; + case 201: // RET + processor->PC=Z80free_doPop(processor); + return (10); + break; + case 202: // JP Z,nn + tmp2=Z80free_read_param_16(processor); + if (F_Z&processor->Rm.br.F) { + processor->PC=tmp2; + return (10); + } else { + return (10); + } + break; + case 204: // CALL Z,nn + tmp2=Z80free_read_param_16(processor); + if (F_Z&processor->Rm.br.F) { + Z80free_doPush(processor,processor->PC); + processor->PC=tmp2; + return (17); + } else { + return (10); + } + break; + case 205: // CALL nn + tmp2=Z80free_read_param_16(processor); + Z80free_doPush(processor,processor->PC); + processor->PC=tmp2; + return (17); + break; + case 206: // ADC A,n + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,Z80free_read_param_8(processor),1,0); + return (7); + break; + case 207: // RST 8H + Z80free_doPush(processor,processor->PC); + processor->PC=8; + return (11); + break; + case 208: // RET NC + if (0==(F_C&processor->Rm.br.F)) { + processor->PC=Z80free_doPop(processor); + return (11); + } else { + return (5); + } + break; + case 209: // POP DE + processor->Rm.wr.DE=Z80free_doPop(processor); + return (10); + break; + case 210: // JP NC,nn + tmp2=Z80free_read_param_16(processor); + if (0==(F_C&processor->Rm.br.F)) { + processor->PC=tmp2; + return (10); + } else { + return (10); + } + break; + case 211: // OUT n,A + tmp1=processor->Rm.br.A; + tmp2=((word)tmp1)<<8; + Z80free_Out(tmp2+((word)Z80free_read_param_8(processor)),tmp1); + return (11); + break; + case 212: // CALL NC,nn + tmp2=Z80free_read_param_16(processor); + if (0==(F_C&processor->Rm.br.F)) { + Z80free_doPush(processor,processor->PC); + processor->PC=tmp2; + return (17); + } else { + return (10); + } + break; + case 213: // PUSH DE + Z80free_doPush(processor,processor->Rm.wr.DE); + return (11); + break; + case 214: // SUB n + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,Z80free_read_param_8(processor),0,1); + return (7); + break; + case 215: // RST 10H + Z80free_doPush(processor,processor->PC); + processor->PC=16; + return (11); + break; + case 216: // RET CF + if (F_C&processor->Rm.br.F) { + processor->PC=Z80free_doPop(processor); + return (11); + } else { + return (5); + } + break; + case 217: // EXX + tmp2=processor->Rm.wr.BC; + processor->Rm.wr.BC=processor->Ra.wr.BC; + processor->Ra.wr.BC=tmp2; + tmp2=processor->Rm.wr.DE; + processor->Rm.wr.DE=processor->Ra.wr.DE; + processor->Ra.wr.DE=tmp2; + tmp2=processor->Rm.wr.HL; + processor->Rm.wr.HL=processor->Ra.wr.HL; + processor->Ra.wr.HL=tmp2; + return (4); + break; + case 218: // JP CF,nn + tmp2=Z80free_read_param_16(processor); + if (F_C&processor->Rm.br.F) { + processor->PC=tmp2; + return (10); + } else { + return (10); + } + break; + case 219: // IN A,n + tmp2=((word)processor->Rm.br.A)<<8; + processor->Rm.br.A=Z80free_In(tmp2+((word)Z80free_read_param_8(processor))); + return (11); + break; + case 220: // CALL CF,nn + tmp2=Z80free_read_param_16(processor); + if (F_C&processor->Rm.br.F) { + Z80free_doPush(processor,processor->PC); + processor->PC=tmp2; + return (17); + } else { + return (10); + } + break; + case 222: // SBC A,n + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,Z80free_read_param_8(processor),1,1); + return (7); + break; + case 223: // RST 18H + Z80free_doPush(processor,processor->PC); + processor->PC=24; + return (11); + break; + case 224: // RET PO + if (0==(F_PV&processor->Rm.br.F)) { + processor->PC=Z80free_doPop(processor); + return (11); + } else { + return (5); + } + break; + case 225: // POP HL + processor->Rm.wr.HL=Z80free_doPop(processor); + return (10); + break; + case 226: // JP PO,nn + tmp2=Z80free_read_param_16(processor); + if (0==(F_PV&processor->Rm.br.F)) { + processor->PC=tmp2; + return (10); + } else { + return (10); + } + break; + case 227: // EX (SP),HL + tmp2=Z80free_read16(processor->Rm.wr.SP); + Z80free_write16(processor->Rm.wr.SP,processor->Rm.wr.HL); + processor->Rm.wr.HL=tmp2; + return (19); + break; + case 228: // CALL PO,nn + tmp2=Z80free_read_param_16(processor); + if (0==(F_PV&processor->Rm.br.F)) { + Z80free_doPush(processor,processor->PC); + processor->PC=tmp2; + return (17); + } else { + return (10); + } + break; + case 229: // PUSH HL + Z80free_doPush(processor,processor->Rm.wr.HL); + return (11); + break; + case 230: // AND n + Z80free_doAND(processor,Z80free_read_param_8(processor)); + return (7); + break; + case 231: // RST 20H + Z80free_doPush(processor,processor->PC); + processor->PC=32; + return (11); + break; + case 232: // RET PE + if (F_PV&processor->Rm.br.F) { + processor->PC=Z80free_doPop(processor); + return (11); + } else { + return (5); + } + break; + case 233: // JP HL + tmp2=processor->Rm.wr.HL; + processor->PC=tmp2; + return (4); + break; + case 234: // JP PE,nn + tmp2=Z80free_read_param_16(processor); + if (F_PV&processor->Rm.br.F) { + processor->PC=tmp2; + return (10); + } else { + return (10); + } + break; + case 235: // EX DE,HL + tmp2=processor->Rm.wr.DE; + processor->Rm.wr.DE=processor->Rm.wr.HL; + processor->Rm.wr.HL=tmp2; + return (4); + break; + case 236: // CALL PE,nn + tmp2=Z80free_read_param_16(processor); + if (F_PV&processor->Rm.br.F) { + Z80free_doPush(processor,processor->PC); + processor->PC=tmp2; + return (17); + } else { + return (10); + } + break; + case 238: // XOR n + Z80free_doXOR(processor,Z80free_read_param_8(processor)); + return (7); + break; + case 239: // RST 28H + Z80free_doPush(processor,processor->PC); + processor->PC=40; + return (11); + break; + case 240: // RET P + if (0==(F_S&processor->Rm.br.F)) { + processor->PC=Z80free_doPop(processor); + return (11); + } else { + return (5); + } + break; + case 241: // POP AF + processor->Rm.wr.AF=Z80free_doPop(processor); + return (10); + break; + case 242: // JP P,nn + tmp2=Z80free_read_param_16(processor); + if (0==(F_S&processor->Rm.br.F)) { + processor->PC=tmp2; + return (10); + } else { + return (10); + } + break; + case 243: // DI + processor->IFF1=0; + processor->IFF2=0; + return (4); + break; + case 244: // CALL P,nn + tmp2=Z80free_read_param_16(processor); + if (0==(F_S&processor->Rm.br.F)) { + Z80free_doPush(processor,processor->PC); + processor->PC=tmp2; + return (17); + } else { + return (10); + } + break; + case 245: // PUSH AF + Z80free_doPush(processor,processor->Rm.wr.AF); + return (11); + break; + case 246: // OR n + Z80free_doOR(processor,Z80free_read_param_8(processor)); + return (7); + break; + case 247: // RST 30H + Z80free_doPush(processor,processor->PC); + processor->PC=48; + return (11); + break; + case 248: // RET M + if (F_S&processor->Rm.br.F) { + processor->PC=Z80free_doPop(processor); + return (11); + } else { + return (5); + } + break; + case 249: // LD SP,HL + processor->Rm.wr.SP=processor->Rm.wr.HL; + return (6); + break; + case 250: // JP M,nn + tmp2=Z80free_read_param_16(processor); + if (F_S&processor->Rm.br.F) { + processor->PC=tmp2; + return (10); + } else { + return (10); + } + break; + case 251: // EI + processor->IFF1=2; /* this allows to delay one instruction the interrupts*/ + processor->IFF2=1; + return (4); + break; + case 252: // CALL M,nn + tmp2=Z80free_read_param_16(processor); + if (F_S&processor->Rm.br.F) { + Z80free_doPush(processor,processor->PC); + processor->PC=tmp2; + return (17); + } else { + return (10); + } + break; + case 254: // CP n + tmp1=Z80free_read_param_8(processor); + Z80free_doArithmetic(processor,processor->Rm.br.A,tmp1,0,1); + Z80free_adjustFlags(processor,tmp1); + return (7); + break; + case 255: // RST 38H + Z80free_doPush(processor,processor->PC); + processor->PC=56; + return (11); + break; + } + + return -1; +} diff --git a/src/z80free/Z80free_codes.txt b/src/z80free/Z80free_codes.txt new file mode 100644 index 0000000..c0e7ef0 --- /dev/null +++ b/src/z80free/Z80free_codes.txt @@ -0,0 +1,259 @@ +# OPCODES, TSTATES and INSTRUCTIONS for not prefixed instructions +# some syntax have been modified (like JP (HL) to JP HL, or Carry +# condition from C to CF) to simplify the parser +00 4 NOP +01 10 LD BC,nn +02 7 LD (BC),A +03 6 INC BC +04 4 INC B +05 4 DEC B +06 7 LD B,n +07 4 RLCA +08 4 EX AF,AF' +09 11 ADD HL,BC +0A 7 LD A,(BC) +0B 6 DEC BC +0C 4 INC C +0D 4 DEC C +0E 7 LD C,n +0F 4 RRCA +10 13/8 DJNZ n +11 10 LD DE,nn +12 7 LD (DE),A +13 6 INC DE +14 4 INC D +15 4 DEC D +16 7 LD D,n +17 4 RLA +18 12 JR n +19 11 ADD HL,DE +1A 7 LD A,(DE) +1B 6 DEC DE +1C 4 INC E +1D 4 DEC E +1E 7 LD E,n +1F 4 RRA +20 12/7 JR NZ,n +21 10 LD HL,nn +22 16 LD (nn),HL +23 6 INC HL +24 4 INC H +25 4 DEC H +26 7 LD H,n +27 4 DAA +28 12/7 JR Z,n +29 11 ADD HL,HL +2A 16 LD HL,(nn) +2B 6 DEC HL +2C 4 INC L +2D 4 DEC L +2E 7 LD L,n +2F 4 CPL +30 12/7 JR NC,n +31 10 LD SP,nn +32 13 LD (nn),A +33 6 INC SP +34 11 INC b(HL) +35 11 DEC b(HL) +36 10 LD (HL),n +37 4 SCF +38 12/7 JR CF,n +39 11 ADD HL,SP +3A 13 LD A,(nn) +3B 6 DEC SP +3C 4 INC A +3D 4 DEC A +3E 7 LD A,n +3F 4 CCF +40 4 LD B,B +41 4 LD B,C +42 4 LD B,D +43 4 LD B,E +44 4 LD B,H +45 4 LD B,L +46 7 LD B,(HL) +47 4 LD B,A +48 4 LD C,B +49 4 LD C,C +4A 4 LD C,D +4B 4 LD C,E +4C 4 LD C,H +4D 4 LD C,L +4E 7 LD C,(HL) +4F 4 LD C,A +50 4 LD D,B +51 4 LD D,C +52 4 LD D,D +53 4 LD D,E +54 4 LD D,H +55 4 LD D,L +56 7 LD D,(HL) +57 4 LD D,A +58 4 LD E,B +59 4 LD E,C +5A 4 LD E,D +5B 4 LD E,E +5C 4 LD E,H +5D 4 LD E,L +5E 7 LD E,(HL) +5F 4 LD E,A +60 4 LD H,B +61 4 LD H,C +62 4 LD H,D +63 4 LD H,E +64 4 LD H,H +65 4 LD H,L +66 7 LD H,(HL) +67 4 LD H,A +68 4 LD L,B +69 4 LD L,C +6A 4 LD L,D +6B 4 LD L,E +6C 4 LD L,H +6D 4 LD L,L +6E 7 LD L,(HL) +6F 4 LD L,A +70 7 LD (HL),B +71 7 LD (HL),C +72 7 LD (HL),D +73 7 LD (HL),E +74 7 LD (HL),H +75 7 LD (HL),L +76 4 HALT +77 7 LD (HL),A +78 4 LD A,B +79 4 LD A,C +7A 4 LD A,D +7B 4 LD A,E +7C 4 LD A,H +7D 4 LD A,L +7E 7 LD A,(HL) +7F 4 LD A,A +80 4 ADD A,B +81 4 ADD A,C +82 4 ADD A,D +83 4 ADD A,E +84 4 ADD A,H +85 4 ADD A,L +86 7 ADD A,(HL) +87 4 ADD A,A +88 4 ADC A,B +89 4 ADC A,C +8A 4 ADC A,D +8B 4 ADC A,E +8C 4 ADC A,H +8D 4 ADC A,L +8E 7 ADC A,(HL) +8F 4 ADC A,A +90 4 SUB B +91 4 SUB C +92 4 SUB D +93 4 SUB E +94 4 SUB H +95 4 SUB L +96 7 SUB b(HL) +97 4 SUB A +98 4 SBC A,B +99 4 SBC A,C +9A 4 SBC A,D +9B 4 SBC A,E +9C 4 SBC A,H +9D 4 SBC A,L +9E 7 SBC A,(HL) +9F 4 SBC A,A +A0 4 AND B +A1 4 AND C +A2 4 AND D +A3 4 AND E +A4 4 AND H +A5 4 AND L +A6 7 AND b(HL) +A7 4 AND A +A8 4 XOR B +A9 4 XOR C +AA 4 XOR D +AB 4 XOR E +AC 4 XOR H +AD 4 XOR L +AE 7 XOR b(HL) +AF 4 XOR A +B0 4 OR B +B1 4 OR C +B2 4 OR D +B3 4 OR E +B4 4 OR H +B5 4 OR L +B6 7 OR b(HL) +B7 4 OR A +B8 4 CP B +B9 4 CP C +BA 4 CP D +BB 4 CP E +BC 4 CP H +BD 4 CP L +BE 7 CP b(HL) +BF 4 CP A +C0 11/5 RET NZ +C1 10 POP BC +C2 10 JP NZ,nn +C3 10 JP nn +C4 17/10 CALL NZ,nn +C5 11 PUSH BC +C6 7 ADD A,n +C7 11 RST 0H +C8 11/5 RET Z +C9 10 RET +CA 10 JP Z,nn +CB * PREFIX +CC 17/10 CALL Z,nn +CD 17 CALL nn +CE 7 ADC A,n +CF 11 RST 8H +D0 11/5 RET NC +D1 10 POP DE +D2 10 JP NC,nn +D3 11 OUT n,A +D4 17/10 CALL NC,nn +D5 11 PUSH DE +D6 7 SUB n +D7 11 RST 10H +D8 11/5 RET CF +D9 4 EXX +DA 10 JP CF,nn +DB 11 IN A,n +DC 17/10 CALL CF,nn +DD * PREFIX +DE 7 SBC A,n +DF 11 RST 18H +E0 11/5 RET PO +E1 10 POP HL +E2 10 JP PO,nn +E3 19 EX (SP),HL +E4 17/10 CALL PO,nn +E5 11 PUSH HL +E6 7 AND n +E7 11 RST 20H +E8 11/5 RET PE +E9 4 JP HL +EA 10 JP PE,nn +EB 4 EX DE,HL +EC 17/10 CALL PE,nn +ED * PREFIX +EE 7 XOR n +EF 11 RST 28H +F0 11/5 RET P +F1 10 POP AF +F2 10 JP P,nn +F3 4 DI +F4 17/10 CALL P,nn +F5 11 PUSH AF +F6 7 OR n +F7 11 RST 30H +F8 11/5 RET M +F9 6 LD SP,HL +FA 10 JP M,nn +FB 4 EI +FC 17/10 CALL M,nn +FD * PREFIX +FE 7 CP n +FF 11 RST 38H diff --git a/src/z80free/Z80free_codesCB.c b/src/z80free/Z80free_codesCB.c new file mode 100644 index 0000000..154a8d7 --- /dev/null +++ b/src/z80free/Z80free_codesCB.c @@ -0,0 +1,1052 @@ +/* + * Copyright (C) 2008-2009 Sergio Costas (Raster Software Vigo) + * This file is part of Z80Free + * + * Z80Free 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. + * + * Z80Free is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "Z80free.h" + +int Z80free_codesCB (Z80FREE *processor,byte opcode) { + + switch(opcode) { + case 0: // RLC B + processor->Rm.br.B=Z80free_doRLC(processor,1,processor->Rm.br.B); + return (4); + break; + case 1: // RLC C + processor->Rm.br.C=Z80free_doRLC(processor,1,processor->Rm.br.C); + return (4); + break; + case 2: // RLC D + processor->Rm.br.D=Z80free_doRLC(processor,1,processor->Rm.br.D); + return (4); + break; + case 3: // RLC E + processor->Rm.br.E=Z80free_doRLC(processor,1,processor->Rm.br.E); + return (4); + break; + case 4: // RLC H + processor->Rm.br.H=Z80free_doRLC(processor,1,processor->Rm.br.H); + return (4); + break; + case 5: // RLC L + processor->Rm.br.L=Z80free_doRLC(processor,1,processor->Rm.br.L); + return (4); + break; + case 6: // RLC b(HL) + Z80free_Wr(processor->Rm.wr.HL,Z80free_doRLC(processor,1,Z80free_Rd(processor->Rm.wr.HL))); + return (11); + break; + case 7: // RLC A + processor->Rm.br.A=Z80free_doRLC(processor,1,processor->Rm.br.A); + return (4); + break; + case 8: // RRC B + processor->Rm.br.B=Z80free_doRRC(processor,1,processor->Rm.br.B); + return (4); + break; + case 9: // RRC C + processor->Rm.br.C=Z80free_doRRC(processor,1,processor->Rm.br.C); + return (4); + break; + case 10: // RRC D + processor->Rm.br.D=Z80free_doRRC(processor,1,processor->Rm.br.D); + return (4); + break; + case 11: // RRC E + processor->Rm.br.E=Z80free_doRRC(processor,1,processor->Rm.br.E); + return (4); + break; + case 12: // RRC H + processor->Rm.br.H=Z80free_doRRC(processor,1,processor->Rm.br.H); + return (4); + break; + case 13: // RRC L + processor->Rm.br.L=Z80free_doRRC(processor,1,processor->Rm.br.L); + return (4); + break; + case 14: // RRC b(HL) + Z80free_Wr(processor->Rm.wr.HL,Z80free_doRRC(processor,1,Z80free_Rd(processor->Rm.wr.HL))); + return (11); + break; + case 15: // RRC A + processor->Rm.br.A=Z80free_doRRC(processor,1,processor->Rm.br.A); + return (4); + break; + case 16: // RL B + processor->Rm.br.B=Z80free_doRL(processor,1,processor->Rm.br.B); + return (4); + break; + case 17: // RL C + processor->Rm.br.C=Z80free_doRL(processor,1,processor->Rm.br.C); + return (4); + break; + case 18: // RL D + processor->Rm.br.D=Z80free_doRL(processor,1,processor->Rm.br.D); + return (4); + break; + case 19: // RL E + processor->Rm.br.E=Z80free_doRL(processor,1,processor->Rm.br.E); + return (4); + break; + case 20: // RL H + processor->Rm.br.H=Z80free_doRL(processor,1,processor->Rm.br.H); + return (4); + break; + case 21: // RL L + processor->Rm.br.L=Z80free_doRL(processor,1,processor->Rm.br.L); + return (4); + break; + case 22: // RL b(HL) + Z80free_Wr(processor->Rm.wr.HL,Z80free_doRL(processor,1,Z80free_Rd(processor->Rm.wr.HL))); + return (11); + break; + case 23: // RL A + processor->Rm.br.A=Z80free_doRL(processor,1,processor->Rm.br.A); + return (4); + break; + case 24: // RR B + processor->Rm.br.B=Z80free_doRR(processor,1,processor->Rm.br.B); + return (4); + break; + case 25: // RR C + processor->Rm.br.C=Z80free_doRR(processor,1,processor->Rm.br.C); + return (4); + break; + case 26: // RR D + processor->Rm.br.D=Z80free_doRR(processor,1,processor->Rm.br.D); + return (4); + break; + case 27: // RR E + processor->Rm.br.E=Z80free_doRR(processor,1,processor->Rm.br.E); + return (4); + break; + case 28: // RR H + processor->Rm.br.H=Z80free_doRR(processor,1,processor->Rm.br.H); + return (4); + break; + case 29: // RR L + processor->Rm.br.L=Z80free_doRR(processor,1,processor->Rm.br.L); + return (4); + break; + case 30: // RR b(HL) + Z80free_Wr(processor->Rm.wr.HL,Z80free_doRR(processor,1,Z80free_Rd(processor->Rm.wr.HL))); + return (11); + break; + case 31: // RR A + processor->Rm.br.A=Z80free_doRR(processor,1,processor->Rm.br.A); + return (4); + break; + case 32: // SLA B + processor->Rm.br.B=Z80free_doSL(processor,0,processor->Rm.br.B); + return (4); + break; + case 33: // SLA C + processor->Rm.br.C=Z80free_doSL(processor,0,processor->Rm.br.C); + return (4); + break; + case 34: // SLA D + processor->Rm.br.D=Z80free_doSL(processor,0,processor->Rm.br.D); + return (4); + break; + case 35: // SLA E + processor->Rm.br.E=Z80free_doSL(processor,0,processor->Rm.br.E); + return (4); + break; + case 36: // SLA H + processor->Rm.br.H=Z80free_doSL(processor,0,processor->Rm.br.H); + return (4); + break; + case 37: // SLA L + processor->Rm.br.L=Z80free_doSL(processor,0,processor->Rm.br.L); + return (4); + break; + case 38: // SLA b(HL) + Z80free_Wr(processor->Rm.wr.HL,Z80free_doSL(processor,0,Z80free_Rd(processor->Rm.wr.HL))); + return (11); + break; + case 39: // SLA A + processor->Rm.br.A=Z80free_doSL(processor,0,processor->Rm.br.A); + return (4); + break; + case 40: // SRA B + processor->Rm.br.B=Z80free_doSR(processor,1,processor->Rm.br.B); + return (4); + break; + case 41: // SRA C + processor->Rm.br.C=Z80free_doSR(processor,1,processor->Rm.br.C); + return (4); + break; + case 42: // SRA D + processor->Rm.br.D=Z80free_doSR(processor,1,processor->Rm.br.D); + return (4); + break; + case 43: // SRA E + processor->Rm.br.E=Z80free_doSR(processor,1,processor->Rm.br.E); + return (4); + break; + case 44: // SRA H + processor->Rm.br.H=Z80free_doSR(processor,1,processor->Rm.br.H); + return (4); + break; + case 45: // SRA L + processor->Rm.br.L=Z80free_doSR(processor,1,processor->Rm.br.L); + return (4); + break; + case 46: // SRA b(HL) + Z80free_Wr(processor->Rm.wr.HL,Z80free_doSR(processor,1,Z80free_Rd(processor->Rm.wr.HL))); + return (11); + break; + case 47: // SRA A + processor->Rm.br.A=Z80free_doSR(processor,1,processor->Rm.br.A); + return (4); + break; + case 48: // SLL B + processor->Rm.br.B=Z80free_doSL(processor,1,processor->Rm.br.B); + return (4); + break; + case 49: // SLL C + processor->Rm.br.C=Z80free_doSL(processor,1,processor->Rm.br.C); + return (4); + break; + case 50: // SLL D + processor->Rm.br.D=Z80free_doSL(processor,1,processor->Rm.br.D); + return (4); + break; + case 51: // SLL E + processor->Rm.br.E=Z80free_doSL(processor,1,processor->Rm.br.E); + return (4); + break; + case 52: // SLL H + processor->Rm.br.H=Z80free_doSL(processor,1,processor->Rm.br.H); + return (4); + break; + case 53: // SLL L + processor->Rm.br.L=Z80free_doSL(processor,1,processor->Rm.br.L); + return (4); + break; + case 54: // SLL b(HL) + Z80free_Wr(processor->Rm.wr.HL,Z80free_doSL(processor,1,Z80free_Rd(processor->Rm.wr.HL))); + return (11); + break; + case 55: // SLL A + processor->Rm.br.A=Z80free_doSL(processor,1,processor->Rm.br.A); + return (4); + break; + case 56: // SRL B + processor->Rm.br.B=Z80free_doSR(processor,0,processor->Rm.br.B); + return (4); + break; + case 57: // SRL C + processor->Rm.br.C=Z80free_doSR(processor,0,processor->Rm.br.C); + return (4); + break; + case 58: // SRL D + processor->Rm.br.D=Z80free_doSR(processor,0,processor->Rm.br.D); + return (4); + break; + case 59: // SRL E + processor->Rm.br.E=Z80free_doSR(processor,0,processor->Rm.br.E); + return (4); + break; + case 60: // SRL H + processor->Rm.br.H=Z80free_doSR(processor,0,processor->Rm.br.H); + return (4); + break; + case 61: // SRL L + processor->Rm.br.L=Z80free_doSR(processor,0,processor->Rm.br.L); + return (4); + break; + case 62: // SRL b(HL) + Z80free_Wr(processor->Rm.wr.HL,Z80free_doSR(processor,0,Z80free_Rd(processor->Rm.wr.HL))); + return (11); + break; + case 63: // SRL A + processor->Rm.br.A=Z80free_doSR(processor,0,processor->Rm.br.A); + return (4); + break; + case 64: // BIT 0,B + Z80free_doBIT(processor,0,processor->Rm.br.B); + return (4); + break; + case 65: // BIT 0,C + Z80free_doBIT(processor,0,processor->Rm.br.C); + return (4); + break; + case 66: // BIT 0,D + Z80free_doBIT(processor,0,processor->Rm.br.D); + return (4); + break; + case 67: // BIT 0,E + Z80free_doBIT(processor,0,processor->Rm.br.E); + return (4); + break; + case 68: // BIT 0,H + Z80free_doBIT(processor,0,processor->Rm.br.H); + return (4); + break; + case 69: // BIT 0,L + Z80free_doBIT(processor,0,processor->Rm.br.L); + return (4); + break; + case 70: // BIT 0,(HL) + Z80free_doBIT(processor,0,Z80free_Rd(processor->Rm.wr.HL)); + return (8); + break; + case 71: // BIT 0,A + Z80free_doBIT(processor,0,processor->Rm.br.A); + return (4); + break; + case 72: // BIT 1,B + Z80free_doBIT(processor,1,processor->Rm.br.B); + return (4); + break; + case 73: // BIT 1,C + Z80free_doBIT(processor,1,processor->Rm.br.C); + return (4); + break; + case 74: // BIT 1,D + Z80free_doBIT(processor,1,processor->Rm.br.D); + return (4); + break; + case 75: // BIT 1,E + Z80free_doBIT(processor,1,processor->Rm.br.E); + return (4); + break; + case 76: // BIT 1,H + Z80free_doBIT(processor,1,processor->Rm.br.H); + return (4); + break; + case 77: // BIT 1,L + Z80free_doBIT(processor,1,processor->Rm.br.L); + return (4); + break; + case 78: // BIT 1,(HL) + Z80free_doBIT(processor,1,Z80free_Rd(processor->Rm.wr.HL)); + return (8); + break; + case 79: // BIT 1,A + Z80free_doBIT(processor,1,processor->Rm.br.A); + return (4); + break; + case 80: // BIT 2,B + Z80free_doBIT(processor,2,processor->Rm.br.B); + return (4); + break; + case 81: // BIT 2,C + Z80free_doBIT(processor,2,processor->Rm.br.C); + return (4); + break; + case 82: // BIT 2,D + Z80free_doBIT(processor,2,processor->Rm.br.D); + return (4); + break; + case 83: // BIT 2,E + Z80free_doBIT(processor,2,processor->Rm.br.E); + return (4); + break; + case 84: // BIT 2,H + Z80free_doBIT(processor,2,processor->Rm.br.H); + return (4); + break; + case 85: // BIT 2,L + Z80free_doBIT(processor,2,processor->Rm.br.L); + return (4); + break; + case 86: // BIT 2,(HL) + Z80free_doBIT(processor,2,Z80free_Rd(processor->Rm.wr.HL)); + return (8); + break; + case 87: // BIT 2,A + Z80free_doBIT(processor,2,processor->Rm.br.A); + return (4); + break; + case 88: // BIT 3,B + Z80free_doBIT(processor,3,processor->Rm.br.B); + return (4); + break; + case 89: // BIT 3,C + Z80free_doBIT(processor,3,processor->Rm.br.C); + return (4); + break; + case 90: // BIT 3,D + Z80free_doBIT(processor,3,processor->Rm.br.D); + return (4); + break; + case 91: // BIT 3,E + Z80free_doBIT(processor,3,processor->Rm.br.E); + return (4); + break; + case 92: // BIT 3,H + Z80free_doBIT(processor,3,processor->Rm.br.H); + return (4); + break; + case 93: // BIT 3,L + Z80free_doBIT(processor,3,processor->Rm.br.L); + return (4); + break; + case 94: // BIT 3,(HL) + Z80free_doBIT(processor,3,Z80free_Rd(processor->Rm.wr.HL)); + return (8); + break; + case 95: // BIT 3,A + Z80free_doBIT(processor,3,processor->Rm.br.A); + return (4); + break; + case 96: // BIT 4,B + Z80free_doBIT(processor,4,processor->Rm.br.B); + return (4); + break; + case 97: // BIT 4,C + Z80free_doBIT(processor,4,processor->Rm.br.C); + return (4); + break; + case 98: // BIT 4,D + Z80free_doBIT(processor,4,processor->Rm.br.D); + return (4); + break; + case 99: // BIT 4,E + Z80free_doBIT(processor,4,processor->Rm.br.E); + return (4); + break; + case 100: // BIT 4,H + Z80free_doBIT(processor,4,processor->Rm.br.H); + return (4); + break; + case 101: // BIT 4,L + Z80free_doBIT(processor,4,processor->Rm.br.L); + return (4); + break; + case 102: // BIT 4,(HL) + Z80free_doBIT(processor,4,Z80free_Rd(processor->Rm.wr.HL)); + return (8); + break; + case 103: // BIT 4,A + Z80free_doBIT(processor,4,processor->Rm.br.A); + return (4); + break; + case 104: // BIT 5,B + Z80free_doBIT(processor,5,processor->Rm.br.B); + return (4); + break; + case 105: // BIT 5,C + Z80free_doBIT(processor,5,processor->Rm.br.C); + return (4); + break; + case 106: // BIT 5,D + Z80free_doBIT(processor,5,processor->Rm.br.D); + return (4); + break; + case 107: // BIT 5,E + Z80free_doBIT(processor,5,processor->Rm.br.E); + return (4); + break; + case 108: // BIT 5,H + Z80free_doBIT(processor,5,processor->Rm.br.H); + return (4); + break; + case 109: // BIT 5,L + Z80free_doBIT(processor,5,processor->Rm.br.L); + return (4); + break; + case 110: // BIT 5,(HL) + Z80free_doBIT(processor,5,Z80free_Rd(processor->Rm.wr.HL)); + return (8); + break; + case 111: // BIT 5,A + Z80free_doBIT(processor,5,processor->Rm.br.A); + return (4); + break; + case 112: // BIT 6,B + Z80free_doBIT(processor,6,processor->Rm.br.B); + return (4); + break; + case 113: // BIT 6,C + Z80free_doBIT(processor,6,processor->Rm.br.C); + return (4); + break; + case 114: // BIT 6,D + Z80free_doBIT(processor,6,processor->Rm.br.D); + return (4); + break; + case 115: // BIT 6,E + Z80free_doBIT(processor,6,processor->Rm.br.E); + return (4); + break; + case 116: // BIT 6,H + Z80free_doBIT(processor,6,processor->Rm.br.H); + return (4); + break; + case 117: // BIT 6,L + Z80free_doBIT(processor,6,processor->Rm.br.L); + return (4); + break; + case 118: // BIT 6,(HL) + Z80free_doBIT(processor,6,Z80free_Rd(processor->Rm.wr.HL)); + return (8); + break; + case 119: // BIT 6,A + Z80free_doBIT(processor,6,processor->Rm.br.A); + return (4); + break; + case 120: // BIT 7,B + Z80free_doBIT(processor,7,processor->Rm.br.B); + return (4); + break; + case 121: // BIT 7,C + Z80free_doBIT(processor,7,processor->Rm.br.C); + return (4); + break; + case 122: // BIT 7,D + Z80free_doBIT(processor,7,processor->Rm.br.D); + return (4); + break; + case 123: // BIT 7,E + Z80free_doBIT(processor,7,processor->Rm.br.E); + return (4); + break; + case 124: // BIT 7,H + Z80free_doBIT(processor,7,processor->Rm.br.H); + return (4); + break; + case 125: // BIT 7,L + Z80free_doBIT(processor,7,processor->Rm.br.L); + return (4); + break; + case 126: // BIT 7,(HL) + Z80free_doBIT(processor,7,Z80free_Rd(processor->Rm.wr.HL)); + return (8); + break; + case 127: // BIT 7,A + Z80free_doBIT(processor,7,processor->Rm.br.A); + return (4); + break; + case 128: // RES 0,B + processor->Rm.br.B=Z80free_doSetRes(processor,0,0,processor->Rm.br.B); + return (4); + break; + case 129: // RES 0,C + processor->Rm.br.C=Z80free_doSetRes(processor,0,0,processor->Rm.br.C); + return (4); + break; + case 130: // RES 0,D + processor->Rm.br.D=Z80free_doSetRes(processor,0,0,processor->Rm.br.D); + return (4); + break; + case 131: // RES 0,E + processor->Rm.br.E=Z80free_doSetRes(processor,0,0,processor->Rm.br.E); + return (4); + break; + case 132: // RES 0,H + processor->Rm.br.H=Z80free_doSetRes(processor,0,0,processor->Rm.br.H); + return (4); + break; + case 133: // RES 0,L + processor->Rm.br.L=Z80free_doSetRes(processor,0,0,processor->Rm.br.L); + return (4); + break; + case 134: // RES 0,(HL) + Z80free_Wr(processor->Rm.wr.HL,Z80free_doSetRes(processor,0,0,Z80free_Rd(processor->Rm.wr.HL))); + return (11); + break; + case 135: // RES 0,A + processor->Rm.br.A=Z80free_doSetRes(processor,0,0,processor->Rm.br.A); + return (4); + break; + case 136: // RES 1,B + processor->Rm.br.B=Z80free_doSetRes(processor,0,1,processor->Rm.br.B); + return (4); + break; + case 137: // RES 1,C + processor->Rm.br.C=Z80free_doSetRes(processor,0,1,processor->Rm.br.C); + return (4); + break; + case 138: // RES 1,D + processor->Rm.br.D=Z80free_doSetRes(processor,0,1,processor->Rm.br.D); + return (4); + break; + case 139: // RES 1,E + processor->Rm.br.E=Z80free_doSetRes(processor,0,1,processor->Rm.br.E); + return (4); + break; + case 140: // RES 1,H + processor->Rm.br.H=Z80free_doSetRes(processor,0,1,processor->Rm.br.H); + return (4); + break; + case 141: // RES 1,L + processor->Rm.br.L=Z80free_doSetRes(processor,0,1,processor->Rm.br.L); + return (4); + break; + case 142: // RES 1,(HL) + Z80free_Wr(processor->Rm.wr.HL,Z80free_doSetRes(processor,0,1,Z80free_Rd(processor->Rm.wr.HL))); + return (11); + break; + case 143: // RES 1,A + processor->Rm.br.A=Z80free_doSetRes(processor,0,1,processor->Rm.br.A); + return (4); + break; + case 144: // RES 2,B + processor->Rm.br.B=Z80free_doSetRes(processor,0,2,processor->Rm.br.B); + return (4); + break; + case 145: // RES 2,C + processor->Rm.br.C=Z80free_doSetRes(processor,0,2,processor->Rm.br.C); + return (4); + break; + case 146: // RES 2,D + processor->Rm.br.D=Z80free_doSetRes(processor,0,2,processor->Rm.br.D); + return (4); + break; + case 147: // RES 2,E + processor->Rm.br.E=Z80free_doSetRes(processor,0,2,processor->Rm.br.E); + return (4); + break; + case 148: // RES 2,H + processor->Rm.br.H=Z80free_doSetRes(processor,0,2,processor->Rm.br.H); + return (4); + break; + case 149: // RES 2,L + processor->Rm.br.L=Z80free_doSetRes(processor,0,2,processor->Rm.br.L); + return (4); + break; + case 150: // RES 2,(HL) + Z80free_Wr(processor->Rm.wr.HL,Z80free_doSetRes(processor,0,2,Z80free_Rd(processor->Rm.wr.HL))); + return (11); + break; + case 151: // RES 2,A + processor->Rm.br.A=Z80free_doSetRes(processor,0,2,processor->Rm.br.A); + return (4); + break; + case 152: // RES 3,B + processor->Rm.br.B=Z80free_doSetRes(processor,0,3,processor->Rm.br.B); + return (4); + break; + case 153: // RES 3,C + processor->Rm.br.C=Z80free_doSetRes(processor,0,3,processor->Rm.br.C); + return (4); + break; + case 154: // RES 3,D + processor->Rm.br.D=Z80free_doSetRes(processor,0,3,processor->Rm.br.D); + return (4); + break; + case 155: // RES 3,E + processor->Rm.br.E=Z80free_doSetRes(processor,0,3,processor->Rm.br.E); + return (4); + break; + case 156: // RES 3,H + processor->Rm.br.H=Z80free_doSetRes(processor,0,3,processor->Rm.br.H); + return (4); + break; + case 157: // RES 3,L + processor->Rm.br.L=Z80free_doSetRes(processor,0,3,processor->Rm.br.L); + return (4); + break; + case 158: // RES 3,(HL) + Z80free_Wr(processor->Rm.wr.HL,Z80free_doSetRes(processor,0,3,Z80free_Rd(processor->Rm.wr.HL))); + return (11); + break; + case 159: // RES 3,A + processor->Rm.br.A=Z80free_doSetRes(processor,0,3,processor->Rm.br.A); + return (4); + break; + case 160: // RES 4,B + processor->Rm.br.B=Z80free_doSetRes(processor,0,4,processor->Rm.br.B); + return (4); + break; + case 161: // RES 4,C + processor->Rm.br.C=Z80free_doSetRes(processor,0,4,processor->Rm.br.C); + return (4); + break; + case 162: // RES 4,D + processor->Rm.br.D=Z80free_doSetRes(processor,0,4,processor->Rm.br.D); + return (4); + break; + case 163: // RES 4,E + processor->Rm.br.E=Z80free_doSetRes(processor,0,4,processor->Rm.br.E); + return (4); + break; + case 164: // RES 4,H + processor->Rm.br.H=Z80free_doSetRes(processor,0,4,processor->Rm.br.H); + return (4); + break; + case 165: // RES 4,L + processor->Rm.br.L=Z80free_doSetRes(processor,0,4,processor->Rm.br.L); + return (4); + break; + case 166: // RES 4,(HL) + Z80free_Wr(processor->Rm.wr.HL,Z80free_doSetRes(processor,0,4,Z80free_Rd(processor->Rm.wr.HL))); + return (11); + break; + case 167: // RES 4,A + processor->Rm.br.A=Z80free_doSetRes(processor,0,4,processor->Rm.br.A); + return (4); + break; + case 168: // RES 5,B + processor->Rm.br.B=Z80free_doSetRes(processor,0,5,processor->Rm.br.B); + return (4); + break; + case 169: // RES 5,C + processor->Rm.br.C=Z80free_doSetRes(processor,0,5,processor->Rm.br.C); + return (4); + break; + case 170: // RES 5,D + processor->Rm.br.D=Z80free_doSetRes(processor,0,5,processor->Rm.br.D); + return (4); + break; + case 171: // RES 5,E + processor->Rm.br.E=Z80free_doSetRes(processor,0,5,processor->Rm.br.E); + return (4); + break; + case 172: // RES 5,H + processor->Rm.br.H=Z80free_doSetRes(processor,0,5,processor->Rm.br.H); + return (4); + break; + case 173: // RES 5,L + processor->Rm.br.L=Z80free_doSetRes(processor,0,5,processor->Rm.br.L); + return (4); + break; + case 174: // RES 5,(HL) + Z80free_Wr(processor->Rm.wr.HL,Z80free_doSetRes(processor,0,5,Z80free_Rd(processor->Rm.wr.HL))); + return (11); + break; + case 175: // RES 5,A + processor->Rm.br.A=Z80free_doSetRes(processor,0,5,processor->Rm.br.A); + return (4); + break; + case 176: // RES 6,B + processor->Rm.br.B=Z80free_doSetRes(processor,0,6,processor->Rm.br.B); + return (4); + break; + case 177: // RES 6,C + processor->Rm.br.C=Z80free_doSetRes(processor,0,6,processor->Rm.br.C); + return (4); + break; + case 178: // RES 6,D + processor->Rm.br.D=Z80free_doSetRes(processor,0,6,processor->Rm.br.D); + return (4); + break; + case 179: // RES 6,E + processor->Rm.br.E=Z80free_doSetRes(processor,0,6,processor->Rm.br.E); + return (4); + break; + case 180: // RES 6,H + processor->Rm.br.H=Z80free_doSetRes(processor,0,6,processor->Rm.br.H); + return (4); + break; + case 181: // RES 6,L + processor->Rm.br.L=Z80free_doSetRes(processor,0,6,processor->Rm.br.L); + return (4); + break; + case 182: // RES 6,(HL) + Z80free_Wr(processor->Rm.wr.HL,Z80free_doSetRes(processor,0,6,Z80free_Rd(processor->Rm.wr.HL))); + return (11); + break; + case 183: // RES 6,A + processor->Rm.br.A=Z80free_doSetRes(processor,0,6,processor->Rm.br.A); + return (4); + break; + case 184: // RES 7,B + processor->Rm.br.B=Z80free_doSetRes(processor,0,7,processor->Rm.br.B); + return (4); + break; + case 185: // RES 7,C + processor->Rm.br.C=Z80free_doSetRes(processor,0,7,processor->Rm.br.C); + return (4); + break; + case 186: // RES 7,D + processor->Rm.br.D=Z80free_doSetRes(processor,0,7,processor->Rm.br.D); + return (4); + break; + case 187: // RES 7,E + processor->Rm.br.E=Z80free_doSetRes(processor,0,7,processor->Rm.br.E); + return (4); + break; + case 188: // RES 7,H + processor->Rm.br.H=Z80free_doSetRes(processor,0,7,processor->Rm.br.H); + return (4); + break; + case 189: // RES 7,L + processor->Rm.br.L=Z80free_doSetRes(processor,0,7,processor->Rm.br.L); + return (4); + break; + case 190: // RES 7,(HL) + Z80free_Wr(processor->Rm.wr.HL,Z80free_doSetRes(processor,0,7,Z80free_Rd(processor->Rm.wr.HL))); + return (11); + break; + case 191: // RES 7,A + processor->Rm.br.A=Z80free_doSetRes(processor,0,7,processor->Rm.br.A); + return (4); + break; + case 192: // SET 0,B + processor->Rm.br.B=Z80free_doSetRes(processor,1,0,processor->Rm.br.B); + return (4); + break; + case 193: // SET 0,C + processor->Rm.br.C=Z80free_doSetRes(processor,1,0,processor->Rm.br.C); + return (4); + break; + case 194: // SET 0,D + processor->Rm.br.D=Z80free_doSetRes(processor,1,0,processor->Rm.br.D); + return (4); + break; + case 195: // SET 0,E + processor->Rm.br.E=Z80free_doSetRes(processor,1,0,processor->Rm.br.E); + return (4); + break; + case 196: // SET 0,H + processor->Rm.br.H=Z80free_doSetRes(processor,1,0,processor->Rm.br.H); + return (4); + break; + case 197: // SET 0,L + processor->Rm.br.L=Z80free_doSetRes(processor,1,0,processor->Rm.br.L); + return (4); + break; + case 198: // SET 0,(HL) + Z80free_Wr(processor->Rm.wr.HL,Z80free_doSetRes(processor,1,0,Z80free_Rd(processor->Rm.wr.HL))); + return (11); + break; + case 199: // SET 0,A + processor->Rm.br.A=Z80free_doSetRes(processor,1,0,processor->Rm.br.A); + return (4); + break; + case 200: // SET 1,B + processor->Rm.br.B=Z80free_doSetRes(processor,1,1,processor->Rm.br.B); + return (4); + break; + case 201: // SET 1,C + processor->Rm.br.C=Z80free_doSetRes(processor,1,1,processor->Rm.br.C); + return (4); + break; + case 202: // SET 1,D + processor->Rm.br.D=Z80free_doSetRes(processor,1,1,processor->Rm.br.D); + return (4); + break; + case 203: // SET 1,E + processor->Rm.br.E=Z80free_doSetRes(processor,1,1,processor->Rm.br.E); + return (4); + break; + case 204: // SET 1,H + processor->Rm.br.H=Z80free_doSetRes(processor,1,1,processor->Rm.br.H); + return (4); + break; + case 205: // SET 1,L + processor->Rm.br.L=Z80free_doSetRes(processor,1,1,processor->Rm.br.L); + return (4); + break; + case 206: // SET 1,(HL) + Z80free_Wr(processor->Rm.wr.HL,Z80free_doSetRes(processor,1,1,Z80free_Rd(processor->Rm.wr.HL))); + return (11); + break; + case 207: // SET 1,A + processor->Rm.br.A=Z80free_doSetRes(processor,1,1,processor->Rm.br.A); + return (4); + break; + case 208: // SET 2,B + processor->Rm.br.B=Z80free_doSetRes(processor,1,2,processor->Rm.br.B); + return (4); + break; + case 209: // SET 2,C + processor->Rm.br.C=Z80free_doSetRes(processor,1,2,processor->Rm.br.C); + return (4); + break; + case 210: // SET 2,D + processor->Rm.br.D=Z80free_doSetRes(processor,1,2,processor->Rm.br.D); + return (4); + break; + case 211: // SET 2,E + processor->Rm.br.E=Z80free_doSetRes(processor,1,2,processor->Rm.br.E); + return (4); + break; + case 212: // SET 2,H + processor->Rm.br.H=Z80free_doSetRes(processor,1,2,processor->Rm.br.H); + return (4); + break; + case 213: // SET 2,L + processor->Rm.br.L=Z80free_doSetRes(processor,1,2,processor->Rm.br.L); + return (4); + break; + case 214: // SET 2,(HL) + Z80free_Wr(processor->Rm.wr.HL,Z80free_doSetRes(processor,1,2,Z80free_Rd(processor->Rm.wr.HL))); + return (11); + break; + case 215: // SET 2,A + processor->Rm.br.A=Z80free_doSetRes(processor,1,2,processor->Rm.br.A); + return (4); + break; + case 216: // SET 3,B + processor->Rm.br.B=Z80free_doSetRes(processor,1,3,processor->Rm.br.B); + return (4); + break; + case 217: // SET 3,C + processor->Rm.br.C=Z80free_doSetRes(processor,1,3,processor->Rm.br.C); + return (4); + break; + case 218: // SET 3,D + processor->Rm.br.D=Z80free_doSetRes(processor,1,3,processor->Rm.br.D); + return (4); + break; + case 219: // SET 3,E + processor->Rm.br.E=Z80free_doSetRes(processor,1,3,processor->Rm.br.E); + return (4); + break; + case 220: // SET 3,H + processor->Rm.br.H=Z80free_doSetRes(processor,1,3,processor->Rm.br.H); + return (4); + break; + case 221: // SET 3,L + processor->Rm.br.L=Z80free_doSetRes(processor,1,3,processor->Rm.br.L); + return (4); + break; + case 222: // SET 3,(HL) + Z80free_Wr(processor->Rm.wr.HL,Z80free_doSetRes(processor,1,3,Z80free_Rd(processor->Rm.wr.HL))); + return (11); + break; + case 223: // SET 3,A + processor->Rm.br.A=Z80free_doSetRes(processor,1,3,processor->Rm.br.A); + return (4); + break; + case 224: // SET 4,B + processor->Rm.br.B=Z80free_doSetRes(processor,1,4,processor->Rm.br.B); + return (4); + break; + case 225: // SET 4,C + processor->Rm.br.C=Z80free_doSetRes(processor,1,4,processor->Rm.br.C); + return (4); + break; + case 226: // SET 4,D + processor->Rm.br.D=Z80free_doSetRes(processor,1,4,processor->Rm.br.D); + return (4); + break; + case 227: // SET 4,E + processor->Rm.br.E=Z80free_doSetRes(processor,1,4,processor->Rm.br.E); + return (4); + break; + case 228: // SET 4,H + processor->Rm.br.H=Z80free_doSetRes(processor,1,4,processor->Rm.br.H); + return (4); + break; + case 229: // SET 4,L + processor->Rm.br.L=Z80free_doSetRes(processor,1,4,processor->Rm.br.L); + return (4); + break; + case 230: // SET 4,(HL) + Z80free_Wr(processor->Rm.wr.HL,Z80free_doSetRes(processor,1,4,Z80free_Rd(processor->Rm.wr.HL))); + return (11); + break; + case 231: // SET 4,A + processor->Rm.br.A=Z80free_doSetRes(processor,1,4,processor->Rm.br.A); + return (4); + break; + case 232: // SET 5,B + processor->Rm.br.B=Z80free_doSetRes(processor,1,5,processor->Rm.br.B); + return (4); + break; + case 233: // SET 5,C + processor->Rm.br.C=Z80free_doSetRes(processor,1,5,processor->Rm.br.C); + return (4); + break; + case 234: // SET 5,D + processor->Rm.br.D=Z80free_doSetRes(processor,1,5,processor->Rm.br.D); + return (4); + break; + case 235: // SET 5,E + processor->Rm.br.E=Z80free_doSetRes(processor,1,5,processor->Rm.br.E); + return (4); + break; + case 236: // SET 5,H + processor->Rm.br.H=Z80free_doSetRes(processor,1,5,processor->Rm.br.H); + return (4); + break; + case 237: // SET 5,L + processor->Rm.br.L=Z80free_doSetRes(processor,1,5,processor->Rm.br.L); + return (4); + break; + case 238: // SET 5,(HL) + Z80free_Wr(processor->Rm.wr.HL,Z80free_doSetRes(processor,1,5,Z80free_Rd(processor->Rm.wr.HL))); + return (11); + break; + case 239: // SET 5,A + processor->Rm.br.A=Z80free_doSetRes(processor,1,5,processor->Rm.br.A); + return (4); + break; + case 240: // SET 6,B + processor->Rm.br.B=Z80free_doSetRes(processor,1,6,processor->Rm.br.B); + return (4); + break; + case 241: // SET 6,C + processor->Rm.br.C=Z80free_doSetRes(processor,1,6,processor->Rm.br.C); + return (4); + break; + case 242: // SET 6,D + processor->Rm.br.D=Z80free_doSetRes(processor,1,6,processor->Rm.br.D); + return (4); + break; + case 243: // SET 6,E + processor->Rm.br.E=Z80free_doSetRes(processor,1,6,processor->Rm.br.E); + return (4); + break; + case 244: // SET 6,H + processor->Rm.br.H=Z80free_doSetRes(processor,1,6,processor->Rm.br.H); + return (4); + break; + case 245: // SET 6,L + processor->Rm.br.L=Z80free_doSetRes(processor,1,6,processor->Rm.br.L); + return (4); + break; + case 246: // SET 6,(HL) + Z80free_Wr(processor->Rm.wr.HL,Z80free_doSetRes(processor,1,6,Z80free_Rd(processor->Rm.wr.HL))); + return (11); + break; + case 247: // SET 6,A + processor->Rm.br.A=Z80free_doSetRes(processor,1,6,processor->Rm.br.A); + return (4); + break; + case 248: // SET 7,B + processor->Rm.br.B=Z80free_doSetRes(processor,1,7,processor->Rm.br.B); + return (4); + break; + case 249: // SET 7,C + processor->Rm.br.C=Z80free_doSetRes(processor,1,7,processor->Rm.br.C); + return (4); + break; + case 250: // SET 7,D + processor->Rm.br.D=Z80free_doSetRes(processor,1,7,processor->Rm.br.D); + return (4); + break; + case 251: // SET 7,E + processor->Rm.br.E=Z80free_doSetRes(processor,1,7,processor->Rm.br.E); + return (4); + break; + case 252: // SET 7,H + processor->Rm.br.H=Z80free_doSetRes(processor,1,7,processor->Rm.br.H); + return (4); + break; + case 253: // SET 7,L + processor->Rm.br.L=Z80free_doSetRes(processor,1,7,processor->Rm.br.L); + return (4); + break; + case 254: // SET 7,(HL) + Z80free_Wr(processor->Rm.wr.HL,Z80free_doSetRes(processor,1,7,Z80free_Rd(processor->Rm.wr.HL))); + return (11); + break; + case 255: // SET 7,A + processor->Rm.br.A=Z80free_doSetRes(processor,1,7,processor->Rm.br.A); + return (4); + break; + } + + return -1; +} diff --git a/src/z80free/Z80free_codesCB.txt b/src/z80free/Z80free_codesCB.txt new file mode 100644 index 0000000..91c59d3 --- /dev/null +++ b/src/z80free/Z80free_codesCB.txt @@ -0,0 +1,259 @@ +# OPCODES, TSTATES and INSTRUCTIONS for CB prefixed instructions +# The TSTATES are 4 less than the real ones because they are counted +# when executing the CB prefix +00 4 RLC B +01 4 RLC C +02 4 RLC D +03 4 RLC E +04 4 RLC H +05 4 RLC L +06 11 RLC b(HL) +07 4 RLC A +08 4 RRC B +09 4 RRC C +0A 4 RRC D +0B 4 RRC E +0C 4 RRC H +0D 4 RRC L +0E 11 RRC b(HL) +0F 4 RRC A +10 4 RL B +11 4 RL C +12 4 RL D +13 4 RL E +14 4 RL H +15 4 RL L +16 11 RL b(HL) +17 4 RL A +18 4 RR B +19 4 RR C +1A 4 RR D +1B 4 RR E +1C 4 RR H +1D 4 RR L +1E 11 RR b(HL) +1F 4 RR A +20 4 SLA B +21 4 SLA C +22 4 SLA D +23 4 SLA E +24 4 SLA H +25 4 SLA L +26 11 SLA b(HL) +27 4 SLA A +28 4 SRA B +29 4 SRA C +2A 4 SRA D +2B 4 SRA E +2C 4 SRA H +2D 4 SRA L +2E 11 SRA b(HL) +2F 4 SRA A +30 4 SLL B +31 4 SLL C +32 4 SLL D +33 4 SLL E +34 4 SLL H +35 4 SLL L +36 11 SLL b(HL) +37 4 SLL A +38 4 SRL B +39 4 SRL C +3A 4 SRL D +3B 4 SRL E +3C 4 SRL H +3D 4 SRL L +3E 11 SRL b(HL) +3F 4 SRL A +40 4 BIT 0,B +41 4 BIT 0,C +42 4 BIT 0,D +43 4 BIT 0,E +44 4 BIT 0,H +45 4 BIT 0,L +46 8 BIT 0,(HL) +47 4 BIT 0,A +48 4 BIT 1,B +49 4 BIT 1,C +4A 4 BIT 1,D +4B 4 BIT 1,E +4C 4 BIT 1,H +4D 4 BIT 1,L +4E 8 BIT 1,(HL) +4F 4 BIT 1,A +50 4 BIT 2,B +51 4 BIT 2,C +52 4 BIT 2,D +53 4 BIT 2,E +54 4 BIT 2,H +55 4 BIT 2,L +56 8 BIT 2,(HL) +57 4 BIT 2,A +58 4 BIT 3,B +59 4 BIT 3,C +5A 4 BIT 3,D +5B 4 BIT 3,E +5C 4 BIT 3,H +5D 4 BIT 3,L +5E 8 BIT 3,(HL) +5F 4 BIT 3,A +60 4 BIT 4,B +61 4 BIT 4,C +62 4 BIT 4,D +63 4 BIT 4,E +64 4 BIT 4,H +65 4 BIT 4,L +66 8 BIT 4,(HL) +67 4 BIT 4,A +68 4 BIT 5,B +69 4 BIT 5,C +6A 4 BIT 5,D +6B 4 BIT 5,E +6C 4 BIT 5,H +6D 4 BIT 5,L +6E 8 BIT 5,(HL) +6F 4 BIT 5,A +70 4 BIT 6,B +71 4 BIT 6,C +72 4 BIT 6,D +73 4 BIT 6,E +74 4 BIT 6,H +75 4 BIT 6,L +76 8 BIT 6,(HL) +77 4 BIT 6,A +78 4 BIT 7,B +79 4 BIT 7,C +7A 4 BIT 7,D +7B 4 BIT 7,E +7C 4 BIT 7,H +7D 4 BIT 7,L +7E 8 BIT 7,(HL) +7F 4 BIT 7,A +80 4 RES 0,B +81 4 RES 0,C +82 4 RES 0,D +83 4 RES 0,E +84 4 RES 0,H +85 4 RES 0,L +86 11 RES 0,(HL) +87 4 RES 0,A +88 4 RES 1,B +89 4 RES 1,C +8A 4 RES 1,D +8B 4 RES 1,E +8C 4 RES 1,H +8D 4 RES 1,L +8E 11 RES 1,(HL) +8F 4 RES 1,A +90 4 RES 2,B +91 4 RES 2,C +92 4 RES 2,D +93 4 RES 2,E +94 4 RES 2,H +95 4 RES 2,L +96 11 RES 2,(HL) +97 4 RES 2,A +98 4 RES 3,B +99 4 RES 3,C +9A 4 RES 3,D +9B 4 RES 3,E +9C 4 RES 3,H +9D 4 RES 3,L +9E 11 RES 3,(HL) +9F 4 RES 3,A +A0 4 RES 4,B +A1 4 RES 4,C +A2 4 RES 4,D +A3 4 RES 4,E +A4 4 RES 4,H +A5 4 RES 4,L +A6 11 RES 4,(HL) +A7 4 RES 4,A +A8 4 RES 5,B +A9 4 RES 5,C +AA 4 RES 5,D +AB 4 RES 5,E +AC 4 RES 5,H +AD 4 RES 5,L +AE 11 RES 5,(HL) +AF 4 RES 5,A +B0 4 RES 6,B +B1 4 RES 6,C +B2 4 RES 6,D +B3 4 RES 6,E +B4 4 RES 6,H +B5 4 RES 6,L +B6 11 RES 6,(HL) +B7 4 RES 6,A +B8 4 RES 7,B +B9 4 RES 7,C +BA 4 RES 7,D +BB 4 RES 7,E +BC 4 RES 7,H +BD 4 RES 7,L +BE 11 RES 7,(HL) +BF 4 RES 7,A +C0 4 SET 0,B +C1 4 SET 0,C +C2 4 SET 0,D +C3 4 SET 0,E +C4 4 SET 0,H +C5 4 SET 0,L +C6 11 SET 0,(HL) +C7 4 SET 0,A +C8 4 SET 1,B +C9 4 SET 1,C +CA 4 SET 1,D +CB 4 SET 1,E +CC 4 SET 1,H +CD 4 SET 1,L +CE 11 SET 1,(HL) +CF 4 SET 1,A +D0 4 SET 2,B +D1 4 SET 2,C +D2 4 SET 2,D +D3 4 SET 2,E +D4 4 SET 2,H +D5 4 SET 2,L +D6 11 SET 2,(HL) +D7 4 SET 2,A +D8 4 SET 3,B +D9 4 SET 3,C +DA 4 SET 3,D +DB 4 SET 3,E +DC 4 SET 3,H +DD 4 SET 3,L +DE 11 SET 3,(HL) +DF 4 SET 3,A +E0 4 SET 4,B +E1 4 SET 4,C +E2 4 SET 4,D +E3 4 SET 4,E +E4 4 SET 4,H +E5 4 SET 4,L +E6 11 SET 4,(HL) +E7 4 SET 4,A +E8 4 SET 5,B +E9 4 SET 5,C +EA 4 SET 5,D +EB 4 SET 5,E +EC 4 SET 5,H +ED 4 SET 5,L +EE 11 SET 5,(HL) +EF 4 SET 5,A +F0 4 SET 6,B +F1 4 SET 6,C +F2 4 SET 6,D +F3 4 SET 6,E +F4 4 SET 6,H +F5 4 SET 6,L +F6 11 SET 6,(HL) +F7 4 SET 6,A +F8 4 SET 7,B +F9 4 SET 7,C +FA 4 SET 7,D +FB 4 SET 7,E +FC 4 SET 7,H +FD 4 SET 7,L +FE 11 SET 7,(HL) +FF 4 SET 7,A diff --git a/src/z80free/Z80free_codesDD.c b/src/z80free/Z80free_codesDD.c new file mode 100644 index 0000000..1f5c322 --- /dev/null +++ b/src/z80free/Z80free_codesDD.c @@ -0,0 +1,890 @@ +/* + * Copyright (C) 2008-2009 Sergio Costas (Raster Software Vigo) + * This file is part of Z80Free + * + * Z80Free 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. + * + * Z80Free is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "Z80free.h" + +int Z80free_codesDD (Z80FREE *processor,byte opcode) { + static byte tmp1; + static word tmp2; + + switch(opcode) { + case 0: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 1: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 2: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 3: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 4: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 5: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 6: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 7: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 8: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 9: // ADD IX,BC + processor->Rm.wr.IX=Z80free_doArithmetic16(processor,processor->Rm.wr.IX,processor->Rm.wr.BC,0,0); + return (11); + break; + case 10: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 11: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 12: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 13: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 14: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 15: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 16: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 17: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 18: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 19: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 20: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 21: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 22: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 23: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 24: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 25: // ADD IX,DE + processor->Rm.wr.IX=Z80free_doArithmetic16(processor,processor->Rm.wr.IX,processor->Rm.wr.DE,0,0); + return (11); + break; + case 26: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 27: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 28: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 29: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 30: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 31: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 32: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 33: // LD IX,nn + processor->Rm.wr.IX=Z80free_read_param_16(processor); + return (10); + break; + case 34: // LD (nn),IX + Z80free_write16(Z80free_read_param_16(processor),processor->Rm.wr.IX); + return (16); + break; + case 35: // INC IX + processor->Rm.wr.IX=Z80free_doIncDec16(processor,processor->Rm.wr.IX,0); + return (6); + break; + case 36: // INC IXH + processor->Rm.br.IXh=Z80free_doIncDec(processor,processor->Rm.br.IXh,0); + return (4); + break; + case 37: // DEC IXH + processor->Rm.br.IXh=Z80free_doIncDec(processor,processor->Rm.br.IXh,1); + return (4); + break; + case 38: // LD IXH,n + processor->Rm.br.IXh=Z80free_read_param_8(processor); + return (7); + break; + case 39: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 40: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 41: // ADD IX,IX + processor->Rm.wr.IX=Z80free_doArithmetic16(processor,processor->Rm.wr.IX,processor->Rm.wr.IX,0,0); + return (11); + break; + case 42: // LD IX,(nn) + processor->Rm.wr.IX=Z80free_read16(Z80free_read_param_16(processor)); + return (16); + break; + case 43: // DEC IX + processor->Rm.wr.IX=Z80free_doIncDec16(processor,processor->Rm.wr.IX,1); + return (6); + break; + case 44: // INC IXL + processor->Rm.br.IXl=Z80free_doIncDec(processor,processor->Rm.br.IXl,0); + return (4); + break; + case 45: // DEC IXL + processor->Rm.br.IXl=Z80free_doIncDec(processor,processor->Rm.br.IXl,1); + return (4); + break; + case 46: // LD IXL,n + processor->Rm.br.IXl=Z80free_read_param_8(processor); + return (7); + break; + case 47: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 48: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 49: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 50: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 51: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 52: // INC b(IX+d) + Z80free_Wr(Z80free_addr_relative(processor,processor->Rm.wr.IX),Z80free_doIncDec(processor,Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IX)),0)); + return (19); + break; + case 53: // DEC b(IX+d) + Z80free_Wr(Z80free_addr_relative(processor,processor->Rm.wr.IX),Z80free_doIncDec(processor,Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IX)),1)); + return (19); + break; + case 54: // LD2 IX+d,n + tmp2=Z80free_addr_relative(processor,processor->Rm.wr.IX); + Z80free_Wr(tmp2,Z80free_read_param_8(processor)); + return (15); + break; + case 55: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 56: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 57: // ADD IX,SP + processor->Rm.wr.IX=Z80free_doArithmetic16(processor,processor->Rm.wr.IX,processor->Rm.wr.SP,0,0); + return (11); + break; + case 58: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 59: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 60: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 61: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 62: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 63: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 64: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 65: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 66: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 67: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 68: // LD B,IXH + processor->Rm.br.B=processor->Rm.br.IXh; + return (4); + break; + case 69: // LD B,IXL + processor->Rm.br.B=processor->Rm.br.IXl; + return (4); + break; + case 70: // LD B,(IX+d) + processor->Rm.br.B=Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IX)); + return (15); + break; + case 71: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 72: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 73: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 74: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 75: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 76: // LD C,IXH + processor->Rm.br.C=processor->Rm.br.IXh; + return (4); + break; + case 77: // LD C,IXL + processor->Rm.br.C=processor->Rm.br.IXl; + return (4); + break; + case 78: // LD C,(IX+d) + processor->Rm.br.C=Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IX)); + return (15); + break; + case 79: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 80: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 81: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 82: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 83: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 84: // LD D,IXH + processor->Rm.br.D=processor->Rm.br.IXh; + return (4); + break; + case 85: // LD D,IXL + processor->Rm.br.D=processor->Rm.br.IXl; + return (4); + break; + case 86: // LD D,(IX+d) + processor->Rm.br.D=Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IX)); + return (15); + break; + case 87: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 88: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 89: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 90: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 91: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 92: // LD E,IXH + processor->Rm.br.E=processor->Rm.br.IXh; + return (4); + break; + case 93: // LD E,IXL + processor->Rm.br.E=processor->Rm.br.IXl; + return (4); + break; + case 94: // LD E,(IX+d) + processor->Rm.br.E=Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IX)); + return (15); + break; + case 95: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 96: // LD IXH,B + processor->Rm.br.IXh=processor->Rm.br.B; + return (4); + break; + case 97: // LD IXH,C + processor->Rm.br.IXh=processor->Rm.br.C; + return (4); + break; + case 98: // LD IXH,D + processor->Rm.br.IXh=processor->Rm.br.D; + return (4); + break; + case 99: // LD IXH,E + processor->Rm.br.IXh=processor->Rm.br.E; + return (4); + break; + case 100: // LD IXH,IXH + processor->Rm.br.IXh=processor->Rm.br.IXh; + return (4); + break; + case 101: // LD IXH,IXL + processor->Rm.br.IXh=processor->Rm.br.IXl; + return (4); + break; + case 102: // LD H,(IX+d) + processor->Rm.br.H=Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IX)); + return (15); + break; + case 103: // LD IXH,A + processor->Rm.br.IXh=processor->Rm.br.A; + return (4); + break; + case 104: // LD IXL,B + processor->Rm.br.IXl=processor->Rm.br.B; + return (4); + break; + case 105: // LD IXL,C + processor->Rm.br.IXl=processor->Rm.br.C; + return (4); + break; + case 106: // LD IXL,D + processor->Rm.br.IXl=processor->Rm.br.D; + return (4); + break; + case 107: // LD IXL,E + processor->Rm.br.IXl=processor->Rm.br.E; + return (4); + break; + case 108: // LD IXL,IXH + processor->Rm.br.IXl=processor->Rm.br.IXh; + return (4); + break; + case 109: // LD IXL,IXL + processor->Rm.br.IXl=processor->Rm.br.IXl; + return (4); + break; + case 110: // LD L,(IX+d) + processor->Rm.br.L=Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IX)); + return (15); + break; + case 111: // LD IXL,A + processor->Rm.br.IXl=processor->Rm.br.A; + return (4); + break; + case 112: // LD (IX+d),B + Z80free_Wr(Z80free_addr_relative(processor,processor->Rm.wr.IX),processor->Rm.br.B); + return (15); + break; + case 113: // LD (IX+d),C + Z80free_Wr(Z80free_addr_relative(processor,processor->Rm.wr.IX),processor->Rm.br.C); + return (15); + break; + case 114: // LD (IX+d),D + Z80free_Wr(Z80free_addr_relative(processor,processor->Rm.wr.IX),processor->Rm.br.D); + return (15); + break; + case 115: // LD (IX+d),E + Z80free_Wr(Z80free_addr_relative(processor,processor->Rm.wr.IX),processor->Rm.br.E); + return (15); + break; + case 116: // LD (IX+d),H + Z80free_Wr(Z80free_addr_relative(processor,processor->Rm.wr.IX),processor->Rm.br.H); + return (15); + break; + case 117: // LD (IX+d),L + Z80free_Wr(Z80free_addr_relative(processor,processor->Rm.wr.IX),processor->Rm.br.L); + return (15); + break; + case 118: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 119: // LD (IX+d),A + Z80free_Wr(Z80free_addr_relative(processor,processor->Rm.wr.IX),processor->Rm.br.A); + return (15); + break; + case 120: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 121: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 122: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 123: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 124: // LD A,IXH + processor->Rm.br.A=processor->Rm.br.IXh; + return (4); + break; + case 125: // LD A,IXL + processor->Rm.br.A=processor->Rm.br.IXl; + return (4); + break; + case 126: // LD A,(IX+d) + processor->Rm.br.A=Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IX)); + return (15); + break; + case 127: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 128: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 129: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 130: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 131: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 132: // ADD A,IXH + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.IXh,0,0); + return (4); + break; + case 133: // ADD A,IXL + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.IXl,0,0); + return (4); + break; + case 134: // ADD A,(IX+d) + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IX)),0,0); + return (15); + break; + case 135: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 136: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 137: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 138: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 139: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 140: // ADC A,IXH + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.IXh,1,0); + return (4); + break; + case 141: // ADC A,IXL + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.IXl,1,0); + return (4); + break; + case 142: // ADC A,(IX+d) + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IX)),1,0); + return (15); + break; + case 143: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 144: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 145: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 146: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 147: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 148: // SUB IXH + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.IXh,0,1); + return (4); + break; + case 149: // SUB IXL + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.IXl,0,1); + return (4); + break; + case 150: // SUB b(IX+d) + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IX)),0,1); + return (15); + break; + case 151: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 152: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 153: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 154: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 155: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 156: // SBC A,IXH + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.IXh,1,1); + return (4); + break; + case 157: // SBC A,IXL + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.IXl,1,1); + return (4); + break; + case 158: // SBC A,(IX+d) + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IX)),1,1); + return (15); + break; + case 159: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 160: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 161: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 162: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 163: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 164: // AND IXH + Z80free_doAND(processor,processor->Rm.br.IXh); + return (4); + break; + case 165: // AND IXL + Z80free_doAND(processor,processor->Rm.br.IXl); + return (4); + break; + case 166: // AND b(IX+d) + Z80free_doAND(processor,Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IX))); + return (15); + break; + case 167: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 168: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 169: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 170: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 171: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 172: // XOR IXH + Z80free_doXOR(processor,processor->Rm.br.IXh); + return (4); + break; + case 173: // XOR IXL + Z80free_doXOR(processor,processor->Rm.br.IXl); + return (4); + break; + case 174: // XOR b(IX+d) + Z80free_doXOR(processor,Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IX))); + return (15); + break; + case 175: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 176: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 177: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 178: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 179: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 180: // OR IXH + Z80free_doOR(processor,processor->Rm.br.IXh); + return (4); + break; + case 181: // OR IXL + Z80free_doOR(processor,processor->Rm.br.IXl); + return (4); + break; + case 182: // OR b(IX+d) + Z80free_doOR(processor,Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IX))); + return (15); + break; + case 183: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 184: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 185: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 186: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 187: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 188: // CP IXH + tmp1=processor->Rm.br.IXh; + Z80free_doArithmetic(processor,processor->Rm.br.A,tmp1,0,1); + Z80free_adjustFlags(processor,tmp1); + return (4); + break; + case 189: // CP IXL + tmp1=processor->Rm.br.IXl; + Z80free_doArithmetic(processor,processor->Rm.br.A,tmp1,0,1); + Z80free_adjustFlags(processor,tmp1); + return (4); + break; + case 190: // CP b(IX+d) + tmp1=Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IX)); + Z80free_doArithmetic(processor,processor->Rm.br.A,tmp1,0,1); + Z80free_adjustFlags(processor,tmp1); + return (15); + break; + case 191: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 192: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 193: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 194: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 195: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 196: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 197: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 198: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 199: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 200: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 201: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 202: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 204: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 205: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 206: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 207: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 208: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 209: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 210: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 211: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 212: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 213: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 214: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 215: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 216: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 217: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 218: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 219: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 220: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 221: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 222: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 223: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 224: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 225: // POP IX + processor->Rm.wr.IX=Z80free_doPop(processor); + return (10); + break; + case 226: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 227: // EX (SP),IX + tmp2=Z80free_read16(processor->Rm.wr.SP); + Z80free_write16(processor->Rm.wr.SP,processor->Rm.wr.IX); + processor->Rm.wr.IX=tmp2; + return (19); + break; + case 228: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 229: // PUSH IX + Z80free_doPush(processor,processor->Rm.wr.IX); + return (11); + break; + case 230: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 231: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 232: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 233: // JP IX + tmp2=processor->Rm.wr.IX; + processor->PC=tmp2; + return (4); + break; + case 234: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 235: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 236: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 237: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 238: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 239: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 240: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 241: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 242: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 243: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 244: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 245: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 246: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 247: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 248: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 249: // LD SP,IX + processor->Rm.wr.SP=processor->Rm.wr.IX; + return (6); + break; + case 250: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 251: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 252: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 253: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 254: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 255: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + } + + return -1; +} diff --git a/src/z80free/Z80free_codesDD.txt b/src/z80free/Z80free_codesDD.txt new file mode 100644 index 0000000..59244a1 --- /dev/null +++ b/src/z80free/Z80free_codesDD.txt @@ -0,0 +1,262 @@ +# OPCODE, TSTATES and instruction for DD prefixed instructions +# The TSTATES are 4 less than the real ones, because we already had count +# them when exexuting the DD prefix +# DEFAULT opcode do the same than the unprefixed ones, using 4 TStates more +# Some opcodes have been modified to better adapt to the parser, like +# LD (IX+d),n, which now is LD2 IX+d,n +00 1 DEFAULT +01 1 DEFAULT +02 1 DEFAULT +03 1 DEFAULT +04 1 DEFAULT +05 1 DEFAULT +06 1 DEFAULT +07 1 DEFAULT +08 1 DEFAULT +09 11 ADD IX,BC +0A 1 DEFAULT +0B 1 DEFAULT +0C 1 DEFAULT +0D 1 DEFAULT +0E 1 DEFAULT +0F 1 DEFAULT +10 1 DEFAULT +11 1 DEFAULT +12 1 DEFAULT +13 1 DEFAULT +14 1 DEFAULT +15 1 DEFAULT +16 1 DEFAULT +17 1 DEFAULT +18 1 DEFAULT +19 11 ADD IX,DE +1A 1 DEFAULT +1B 1 DEFAULT +1C 1 DEFAULT +1D 1 DEFAULT +1E 1 DEFAULT +1F 1 DEFAULT +20 1 DEFAULT +21 10 LD IX,nn +22 16 LD (nn),IX +23 6 INC IX +24 4 INC IXH +25 4 DEC IXH +26 7 LD IXH,n +27 1 DEFAULT +28 1 DEFAULT +29 11 ADD IX,IX +2A 16 LD IX,(nn) +2B 6 DEC IX +2C 4 INC IXL +2D 4 DEC IXL +2E 7 LD IXL,n +2F 1 DEFAULT +30 1 DEFAULT +31 1 DEFAULT +32 1 DEFAULT +33 1 DEFAULT +34 19 INC b(IX+d) +35 19 DEC b(IX+d) +36 15 LD2 IX+d,n +37 1 DEFAULT +38 1 DEFAULT +39 11 ADD IX,SP +3A 1 DEFAULT +3B 1 DEFAULT +3C 1 DEFAULT +3D 1 DEFAULT +3E 1 DEFAULT +3F 1 DEFAULT +40 1 DEFAULT +41 1 DEFAULT +42 1 DEFAULT +43 1 DEFAULT +44 4 LD B,IXH +45 4 LD B,IXL +46 15 LD B,(IX+d) +47 1 DEFAULT +48 1 DEFAULT +49 1 DEFAULT +4A 1 DEFAULT +4B 1 DEFAULT +4C 4 LD C,IXH +4D 4 LD C,IXL +4E 15 LD C,(IX+d) +4F 1 DEFAULT +50 1 DEFAULT +51 1 DEFAULT +52 1 DEFAULT +53 1 DEFAULT +54 4 LD D,IXH +55 4 LD D,IXL +56 15 LD D,(IX+d) +57 1 DEFAULT +58 1 DEFAULT +59 1 DEFAULT +5A 1 DEFAULT +5B 1 DEFAULT +5C 4 LD E,IXH +5D 4 LD E,IXL +5E 15 LD E,(IX+d) +5F 1 DEFAULT +60 4 LD IXH,B +61 4 LD IXH,C +62 4 LD IXH,D +63 4 LD IXH,E +64 4 LD IXH,IXH +65 4 LD IXH,IXL +66 15 LD H,(IX+d) +67 4 LD IXH,A +68 4 LD IXL,B +69 4 LD IXL,C +6A 4 LD IXL,D +6B 4 LD IXL,E +6C 4 LD IXL,IXH +6D 4 LD IXL,IXL +6E 15 LD L,(IX+d) +6F 4 LD IXL,A +70 15 LD (IX+d),B +71 15 LD (IX+d),C +72 15 LD (IX+d),D +73 15 LD (IX+d),E +74 15 LD (IX+d),H +75 15 LD (IX+d),L +76 1 DEFAULT +77 15 LD (IX+d),A +78 1 DEFAULT +79 1 DEFAULT +7A 1 DEFAULT +7B 1 DEFAULT +7C 4 LD A,IXH +7D 4 LD A,IXL +7E 15 LD A,(IX+d) +7F 1 DEFAULT +80 1 DEFAULT +81 1 DEFAULT +82 1 DEFAULT +83 1 DEFAULT +84 4 ADD A,IXH +85 4 ADD A,IXL +86 15 ADD A,(IX+d) +87 1 DEFAULT +88 1 DEFAULT +89 1 DEFAULT +8A 1 DEFAULT +8B 1 DEFAULT +8C 4 ADC A,IXH +8D 4 ADC A,IXL +8E 15 ADC A,(IX+d) +8F 1 DEFAULT +90 1 DEFAULT +91 1 DEFAULT +92 1 DEFAULT +93 1 DEFAULT +94 4 SUB IXH +95 4 SUB IXL +96 15 SUB b(IX+d) +97 1 DEFAULT +98 1 DEFAULT +99 1 DEFAULT +9A 1 DEFAULT +9B 1 DEFAULT +9C 4 SBC A,IXH +9D 4 SBC A,IXL +9E 15 SBC A,(IX+d) +9F 1 DEFAULT +A0 1 DEFAULT +A1 1 DEFAULT +A2 1 DEFAULT +A3 1 DEFAULT +A4 4 AND IXH +A5 4 AND IXL +A6 15 AND b(IX+d) +A7 1 DEFAULT +A8 1 DEFAULT +A9 1 DEFAULT +AA 1 DEFAULT +AB 1 DEFAULT +AC 4 XOR IXH +AD 4 XOR IXL +AE 15 XOR b(IX+d) +AF 1 DEFAULT +B0 1 DEFAULT +B1 1 DEFAULT +B2 1 DEFAULT +B3 1 DEFAULT +B4 4 OR IXH +B5 4 OR IXL +B6 15 OR b(IX+d) +B7 1 DEFAULT +B8 1 DEFAULT +B9 1 DEFAULT +BA 1 DEFAULT +BB 1 DEFAULT +BC 4 CP IXH +BD 4 CP IXL +BE 15 CP b(IX+d) +BF 1 DEFAULT +C0 1 DEFAULT +C1 1 DEFAULT +C2 1 DEFAULT +C3 1 DEFAULT +C4 1 DEFAULT +C5 1 DEFAULT +C6 1 DEFAULT +C7 1 DEFAULT +C8 1 DEFAULT +C9 1 DEFAULT +CA 1 DEFAULT +CB * PREFIX +CC 1 DEFAULT +CD 1 DEFAULT +CE 1 DEFAULT +CF 1 DEFAULT +D0 1 DEFAULT +D1 1 DEFAULT +D2 1 DEFAULT +D3 1 DEFAULT +D4 1 DEFAULT +D5 1 DEFAULT +D6 1 DEFAULT +D7 1 DEFAULT +D8 1 DEFAULT +D9 1 DEFAULT +DA 1 DEFAULT +DB 1 DEFAULT +DC 1 DEFAULT +DD 1 DEFAULT +DE 1 DEFAULT +DF 1 DEFAULT +E0 1 DEFAULT +E1 10 POP IX +E2 1 DEFAULT +E3 19 EX (SP),IX +E4 1 DEFAULT +E5 11 PUSH IX +E6 1 DEFAULT +E7 1 DEFAULT +E8 1 DEFAULT +E9 4 JP IX +EA 1 DEFAULT +EB 1 DEFAULT +EC 1 DEFAULT +ED 1 DEFAULT +EE 1 DEFAULT +EF 1 DEFAULT +F0 1 DEFAULT +F1 1 DEFAULT +F2 1 DEFAULT +F3 1 DEFAULT +F4 1 DEFAULT +F5 1 DEFAULT +F6 1 DEFAULT +F7 1 DEFAULT +F8 1 DEFAULT +F9 6 LD SP,IX +FA 1 DEFAULT +FB 1 DEFAULT +FC 1 DEFAULT +FD 1 DEFAULT +FE 1 DEFAULT +FF 1 DEFAULT diff --git a/src/z80free/Z80free_codesDDCB.c b/src/z80free/Z80free_codesDDCB.c new file mode 100644 index 0000000..564699c --- /dev/null +++ b/src/z80free/Z80free_codesDDCB.c @@ -0,0 +1,1391 @@ +/* + * Copyright (C) 2008-2009 Sergio Costas (Raster Software Vigo) + * This file is part of Z80Free + * + * Z80Free 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. + * + * Z80Free is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "Z80free.h" + +int Z80free_codesDDCB (Z80FREE *processor,byte d1) { + static byte tmp1; + static byte opcode; + opcode=Z80free_Rd(processor->PC++); + + switch(opcode) { + case 0: // LD_RLC B,(IX+d) + tmp1=Z80free_doRLC(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.B=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 1: // LD_RLC C,(IX+d) + tmp1=Z80free_doRLC(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.C=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 2: // LD_RLC D,(IX+d) + tmp1=Z80free_doRLC(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.D=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 3: // LD_RLC E,(IX+d) + tmp1=Z80free_doRLC(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.E=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 4: // LD_RLC H,(IX+d) + tmp1=Z80free_doRLC(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.H=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 5: // LD_RLC L,(IX+d) + tmp1=Z80free_doRLC(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.L=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 6: // RLC b(IX+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),Z80free_doRLC(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1)))); + return (19); + break; + case 7: // LD_RLC A,(IX+d) + tmp1=Z80free_doRLC(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.A=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 8: // LD_RRC B,(IX+d) + tmp1=Z80free_doRRC(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.B=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 9: // LD_RRC C,(IX+d) + tmp1=Z80free_doRRC(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.C=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 10: // LD_RRC D,(IX+d) + tmp1=Z80free_doRRC(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.D=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 11: // LD_RRC E,(IX+d) + tmp1=Z80free_doRRC(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.E=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 12: // LD_RRC H,(IX+d) + tmp1=Z80free_doRRC(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.H=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 13: // LD_RRC L,(IX+d) + tmp1=Z80free_doRRC(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.L=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 14: // RRC b(IX+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),Z80free_doRRC(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1)))); + return (19); + break; + case 15: // LD_RRC A,(IX+d) + tmp1=Z80free_doRRC(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.A=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 16: // LD_RL B,(IX+d) + tmp1=Z80free_doRL(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.B=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 17: // LD_RL C,(IX+d) + tmp1=Z80free_doRL(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.C=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 18: // LD_RL D,(IX+d) + tmp1=Z80free_doRL(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.D=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 19: // LD_RL E,(IX+d) + tmp1=Z80free_doRL(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.E=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 20: // LD_RL H,(IX+d) + tmp1=Z80free_doRL(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.H=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 21: // LD_RL L,(IX+d) + tmp1=Z80free_doRL(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.L=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 22: // RL b(IX+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),Z80free_doRL(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1)))); + return (19); + break; + case 23: // LD_RL A,(IX+d) + tmp1=Z80free_doRL(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.A=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 24: // LD_RR B,(IX+d) + tmp1=Z80free_doRR(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.B=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 25: // LD_RR C,(IX+d) + tmp1=Z80free_doRR(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.C=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 26: // LD_RR D,(IX+d) + tmp1=Z80free_doRR(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.D=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 27: // LD_RR E,(IX+d) + tmp1=Z80free_doRR(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.E=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 28: // LD_RR H,(IX+d) + tmp1=Z80free_doRR(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.H=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 29: // LD_RR L,(IX+d) + tmp1=Z80free_doRR(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.L=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 30: // RR b(IX+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),Z80free_doRR(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1)))); + return (19); + break; + case 31: // LD_RR A,(IX+d) + tmp1=Z80free_doRR(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.A=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 32: // LD_SLA B,(IX+d) + tmp1=Z80free_doSL(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.B=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 33: // LD_SLA C,(IX+d) + tmp1=Z80free_doSL(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.C=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 34: // LD_SLA D,(IX+d) + tmp1=Z80free_doSL(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.D=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 35: // LD_SLA E,(IX+d) + tmp1=Z80free_doSL(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.E=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 36: // LD_SLA H,(IX+d) + tmp1=Z80free_doSL(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.H=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 37: // LD_SLA L,(IX+d) + tmp1=Z80free_doSL(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.L=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 38: // SLA b(IX+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),Z80free_doSL(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1)))); + return (19); + break; + case 39: // LD_SLA A,(IX+d) + tmp1=Z80free_doSL(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.A=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 40: // LD_SRA B,(IX+d) + tmp1=Z80free_doSR(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.B=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 41: // LD_SRA C,(IX+d) + tmp1=Z80free_doSR(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.C=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 42: // LD_SRA D,(IX+d) + tmp1=Z80free_doSR(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.D=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 43: // LD_SRA E,(IX+d) + tmp1=Z80free_doSR(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.E=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 44: // LD_SRA H,(IX+d) + tmp1=Z80free_doSR(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.H=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 45: // LD_SRA L,(IX+d) + tmp1=Z80free_doSR(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.L=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 46: // SRA b(IX+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),Z80free_doSR(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1)))); + return (19); + break; + case 47: // LD_SRA A,(IX+d) + tmp1=Z80free_doSR(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.A=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 48: // LD_SLL B,(IX+d) + tmp1=Z80free_doSL(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.B=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 49: // LD_SLL C,(IX+d) + tmp1=Z80free_doSL(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.C=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 50: // LD_SLL D,(IX+d) + tmp1=Z80free_doSL(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.D=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 51: // LD_SLL E,(IX+d) + tmp1=Z80free_doSL(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.E=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 52: // LD_SLL H,(IX+d) + tmp1=Z80free_doSL(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.H=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 53: // LD_SLL L,(IX+d) + tmp1=Z80free_doSL(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.L=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 54: // SLL b(IX+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),Z80free_doSL(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1)))); + return (19); + break; + case 55: // LD_SLL A,(IX+d) + tmp1=Z80free_doSL(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.A=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 56: // LD_SRL B,(IX+d) + tmp1=Z80free_doSR(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.B=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 57: // LD_SRL C,(IX+d) + tmp1=Z80free_doSR(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.C=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 58: // LD_SRL D,(IX+d) + tmp1=Z80free_doSR(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.D=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 59: // LD_SRL E,(IX+d) + tmp1=Z80free_doSR(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.E=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 60: // LD_SRL H,(IX+d) + tmp1=Z80free_doSR(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.H=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 61: // LD_SRL L,(IX+d) + tmp1=Z80free_doSR(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.L=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 62: // SRL b(IX+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),Z80free_doSR(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1)))); + return (19); + break; + case 63: // LD_SRL A,(IX+d) + tmp1=Z80free_doSR(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + processor->Rm.br.A=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + return (19); + break; + case 64: // BIT 0,(IX+d) + Z80free_doBIT(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 65: // BIT 0,(IX+d) + Z80free_doBIT(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 66: // BIT 0,(IX+d) + Z80free_doBIT(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 67: // BIT 0,(IX+d) + Z80free_doBIT(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 68: // BIT 0,(IX+d) + Z80free_doBIT(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 69: // BIT 0,(IX+d) + Z80free_doBIT(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 70: // BIT 0,(IX+d) + Z80free_doBIT(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 71: // BIT 0,(IX+d) + Z80free_doBIT(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 72: // BIT 1,(IX+d) + Z80free_doBIT(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 73: // BIT 1,(IX+d) + Z80free_doBIT(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 74: // BIT 1,(IX+d) + Z80free_doBIT(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 75: // BIT 1,(IX+d) + Z80free_doBIT(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 76: // BIT 1,(IX+d) + Z80free_doBIT(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 77: // BIT 1,(IX+d) + Z80free_doBIT(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 78: // BIT 1,(IX+d) + Z80free_doBIT(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 79: // BIT 1,(IX+d) + Z80free_doBIT(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 80: // BIT 2,(IX+d) + Z80free_doBIT(processor,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 81: // BIT 2,(IX+d) + Z80free_doBIT(processor,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 82: // BIT 2,(IX+d) + Z80free_doBIT(processor,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 83: // BIT 2,(IX+d) + Z80free_doBIT(processor,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 84: // BIT 2,(IX+d) + Z80free_doBIT(processor,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 85: // BIT 2,(IX+d) + Z80free_doBIT(processor,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 86: // BIT 2,(IX+d) + Z80free_doBIT(processor,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 87: // BIT 2,(IX+d) + Z80free_doBIT(processor,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 88: // BIT 3,(IX+d) + Z80free_doBIT(processor,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 89: // BIT 3,(IX+d) + Z80free_doBIT(processor,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 90: // BIT 3,(IX+d) + Z80free_doBIT(processor,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 91: // BIT 3,(IX+d) + Z80free_doBIT(processor,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 92: // BIT 3,(IX+d) + Z80free_doBIT(processor,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 93: // BIT 3,(IX+d) + Z80free_doBIT(processor,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 94: // BIT 3,(IX+d) + Z80free_doBIT(processor,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 95: // BIT 3,(IX+d) + Z80free_doBIT(processor,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 96: // BIT 4,(IX+d) + Z80free_doBIT(processor,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 97: // BIT 4,(IX+d) + Z80free_doBIT(processor,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 98: // BIT 4,(IX+d) + Z80free_doBIT(processor,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 99: // BIT 4,(IX+d) + Z80free_doBIT(processor,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 100: // BIT 4,(IX+d) + Z80free_doBIT(processor,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 101: // BIT 4,(IX+d) + Z80free_doBIT(processor,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 102: // BIT 4,(IX+d) + Z80free_doBIT(processor,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 103: // BIT 4,(IX+d) + Z80free_doBIT(processor,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 104: // BIT 5,(IX+d) + Z80free_doBIT(processor,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 105: // BIT 5,(IX+d) + Z80free_doBIT(processor,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 106: // BIT 5,(IX+d) + Z80free_doBIT(processor,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 107: // BIT 5,(IX+d) + Z80free_doBIT(processor,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 108: // BIT 5,(IX+d) + Z80free_doBIT(processor,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 109: // BIT 5,(IX+d) + Z80free_doBIT(processor,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 110: // BIT 5,(IX+d) + Z80free_doBIT(processor,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 111: // BIT 5,(IX+d) + Z80free_doBIT(processor,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 112: // BIT 6,(IX+d) + Z80free_doBIT(processor,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 113: // BIT 6,(IX+d) + Z80free_doBIT(processor,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 114: // BIT 6,(IX+d) + Z80free_doBIT(processor,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 115: // BIT 6,(IX+d) + Z80free_doBIT(processor,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 116: // BIT 6,(IX+d) + Z80free_doBIT(processor,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 117: // BIT 6,(IX+d) + Z80free_doBIT(processor,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 118: // BIT 6,(IX+d) + Z80free_doBIT(processor,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 119: // BIT 6,(IX+d) + Z80free_doBIT(processor,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 120: // BIT 7,(IX+d) + Z80free_doBIT(processor,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 121: // BIT 7,(IX+d) + Z80free_doBIT(processor,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 122: // BIT 7,(IX+d) + Z80free_doBIT(processor,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 123: // BIT 7,(IX+d) + Z80free_doBIT(processor,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 124: // BIT 7,(IX+d) + Z80free_doBIT(processor,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 125: // BIT 7,(IX+d) + Z80free_doBIT(processor,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 126: // BIT 7,(IX+d) + Z80free_doBIT(processor,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 127: // BIT 7,(IX+d) + Z80free_doBIT(processor,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + return (16); + break; + case 128: // LD_RES B,0,(IX+d) + tmp1=Z80free_doSetRes(processor,0,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.B=tmp1; + return (19); + break; + case 129: // LD_RES C,0,(IX+d) + tmp1=Z80free_doSetRes(processor,0,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.C=tmp1; + return (19); + break; + case 130: // LD_RES D,0,(IX+d) + tmp1=Z80free_doSetRes(processor,0,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.D=tmp1; + return (19); + break; + case 131: // LD_RES E,0,(IX+d) + tmp1=Z80free_doSetRes(processor,0,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.E=tmp1; + return (19); + break; + case 132: // LD_RES H,0,(IX+d) + tmp1=Z80free_doSetRes(processor,0,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.H=tmp1; + return (19); + break; + case 133: // LD_RES L,0,(IX+d) + tmp1=Z80free_doSetRes(processor,0,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.L=tmp1; + return (19); + break; + case 134: // RES 0,(IX+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),Z80free_doSetRes(processor,0,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1)))); + return (19); + break; + case 135: // LD_RES A,0,(IX+d) + tmp1=Z80free_doSetRes(processor,0,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.A=tmp1; + return (19); + break; + case 136: // LD_RES B,1,(IX+d) + tmp1=Z80free_doSetRes(processor,0,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.B=tmp1; + return (19); + break; + case 137: // LD_RES C,1,(IX+d) + tmp1=Z80free_doSetRes(processor,0,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.C=tmp1; + return (19); + break; + case 138: // LD_RES D,1,(IX+d) + tmp1=Z80free_doSetRes(processor,0,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.D=tmp1; + return (19); + break; + case 139: // LD_RES E,1,(IX+d) + tmp1=Z80free_doSetRes(processor,0,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.E=tmp1; + return (19); + break; + case 140: // LD_RES H,1,(IX+d) + tmp1=Z80free_doSetRes(processor,0,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.H=tmp1; + return (19); + break; + case 141: // LD_RES L,1,(IX+d) + tmp1=Z80free_doSetRes(processor,0,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.L=tmp1; + return (19); + break; + case 142: // RES 1,(IX+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),Z80free_doSetRes(processor,0,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1)))); + return (19); + break; + case 143: // LD_RES A,1,(IX+d) + tmp1=Z80free_doSetRes(processor,0,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.A=tmp1; + return (19); + break; + case 144: // LD_RES B,2,(IX+d) + tmp1=Z80free_doSetRes(processor,0,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.B=tmp1; + return (19); + break; + case 145: // LD_RES C,2,(IX+d) + tmp1=Z80free_doSetRes(processor,0,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.C=tmp1; + return (19); + break; + case 146: // LD_RES D,2,(IX+d) + tmp1=Z80free_doSetRes(processor,0,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.D=tmp1; + return (19); + break; + case 147: // LD_RES E,2,(IX+d) + tmp1=Z80free_doSetRes(processor,0,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.E=tmp1; + return (19); + break; + case 148: // LD_RES H,2,(IX+d) + tmp1=Z80free_doSetRes(processor,0,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.H=tmp1; + return (19); + break; + case 149: // LD_RES L,2,(IX+d) + tmp1=Z80free_doSetRes(processor,0,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.L=tmp1; + return (19); + break; + case 150: // RES 2,(IX+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),Z80free_doSetRes(processor,0,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1)))); + return (19); + break; + case 151: // LD_RES A,2,(IX+d) + tmp1=Z80free_doSetRes(processor,0,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.A=tmp1; + return (19); + break; + case 152: // LD_RES B,3,(IX+d) + tmp1=Z80free_doSetRes(processor,0,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.B=tmp1; + return (19); + break; + case 153: // LD_RES C,3,(IX+d) + tmp1=Z80free_doSetRes(processor,0,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.C=tmp1; + return (19); + break; + case 154: // LD_RES D,3,(IX+d) + tmp1=Z80free_doSetRes(processor,0,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.D=tmp1; + return (19); + break; + case 155: // LD_RES E,3,(IX+d) + tmp1=Z80free_doSetRes(processor,0,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.E=tmp1; + return (19); + break; + case 156: // LD_RES H,3,(IX+d) + tmp1=Z80free_doSetRes(processor,0,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.H=tmp1; + return (19); + break; + case 157: // LD_RES L,3,(IX+d) + tmp1=Z80free_doSetRes(processor,0,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.L=tmp1; + return (19); + break; + case 158: // RES 3,(IX+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),Z80free_doSetRes(processor,0,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1)))); + return (19); + break; + case 159: // LD_RES A,3,(IX+d) + tmp1=Z80free_doSetRes(processor,0,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.A=tmp1; + return (19); + break; + case 160: // LD_RES B,4,(IX+d) + tmp1=Z80free_doSetRes(processor,0,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.B=tmp1; + return (19); + break; + case 161: // LD_RES C,4,(IX+d) + tmp1=Z80free_doSetRes(processor,0,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.C=tmp1; + return (19); + break; + case 162: // LD_RES D,4,(IX+d) + tmp1=Z80free_doSetRes(processor,0,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.D=tmp1; + return (19); + break; + case 163: // LD_RES E,4,(IX+d) + tmp1=Z80free_doSetRes(processor,0,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.E=tmp1; + return (19); + break; + case 164: // LD_RES H,4,(IX+d) + tmp1=Z80free_doSetRes(processor,0,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.H=tmp1; + return (19); + break; + case 165: // LD_RES L,4,(IX+d) + tmp1=Z80free_doSetRes(processor,0,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.L=tmp1; + return (19); + break; + case 166: // RES 4,(IX+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),Z80free_doSetRes(processor,0,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1)))); + return (19); + break; + case 167: // LD_RES A,4,(IX+d) + tmp1=Z80free_doSetRes(processor,0,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.A=tmp1; + return (19); + break; + case 168: // LD_RES B,5,(IX+d) + tmp1=Z80free_doSetRes(processor,0,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.B=tmp1; + return (19); + break; + case 169: // LD_RES C,5,(IX+d) + tmp1=Z80free_doSetRes(processor,0,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.C=tmp1; + return (19); + break; + case 170: // LD_RES D,5,(IX+d) + tmp1=Z80free_doSetRes(processor,0,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.D=tmp1; + return (19); + break; + case 171: // LD_RES E,5,(IX+d) + tmp1=Z80free_doSetRes(processor,0,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.E=tmp1; + return (19); + break; + case 172: // LD_RES H,5,(IX+d) + tmp1=Z80free_doSetRes(processor,0,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.H=tmp1; + return (19); + break; + case 173: // LD_RES L,5,(IX+d) + tmp1=Z80free_doSetRes(processor,0,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.L=tmp1; + return (19); + break; + case 174: // RES 5,(IX+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),Z80free_doSetRes(processor,0,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1)))); + return (19); + break; + case 175: // LD_RES A,5,(IX+d) + tmp1=Z80free_doSetRes(processor,0,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.A=tmp1; + return (19); + break; + case 176: // LD_RES B,6,(IX+d) + tmp1=Z80free_doSetRes(processor,0,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.B=tmp1; + return (19); + break; + case 177: // LD_RES C,6,(IX+d) + tmp1=Z80free_doSetRes(processor,0,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.C=tmp1; + return (19); + break; + case 178: // LD_RES D,6,(IX+d) + tmp1=Z80free_doSetRes(processor,0,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.D=tmp1; + return (19); + break; + case 179: // LD_RES E,6,(IX+d) + tmp1=Z80free_doSetRes(processor,0,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.E=tmp1; + return (19); + break; + case 180: // LD_RES H,6,(IX+d) + tmp1=Z80free_doSetRes(processor,0,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.H=tmp1; + return (19); + break; + case 181: // LD_RES L,6,(IX+d) + tmp1=Z80free_doSetRes(processor,0,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.L=tmp1; + return (19); + break; + case 182: // RES 6,(IX+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),Z80free_doSetRes(processor,0,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1)))); + return (19); + break; + case 183: // LD_RES A,6,(IX+d) + tmp1=Z80free_doSetRes(processor,0,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.A=tmp1; + return (19); + break; + case 184: // LD_RES B,7,(IX+d) + tmp1=Z80free_doSetRes(processor,0,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.B=tmp1; + return (19); + break; + case 185: // LD_RES C,7,(IX+d) + tmp1=Z80free_doSetRes(processor,0,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.C=tmp1; + return (19); + break; + case 186: // LD_RES D,7,(IX+d) + tmp1=Z80free_doSetRes(processor,0,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.D=tmp1; + return (19); + break; + case 187: // LD_RES E,7,(IX+d) + tmp1=Z80free_doSetRes(processor,0,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.E=tmp1; + return (19); + break; + case 188: // LD_RES H,7,(IX+d) + tmp1=Z80free_doSetRes(processor,0,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.H=tmp1; + return (19); + break; + case 189: // LD_RES L,7,(IX+d) + tmp1=Z80free_doSetRes(processor,0,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.L=tmp1; + return (19); + break; + case 190: // RES 7,(IX+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),Z80free_doSetRes(processor,0,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1)))); + return (19); + break; + case 191: // LD_RES A,7,(IX+d) + tmp1=Z80free_doSetRes(processor,0,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.A=tmp1; + return (19); + break; + case 192: // LD_SET B,0,(IX+d) + tmp1=Z80free_doSetRes(processor,1,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.B=tmp1; + return (19); + break; + case 193: // LD_SET C,0,(IX+d) + tmp1=Z80free_doSetRes(processor,1,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.C=tmp1; + return (19); + break; + case 194: // LD_SET D,0,(IX+d) + tmp1=Z80free_doSetRes(processor,1,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.D=tmp1; + return (19); + break; + case 195: // LD_SET E,0,(IX+d) + tmp1=Z80free_doSetRes(processor,1,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.E=tmp1; + return (19); + break; + case 196: // LD_SET H,0,(IX+d) + tmp1=Z80free_doSetRes(processor,1,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.H=tmp1; + return (19); + break; + case 197: // LD_SET L,0,(IX+d) + tmp1=Z80free_doSetRes(processor,1,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.L=tmp1; + return (19); + break; + case 198: // SET 0,(IX+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),Z80free_doSetRes(processor,1,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1)))); + return (19); + break; + case 199: // LD_SET A,0,(IX+d) + tmp1=Z80free_doSetRes(processor,1,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.A=tmp1; + return (19); + break; + case 200: // LD_SET B,1,(IX+d) + tmp1=Z80free_doSetRes(processor,1,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.B=tmp1; + return (19); + break; + case 201: // LD_SET C,1,(IX+d) + tmp1=Z80free_doSetRes(processor,1,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.C=tmp1; + return (19); + break; + case 202: // LD_SET D,1,(IX+d) + tmp1=Z80free_doSetRes(processor,1,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.D=tmp1; + return (19); + break; + case 203: // LD_SET E,1,(IX+d) + tmp1=Z80free_doSetRes(processor,1,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.E=tmp1; + return (19); + break; + case 204: // LD_SET H,1,(IX+d) + tmp1=Z80free_doSetRes(processor,1,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.H=tmp1; + return (19); + break; + case 205: // LD_SET L,1,(IX+d) + tmp1=Z80free_doSetRes(processor,1,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.L=tmp1; + return (19); + break; + case 206: // SET 1,(IX+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),Z80free_doSetRes(processor,1,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1)))); + return (19); + break; + case 207: // LD_SET A,1,(IX+d) + tmp1=Z80free_doSetRes(processor,1,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.A=tmp1; + return (19); + break; + case 208: // LD_SET B,2,(IX+d) + tmp1=Z80free_doSetRes(processor,1,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.B=tmp1; + return (19); + break; + case 209: // LD_SET C,2,(IX+d) + tmp1=Z80free_doSetRes(processor,1,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.C=tmp1; + return (19); + break; + case 210: // LD_SET D,2,(IX+d) + tmp1=Z80free_doSetRes(processor,1,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.D=tmp1; + return (19); + break; + case 211: // LD_SET E,2,(IX+d) + tmp1=Z80free_doSetRes(processor,1,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.E=tmp1; + return (19); + break; + case 212: // LD_SET H,2,(IX+d) + tmp1=Z80free_doSetRes(processor,1,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.H=tmp1; + return (19); + break; + case 213: // LD_SET L,2,(IX+d) + tmp1=Z80free_doSetRes(processor,1,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.L=tmp1; + return (19); + break; + case 214: // SET 2,(IX+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),Z80free_doSetRes(processor,1,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1)))); + return (19); + break; + case 215: // LD_SET A,2,(IX+d) + tmp1=Z80free_doSetRes(processor,1,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.A=tmp1; + return (19); + break; + case 216: // LD_SET B,3,(IX+d) + tmp1=Z80free_doSetRes(processor,1,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.B=tmp1; + return (19); + break; + case 217: // LD_SET C,3,(IX+d) + tmp1=Z80free_doSetRes(processor,1,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.C=tmp1; + return (19); + break; + case 218: // LD_SET D,3,(IX+d) + tmp1=Z80free_doSetRes(processor,1,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.D=tmp1; + return (19); + break; + case 219: // LD_SET E,3,(IX+d) + tmp1=Z80free_doSetRes(processor,1,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.E=tmp1; + return (19); + break; + case 220: // LD_SET H,3,(IX+d) + tmp1=Z80free_doSetRes(processor,1,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.H=tmp1; + return (19); + break; + case 221: // LD_SET L,3,(IX+d) + tmp1=Z80free_doSetRes(processor,1,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.L=tmp1; + return (19); + break; + case 222: // SET 3,(IX+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),Z80free_doSetRes(processor,1,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1)))); + return (19); + break; + case 223: // LD_SET A,3,(IX+d) + tmp1=Z80free_doSetRes(processor,1,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.A=tmp1; + return (19); + break; + case 224: // LD_SET B,4,(IX+d) + tmp1=Z80free_doSetRes(processor,1,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.B=tmp1; + return (19); + break; + case 225: // LD_SET C,4,(IX+d) + tmp1=Z80free_doSetRes(processor,1,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.C=tmp1; + return (19); + break; + case 226: // LD_SET D,4,(IX+d) + tmp1=Z80free_doSetRes(processor,1,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.D=tmp1; + return (19); + break; + case 227: // LD_SET E,4,(IX+d) + tmp1=Z80free_doSetRes(processor,1,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.E=tmp1; + return (19); + break; + case 228: // LD_SET H,4,(IX+d) + tmp1=Z80free_doSetRes(processor,1,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.H=tmp1; + return (19); + break; + case 229: // LD_SET L,4,(IX+d) + tmp1=Z80free_doSetRes(processor,1,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.L=tmp1; + return (19); + break; + case 230: // SET 4,(IX+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),Z80free_doSetRes(processor,1,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1)))); + return (19); + break; + case 231: // LD_SET A,4,(IX+d) + tmp1=Z80free_doSetRes(processor,1,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.A=tmp1; + return (19); + break; + case 232: // LD_SET B,5,(IX+d) + tmp1=Z80free_doSetRes(processor,1,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.B=tmp1; + return (19); + break; + case 233: // LD_SET C,5,(IX+d) + tmp1=Z80free_doSetRes(processor,1,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.C=tmp1; + return (19); + break; + case 234: // LD_SET D,5,(IX+d) + tmp1=Z80free_doSetRes(processor,1,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.D=tmp1; + return (19); + break; + case 235: // LD_SET E,5,(IX+d) + tmp1=Z80free_doSetRes(processor,1,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.E=tmp1; + return (19); + break; + case 236: // LD_SET H,5,(IX+d) + tmp1=Z80free_doSetRes(processor,1,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.H=tmp1; + return (19); + break; + case 237: // LD_SET L,5,(IX+d) + tmp1=Z80free_doSetRes(processor,1,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.L=tmp1; + return (19); + break; + case 238: // SET 5,(IX+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),Z80free_doSetRes(processor,1,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1)))); + return (19); + break; + case 239: // LD_SET A,5,(IX+d) + tmp1=Z80free_doSetRes(processor,1,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.A=tmp1; + return (19); + break; + case 240: // LD_SET B,6,(IX+d) + tmp1=Z80free_doSetRes(processor,1,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.B=tmp1; + return (19); + break; + case 241: // LD_SET C,6,(IX+d) + tmp1=Z80free_doSetRes(processor,1,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.C=tmp1; + return (19); + break; + case 242: // LD_SET D,6,(IX+d) + tmp1=Z80free_doSetRes(processor,1,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.D=tmp1; + return (19); + break; + case 243: // LD_SET E,6,(IX+d) + tmp1=Z80free_doSetRes(processor,1,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.E=tmp1; + return (19); + break; + case 244: // LD_SET H,6,(IX+d) + tmp1=Z80free_doSetRes(processor,1,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.H=tmp1; + return (19); + break; + case 245: // LD_SET L,6,(IX+d) + tmp1=Z80free_doSetRes(processor,1,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.L=tmp1; + return (19); + break; + case 246: // SET 6,(IX+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),Z80free_doSetRes(processor,1,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1)))); + return (19); + break; + case 247: // LD_SET A,6,(IX+d) + tmp1=Z80free_doSetRes(processor,1,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.A=tmp1; + return (19); + break; + case 248: // LD_SET B,7,(IX+d) + tmp1=Z80free_doSetRes(processor,1,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.B=tmp1; + return (19); + break; + case 249: // LD_SET C,7,(IX+d) + tmp1=Z80free_doSetRes(processor,1,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.C=tmp1; + return (19); + break; + case 250: // LD_SET D,7,(IX+d) + tmp1=Z80free_doSetRes(processor,1,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.D=tmp1; + return (19); + break; + case 251: // LD_SET E,7,(IX+d) + tmp1=Z80free_doSetRes(processor,1,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.E=tmp1; + return (19); + break; + case 252: // LD_SET H,7,(IX+d) + tmp1=Z80free_doSetRes(processor,1,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.H=tmp1; + return (19); + break; + case 253: // LD_SET L,7,(IX+d) + tmp1=Z80free_doSetRes(processor,1,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.L=tmp1; + return (19); + break; + case 254: // SET 7,(IX+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),Z80free_doSetRes(processor,1,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1)))); + return (19); + break; + case 255: // LD_SET A,7,(IX+d) + tmp1=Z80free_doSetRes(processor,1,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),tmp1); + processor->Rm.br.A=tmp1; + return (19); + break; + } + + return -1; +} diff --git a/src/z80free/Z80free_codesDDCB.txt b/src/z80free/Z80free_codesDDCB.txt new file mode 100644 index 0000000..876923a --- /dev/null +++ b/src/z80free/Z80free_codesDDCB.txt @@ -0,0 +1,262 @@ +# OPCODES, TSTATES and INSTRUCTIONS for DDCB prefixed instructions +# The TSTATES are 4 less than the real ones because they are counted +# when executing the DDCB prefix +# +# Instructions of the format LD r,XXX (IX+d) (like LD B,RLC (IX+d) ) +# are modified to the format LD_XXX r,(IX+d) to simplify the parser +00 19 LD_RLC B,(IX+d) +01 19 LD_RLC C,(IX+d) +02 19 LD_RLC D,(IX+d) +03 19 LD_RLC E,(IX+d) +04 19 LD_RLC H,(IX+d) +05 19 LD_RLC L,(IX+d) +06 19 RLC b(IX+d) +07 19 LD_RLC A,(IX+d) +08 19 LD_RRC B,(IX+d) +09 19 LD_RRC C,(IX+d) +0A 19 LD_RRC D,(IX+d) +0B 19 LD_RRC E,(IX+d) +0C 19 LD_RRC H,(IX+d) +0D 19 LD_RRC L,(IX+d) +0E 19 RRC b(IX+d) +0F 19 LD_RRC A,(IX+d) +10 19 LD_RL B,(IX+d) +11 19 LD_RL C,(IX+d) +12 19 LD_RL D,(IX+d) +13 19 LD_RL E,(IX+d) +14 19 LD_RL H,(IX+d) +15 19 LD_RL L,(IX+d) +16 19 RL b(IX+d) +17 19 LD_RL A,(IX+d) +18 19 LD_RR B,(IX+d) +19 19 LD_RR C,(IX+d) +1A 19 LD_RR D,(IX+d) +1B 19 LD_RR E,(IX+d) +1C 19 LD_RR H,(IX+d) +1D 19 LD_RR L,(IX+d) +1E 19 RR b(IX+d) +1F 19 LD_RR A,(IX+d) +20 19 LD_SLA B,(IX+d) +21 19 LD_SLA C,(IX+d) +22 19 LD_SLA D,(IX+d) +23 19 LD_SLA E,(IX+d) +24 19 LD_SLA H,(IX+d) +25 19 LD_SLA L,(IX+d) +26 19 SLA b(IX+d) +27 19 LD_SLA A,(IX+d) +28 19 LD_SRA B,(IX+d) +29 19 LD_SRA C,(IX+d) +2A 19 LD_SRA D,(IX+d) +2B 19 LD_SRA E,(IX+d) +2C 19 LD_SRA H,(IX+d) +2D 19 LD_SRA L,(IX+d) +2E 19 SRA b(IX+d) +2F 19 LD_SRA A,(IX+d) +30 19 LD_SLL B,(IX+d) +31 19 LD_SLL C,(IX+d) +32 19 LD_SLL D,(IX+d) +33 19 LD_SLL E,(IX+d) +34 19 LD_SLL H,(IX+d) +35 19 LD_SLL L,(IX+d) +36 19 SLL b(IX+d) +37 19 LD_SLL A,(IX+d) +38 19 LD_SRL B,(IX+d) +39 19 LD_SRL C,(IX+d) +3A 19 LD_SRL D,(IX+d) +3B 19 LD_SRL E,(IX+d) +3C 19 LD_SRL H,(IX+d) +3D 19 LD_SRL L,(IX+d) +3E 19 SRL b(IX+d) +3F 19 LD_SRL A,(IX+d) +40 16 BIT 0,(IX+d) +41 16 BIT 0,(IX+d) +42 16 BIT 0,(IX+d) +43 16 BIT 0,(IX+d) +44 16 BIT 0,(IX+d) +45 16 BIT 0,(IX+d) +46 16 BIT 0,(IX+d) +47 16 BIT 0,(IX+d) +48 16 BIT 1,(IX+d) +49 16 BIT 1,(IX+d) +4A 16 BIT 1,(IX+d) +4B 16 BIT 1,(IX+d) +4C 16 BIT 1,(IX+d) +4D 16 BIT 1,(IX+d) +4E 16 BIT 1,(IX+d) +4F 16 BIT 1,(IX+d) +50 16 BIT 2,(IX+d) +51 16 BIT 2,(IX+d) +52 16 BIT 2,(IX+d) +53 16 BIT 2,(IX+d) +54 16 BIT 2,(IX+d) +55 16 BIT 2,(IX+d) +56 16 BIT 2,(IX+d) +57 16 BIT 2,(IX+d) +58 16 BIT 3,(IX+d) +59 16 BIT 3,(IX+d) +5A 16 BIT 3,(IX+d) +5B 16 BIT 3,(IX+d) +5C 16 BIT 3,(IX+d) +5D 16 BIT 3,(IX+d) +5E 16 BIT 3,(IX+d) +5F 16 BIT 3,(IX+d) +60 16 BIT 4,(IX+d) +61 16 BIT 4,(IX+d) +62 16 BIT 4,(IX+d) +63 16 BIT 4,(IX+d) +64 16 BIT 4,(IX+d) +65 16 BIT 4,(IX+d) +66 16 BIT 4,(IX+d) +67 16 BIT 4,(IX+d) +68 16 BIT 5,(IX+d) +69 16 BIT 5,(IX+d) +6A 16 BIT 5,(IX+d) +6B 16 BIT 5,(IX+d) +6C 16 BIT 5,(IX+d) +6D 16 BIT 5,(IX+d) +6E 16 BIT 5,(IX+d) +6F 16 BIT 5,(IX+d) +70 16 BIT 6,(IX+d) +71 16 BIT 6,(IX+d) +72 16 BIT 6,(IX+d) +73 16 BIT 6,(IX+d) +74 16 BIT 6,(IX+d) +75 16 BIT 6,(IX+d) +76 16 BIT 6,(IX+d) +77 16 BIT 6,(IX+d) +78 16 BIT 7,(IX+d) +79 16 BIT 7,(IX+d) +7A 16 BIT 7,(IX+d) +7B 16 BIT 7,(IX+d) +7C 16 BIT 7,(IX+d) +7D 16 BIT 7,(IX+d) +7E 16 BIT 7,(IX+d) +7F 16 BIT 7,(IX+d) +80 19 LD_RES B,0,(IX+d) +81 19 LD_RES C,0,(IX+d) +82 19 LD_RES D,0,(IX+d) +83 19 LD_RES E,0,(IX+d) +84 19 LD_RES H,0,(IX+d) +85 19 LD_RES L,0,(IX+d) +86 19 RES 0,(IX+d) +87 19 LD_RES A,0,(IX+d) +88 19 LD_RES B,1,(IX+d) +89 19 LD_RES C,1,(IX+d) +8A 19 LD_RES D,1,(IX+d) +8B 19 LD_RES E,1,(IX+d) +8C 19 LD_RES H,1,(IX+d) +8D 19 LD_RES L,1,(IX+d) +8E 19 RES 1,(IX+d) +8F 19 LD_RES A,1,(IX+d) +90 19 LD_RES B,2,(IX+d) +91 19 LD_RES C,2,(IX+d) +92 19 LD_RES D,2,(IX+d) +93 19 LD_RES E,2,(IX+d) +94 19 LD_RES H,2,(IX+d) +95 19 LD_RES L,2,(IX+d) +96 19 RES 2,(IX+d) +97 19 LD_RES A,2,(IX+d) +98 19 LD_RES B,3,(IX+d) +99 19 LD_RES C,3,(IX+d) +9A 19 LD_RES D,3,(IX+d) +9B 19 LD_RES E,3,(IX+d) +9C 19 LD_RES H,3,(IX+d) +9D 19 LD_RES L,3,(IX+d) +9E 19 RES 3,(IX+d) +9F 19 LD_RES A,3,(IX+d) +A0 19 LD_RES B,4,(IX+d) +A1 19 LD_RES C,4,(IX+d) +A2 19 LD_RES D,4,(IX+d) +A3 19 LD_RES E,4,(IX+d) +A4 19 LD_RES H,4,(IX+d) +A5 19 LD_RES L,4,(IX+d) +A6 19 RES 4,(IX+d) +A7 19 LD_RES A,4,(IX+d) +A8 19 LD_RES B,5,(IX+d) +A9 19 LD_RES C,5,(IX+d) +AA 19 LD_RES D,5,(IX+d) +AB 19 LD_RES E,5,(IX+d) +AC 19 LD_RES H,5,(IX+d) +AD 19 LD_RES L,5,(IX+d) +AE 19 RES 5,(IX+d) +AF 19 LD_RES A,5,(IX+d) +B0 19 LD_RES B,6,(IX+d) +B1 19 LD_RES C,6,(IX+d) +B2 19 LD_RES D,6,(IX+d) +B3 19 LD_RES E,6,(IX+d) +B4 19 LD_RES H,6,(IX+d) +B5 19 LD_RES L,6,(IX+d) +B6 19 RES 6,(IX+d) +B7 19 LD_RES A,6,(IX+d) +B8 19 LD_RES B,7,(IX+d) +B9 19 LD_RES C,7,(IX+d) +BA 19 LD_RES D,7,(IX+d) +BB 19 LD_RES E,7,(IX+d) +BC 19 LD_RES H,7,(IX+d) +BD 19 LD_RES L,7,(IX+d) +BE 19 RES 7,(IX+d) +BF 19 LD_RES A,7,(IX+d) +C0 19 LD_SET B,0,(IX+d) +C1 19 LD_SET C,0,(IX+d) +C2 19 LD_SET D,0,(IX+d) +C3 19 LD_SET E,0,(IX+d) +C4 19 LD_SET H,0,(IX+d) +C5 19 LD_SET L,0,(IX+d) +C6 19 SET 0,(IX+d) +C7 19 LD_SET A,0,(IX+d) +C8 19 LD_SET B,1,(IX+d) +C9 19 LD_SET C,1,(IX+d) +CA 19 LD_SET D,1,(IX+d) +CB 19 LD_SET E,1,(IX+d) +CC 19 LD_SET H,1,(IX+d) +CD 19 LD_SET L,1,(IX+d) +CE 19 SET 1,(IX+d) +CF 19 LD_SET A,1,(IX+d) +D0 19 LD_SET B,2,(IX+d) +D1 19 LD_SET C,2,(IX+d) +D2 19 LD_SET D,2,(IX+d) +D3 19 LD_SET E,2,(IX+d) +D4 19 LD_SET H,2,(IX+d) +D5 19 LD_SET L,2,(IX+d) +D6 19 SET 2,(IX+d) +D7 19 LD_SET A,2,(IX+d) +D8 19 LD_SET B,3,(IX+d) +D9 19 LD_SET C,3,(IX+d) +DA 19 LD_SET D,3,(IX+d) +DB 19 LD_SET E,3,(IX+d) +DC 19 LD_SET H,3,(IX+d) +DD 19 LD_SET L,3,(IX+d) +DE 19 SET 3,(IX+d) +DF 19 LD_SET A,3,(IX+d) +E0 19 LD_SET B,4,(IX+d) +E1 19 LD_SET C,4,(IX+d) +E2 19 LD_SET D,4,(IX+d) +E3 19 LD_SET E,4,(IX+d) +E4 19 LD_SET H,4,(IX+d) +E5 19 LD_SET L,4,(IX+d) +E6 19 SET 4,(IX+d) +E7 19 LD_SET A,4,(IX+d) +E8 19 LD_SET B,5,(IX+d) +E9 19 LD_SET C,5,(IX+d) +EA 19 LD_SET D,5,(IX+d) +EB 19 LD_SET E,5,(IX+d) +EC 19 LD_SET H,5,(IX+d) +ED 19 LD_SET L,5,(IX+d) +EE 19 SET 5,(IX+d) +EF 19 LD_SET A,5,(IX+d) +F0 19 LD_SET B,6,(IX+d) +F1 19 LD_SET C,6,(IX+d) +F2 19 LD_SET D,6,(IX+d) +F3 19 LD_SET E,6,(IX+d) +F4 19 LD_SET H,6,(IX+d) +F5 19 LD_SET L,6,(IX+d) +F6 19 SET 6,(IX+d) +F7 19 LD_SET A,6,(IX+d) +F8 19 LD_SET B,7,(IX+d) +F9 19 LD_SET C,7,(IX+d) +FA 19 LD_SET D,7,(IX+d) +FB 19 LD_SET E,7,(IX+d) +FC 19 LD_SET H,7,(IX+d) +FD 19 LD_SET L,7,(IX+d) +FE 19 SET 7,(IX+d) +FF 19 LD_SET A,7,(IX+d) diff --git a/src/z80free/Z80free_codesED.c b/src/z80free/Z80free_codesED.c new file mode 100644 index 0000000..6494922 --- /dev/null +++ b/src/z80free/Z80free_codesED.c @@ -0,0 +1,1025 @@ +/* + * Copyright (C) 2008-2009 Sergio Costas (Raster Software Vigo) + * This file is part of Z80Free + * + * Z80Free 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. + * + * Z80Free is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "Z80free.h" + +int Z80free_codesED (Z80FREE *processor,byte opcode) { + static byte tmp1; + static byte tmp2; + + switch(opcode) { + case 0: // NOP + return (4); + break; + case 1: // NOP + return (4); + break; + case 2: // NOP + return (4); + break; + case 3: // NOP + return (4); + break; + case 4: // NOP + return (4); + break; + case 5: // NOP + return (4); + break; + case 6: // NOP + return (4); + break; + case 7: // NOP + return (4); + break; + case 8: // NOP + return (4); + break; + case 9: // NOP + return (4); + break; + case 10: // NOP + return (4); + break; + case 11: // NOP + return (4); + break; + case 12: // NOP + return (4); + break; + case 13: // NOP + return (4); + break; + case 14: // NOP + return (4); + break; + case 15: // NOP + return (4); + break; + case 16: // NOP + return (4); + break; + case 17: // NOP + return (4); + break; + case 18: // NOP + return (4); + break; + case 19: // NOP + return (4); + break; + case 20: // NOP + return (4); + break; + case 21: // NOP + return (4); + break; + case 22: // NOP + return (4); + break; + case 23: // NOP + return (4); + break; + case 24: // NOP + return (4); + break; + case 25: // NOP + return (4); + break; + case 26: // NOP + return (4); + break; + case 27: // NOP + return (4); + break; + case 28: // NOP + return (4); + break; + case 29: // NOP + return (4); + break; + case 30: // NOP + return (4); + break; + case 31: // NOP + return (4); + break; + case 32: // NOP + return (4); + break; + case 33: // NOP + return (4); + break; + case 34: // NOP + return (4); + break; + case 35: // NOP + return (4); + break; + case 36: // NOP + return (4); + break; + case 37: // NOP + return (4); + break; + case 38: // NOP + return (4); + break; + case 39: // NOP + return (4); + break; + case 40: // NOP + return (4); + break; + case 41: // NOP + return (4); + break; + case 42: // NOP + return (4); + break; + case 43: // NOP + return (4); + break; + case 44: // NOP + return (4); + break; + case 45: // NOP + return (4); + break; + case 46: // NOP + return (4); + break; + case 47: // NOP + return (4); + break; + case 48: // NOP + return (4); + break; + case 49: // NOP + return (4); + break; + case 50: // NOP + return (4); + break; + case 51: // NOP + return (4); + break; + case 52: // NOP + return (4); + break; + case 53: // NOP + return (4); + break; + case 54: // NOP + return (4); + break; + case 55: // NOP + return (4); + break; + case 56: // NOP + return (4); + break; + case 57: // NOP + return (4); + break; + case 58: // NOP + return (4); + break; + case 59: // NOP + return (4); + break; + case 60: // NOP + return (4); + break; + case 61: // NOP + return (4); + break; + case 62: // NOP + return (4); + break; + case 63: // NOP + return (4); + break; + case 64: // IN_BC B + processor->Rm.br.B=Z80free_In(processor->Rm.wr.BC); + Z80free_adjustFlagSZP (processor,processor->Rm.br.B); + Z80free_resFlag(processor,F_H|F_N); + return (8); + break; + case 65: // OUT_BC B + Z80free_Out(processor->Rm.wr.BC,processor->Rm.br.B); + return (8); + break; + case 66: // SBC HL,BC + processor->Rm.wr.HL=Z80free_doArithmetic16(processor,processor->Rm.wr.HL,processor->Rm.wr.BC,1,1); + return (11); + break; + case 67: // LD (nn),BC + Z80free_write16(Z80free_read_param_16(processor),processor->Rm.wr.BC); + return (16); + break; + case 68: // NEG + processor->Rm.br.A=Z80free_doArithmetic(processor,0,processor->Rm.br.A,0,1); + return (4); + break; + case 69: // RETN + processor->IFF1=(processor->IFF2 ? 2 : 0); + processor->PC=Z80free_doPop(processor); + return (10); + break; + case 70: // IM 0 + processor->IM=0; + return (4); + break; + case 71: // LD I,A + processor->I=processor->Rm.br.A; + return (5); + break; + case 72: // IN_BC C + processor->Rm.br.C=Z80free_In(processor->Rm.wr.BC); + Z80free_adjustFlagSZP (processor,processor->Rm.br.C); + Z80free_resFlag(processor,F_H|F_N); + return (8); + break; + case 73: // OUT_BC C + Z80free_Out(processor->Rm.wr.BC,processor->Rm.br.C); + return (8); + break; + case 74: // ADC HL,BC + processor->Rm.wr.HL=Z80free_doArithmetic16(processor,processor->Rm.wr.HL,processor->Rm.wr.BC,1,0); + return (11); + break; + case 75: // LD BC,(nn) + processor->Rm.wr.BC=Z80free_read16(Z80free_read_param_16(processor)); + return (16); + break; + case 76: // NEG + processor->Rm.br.A=Z80free_doArithmetic(processor,0,processor->Rm.br.A,0,1); + return (4); + break; + case 77: // RETI + processor->IFF1=2; + processor->IFF2=1; + processor->PC=Z80free_doPop(processor); + return (10); + break; + case 78: // IM 1 + processor->IM=1; + return (4); + break; + case 79: // LD R,A + Z80free_setR(processor,processor->Rm.br.A); + return (5); + break; + case 80: // IN_BC D + processor->Rm.br.D=Z80free_In(processor->Rm.wr.BC); + Z80free_adjustFlagSZP (processor,processor->Rm.br.D); + Z80free_resFlag(processor,F_H|F_N); + return (8); + break; + case 81: // OUT_BC D + Z80free_Out(processor->Rm.wr.BC,processor->Rm.br.D); + return (8); + break; + case 82: // SBC HL,DE + processor->Rm.wr.HL=Z80free_doArithmetic16(processor,processor->Rm.wr.HL,processor->Rm.wr.DE,1,1); + return (11); + break; + case 83: // LD (nn),DE + Z80free_write16(Z80free_read_param_16(processor),processor->Rm.wr.DE); + return (16); + break; + case 84: // NEG + processor->Rm.br.A=Z80free_doArithmetic(processor,0,processor->Rm.br.A,0,1); + return (4); + break; + case 85: // RETN + processor->IFF1=(processor->IFF2 ? 2 : 0); + processor->PC=Z80free_doPop(processor); + return (10); + break; + case 86: // IM 1 + processor->IM=1; + return (4); + break; + case 87: // LD A,I + processor->Rm.br.A=Z80free_readI(processor); + return (5); + break; + case 88: // IN_BC E + processor->Rm.br.E=Z80free_In(processor->Rm.wr.BC); + Z80free_adjustFlagSZP (processor,processor->Rm.br.E); + Z80free_resFlag(processor,F_H|F_N); + return (8); + break; + case 89: // OUT_BC E + Z80free_Out(processor->Rm.wr.BC,processor->Rm.br.E); + return (8); + break; + case 90: // ADC HL,DE + processor->Rm.wr.HL=Z80free_doArithmetic16(processor,processor->Rm.wr.HL,processor->Rm.wr.DE,1,0); + return (11); + break; + case 91: // LD DE,(nn) + processor->Rm.wr.DE=Z80free_read16(Z80free_read_param_16(processor)); + return (16); + break; + case 92: // NEG + processor->Rm.br.A=Z80free_doArithmetic(processor,0,processor->Rm.br.A,0,1); + return (4); + break; + case 93: // RETN + processor->IFF1=(processor->IFF2 ? 2 : 0); + processor->PC=Z80free_doPop(processor); + return (10); + break; + case 94: // IM 2 + processor->IM=2; + return (4); + break; + case 95: // LD A,R + processor->Rm.br.A=Z80free_readR(processor); + return (5); + break; + case 96: // IN_BC H + processor->Rm.br.H=Z80free_In(processor->Rm.wr.BC); + Z80free_adjustFlagSZP (processor,processor->Rm.br.H); + Z80free_resFlag(processor,F_H|F_N); + return (8); + break; + case 97: // OUT_BC H + Z80free_Out(processor->Rm.wr.BC,processor->Rm.br.H); + return (8); + break; + case 98: // SBC HL,HL + processor->Rm.wr.HL=Z80free_doArithmetic16(processor,processor->Rm.wr.HL,processor->Rm.wr.HL,1,1); + return (11); + break; + case 99: // LD (nn),HL + Z80free_write16(Z80free_read_param_16(processor),processor->Rm.wr.HL); + return (16); + break; + case 100: // NEG + processor->Rm.br.A=Z80free_doArithmetic(processor,0,processor->Rm.br.A,0,1); + return (4); + break; + case 101: // RETN + processor->IFF1=(processor->IFF2 ? 2 : 0); + processor->PC=Z80free_doPop(processor); + return (10); + break; + case 102: // IM 0 + processor->IM=0; + return (4); + break; + case 103: // RRD + Z80free_doRRD(processor); + return (14); + break; + case 104: // IN_BC L + processor->Rm.br.L=Z80free_In(processor->Rm.wr.BC); + Z80free_adjustFlagSZP (processor,processor->Rm.br.L); + Z80free_resFlag(processor,F_H|F_N); + return (8); + break; + case 105: // OUT_BC L + Z80free_Out(processor->Rm.wr.BC,processor->Rm.br.L); + return (8); + break; + case 106: // ADC HL,HL + processor->Rm.wr.HL=Z80free_doArithmetic16(processor,processor->Rm.wr.HL,processor->Rm.wr.HL,1,0); + return (11); + break; + case 107: // LD HL,(nn) + processor->Rm.wr.HL=Z80free_read16(Z80free_read_param_16(processor)); + return (16); + break; + case 108: // NEG + processor->Rm.br.A=Z80free_doArithmetic(processor,0,processor->Rm.br.A,0,1); + return (4); + break; + case 109: // RETN + processor->IFF1=(processor->IFF2 ? 2 : 0); + processor->PC=Z80free_doPop(processor); + return (10); + break; + case 110: // IM 0 + processor->IM=0; + return (4); + break; + case 111: // RLD + Z80free_doRLD(processor); + return (14); + break; + case 112: // IN_BC + tmp1=Z80free_In(processor->Rm.wr.BC); + Z80free_adjustFlagSZP (processor,tmp1); + Z80free_resFlag(processor,F_H|F_N); + return (8); + break; + case 113: // OUT_BC 0 + Z80free_Out(processor->Rm.wr.BC,0); + return (8); + break; + case 114: // SBC HL,SP + processor->Rm.wr.HL=Z80free_doArithmetic16(processor,processor->Rm.wr.HL,processor->Rm.wr.SP,1,1); + return (11); + break; + case 115: // LD (nn),SP + Z80free_write16(Z80free_read_param_16(processor),processor->Rm.wr.SP); + return (16); + break; + case 116: // NEG + processor->Rm.br.A=Z80free_doArithmetic(processor,0,processor->Rm.br.A,0,1); + return (4); + break; + case 117: // RETN + processor->IFF1=(processor->IFF2 ? 2 : 0); + processor->PC=Z80free_doPop(processor); + return (10); + break; + case 118: // IM 1 + processor->IM=1; + return (4); + break; + case 119: // NOP + return (4); + break; + case 120: // IN_BC A + processor->Rm.br.A=Z80free_In(processor->Rm.wr.BC); + Z80free_adjustFlagSZP (processor,processor->Rm.br.A); + Z80free_resFlag(processor,F_H|F_N); + return (8); + break; + case 121: // OUT_BC A + Z80free_Out(processor->Rm.wr.BC,processor->Rm.br.A); + return (8); + break; + case 122: // ADC HL,SP + processor->Rm.wr.HL=Z80free_doArithmetic16(processor,processor->Rm.wr.HL,processor->Rm.wr.SP,1,0); + return (11); + break; + case 123: // LD SP,(nn) + processor->Rm.wr.SP=Z80free_read16(Z80free_read_param_16(processor)); + return (16); + break; + case 124: // NEG + processor->Rm.br.A=Z80free_doArithmetic(processor,0,processor->Rm.br.A,0,1); + return (4); + break; + case 125: // RETN + processor->IFF1=(processor->IFF2 ? 2 : 0); + processor->PC=Z80free_doPop(processor); + return (10); + break; + case 126: // IM 2 + processor->IM=2; + return (4); + break; + case 127: // NOP + return (4); + break; + case 128: // NOP + return (4); + break; + case 129: // NOP + return (4); + break; + case 130: // NOP + return (4); + break; + case 131: // NOP + return (4); + break; + case 132: // NOP + return (4); + break; + case 133: // NOP + return (4); + break; + case 134: // NOP + return (4); + break; + case 135: // NOP + return (4); + break; + case 136: // NOP + return (4); + break; + case 137: // NOP + return (4); + break; + case 138: // NOP + return (4); + break; + case 139: // NOP + return (4); + break; + case 140: // NOP + return (4); + break; + case 141: // NOP + return (4); + break; + case 142: // NOP + return (4); + break; + case 143: // NOP + return (4); + break; + case 144: // NOP + return (4); + break; + case 145: // NOP + return (4); + break; + case 146: // NOP + return (4); + break; + case 147: // NOP + return (4); + break; + case 148: // NOP + return (4); + break; + case 149: // NOP + return (4); + break; + case 150: // NOP + return (4); + break; + case 151: // NOP + return (4); + break; + case 152: // NOP + return (4); + break; + case 153: // NOP + return (4); + break; + case 154: // NOP + return (4); + break; + case 155: // NOP + return (4); + break; + case 156: // NOP + return (4); + break; + case 157: // NOP + return (4); + break; + case 158: // NOP + return (4); + break; + case 159: // NOP + return (4); + break; + case 160: // LDI + tmp1=Z80free_Rd(processor->Rm.wr.HL++); + Z80free_Wr(processor->Rm.wr.DE++,tmp1); + tmp1+=processor->Rm.br.A; + Z80free_valFlag(processor,F_3,tmp1&0x08); + Z80free_valFlag(processor,F_5,tmp1&0x02); + processor->Rm.wr.BC--; + Z80free_resFlag(processor,F_H|F_N); + if (processor->Rm.wr.BC) + Z80free_setFlag(processor,F_PV); + else + Z80free_resFlag(processor,F_PV); + return (12); + break; + case 161: // CPI + tmp2=F_C&processor->Rm.br.F; + tmp1=Z80free_doArithmetic(processor,processor->Rm.br.A,Z80free_Rd(processor->Rm.wr.HL++),0,1); + if (processor->Rm.br.F&F_H) + tmp1--; + Z80free_valFlag(processor,F_3,tmp1&0x08); + Z80free_valFlag(processor,F_5,tmp1&0x02); + Z80free_setFlag(processor,F_N); + Z80free_valFlag(processor,F_C,tmp2); + processor->Rm.wr.BC--; + if (processor->Rm.wr.BC) + Z80free_setFlag(processor,F_PV); + else + Z80free_resFlag(processor,F_PV); + return (12); + break; + case 162: // INI + /*INI, IND, INIR and INDR first decrement B and then uses it*/ + Z80free_Wr(processor->Rm.wr.HL,Z80free_In(processor->Rm.wr.BC)); + processor->Rm.wr.HL++; + processor->Rm.br.B=Z80free_doIncDec(processor,processor->Rm.br.B,1); + Z80free_valFlag(processor,F_N, 1); + Z80free_valFlag(processor,F_Z, (processor->Rm.br.B == 0)); + return (12); + break; + case 163: // OUTI + /*OUTI, OUTD, OTIR and OTDR first uses B and then decrement it*/ + Z80free_Out(processor->Rm.wr.BC,Z80free_Rd(processor->Rm.wr.HL)); + processor->Rm.wr.HL++; + processor->Rm.br.B=Z80free_doIncDec(processor,processor->Rm.br.B,1); + return (12); + break; + case 164: // NOP + return (4); + break; + case 165: // NOP + return (4); + break; + case 166: // NOP + return (4); + break; + case 167: // NOP + return (4); + break; + case 168: // LDD + tmp1=Z80free_Rd(processor->Rm.wr.HL--); + Z80free_Wr(processor->Rm.wr.DE--,tmp1); + tmp1+=processor->Rm.br.A; + Z80free_valFlag(processor,F_3,tmp1&0x08); + Z80free_valFlag(processor,F_5,tmp1&0x02); + processor->Rm.wr.BC--; + Z80free_resFlag(processor,F_H|F_N); + if (processor->Rm.wr.BC) + Z80free_setFlag(processor,F_PV); + else + Z80free_resFlag(processor,F_PV); + return (12); + break; + case 169: // CPD + tmp2=F_C&processor->Rm.br.F; + tmp1=Z80free_doArithmetic(processor,processor->Rm.br.A,Z80free_Rd(processor->Rm.wr.HL--),0,1); + if (processor->Rm.br.F&F_H) + tmp1--; + Z80free_valFlag(processor,F_3,tmp1&0x08); + Z80free_valFlag(processor,F_5,tmp1&0x02); + Z80free_setFlag(processor,F_N); + Z80free_valFlag(processor,F_C,tmp2); + processor->Rm.wr.BC--; + if (processor->Rm.wr.BC) + Z80free_setFlag(processor,F_PV); + else + Z80free_resFlag(processor,F_PV); + return (12); + break; + case 170: // IND + Z80free_Wr(processor->Rm.wr.HL,Z80free_In(processor->Rm.wr.BC)); + processor->Rm.br.B=Z80free_doIncDec(processor,processor->Rm.br.B,1); + processor->Rm.wr.HL--; + return (12); + break; + case 171: // OUTD + Z80free_Out(processor->Rm.wr.BC,Z80free_Rd(processor->Rm.wr.HL)); + processor->Rm.wr.HL--; + processor->Rm.br.B=Z80free_doIncDec(processor,processor->Rm.br.B,1); + return (12); + break; + case 172: // NOP + return (4); + break; + case 173: // NOP + return (4); + break; + case 174: // NOP + return (4); + break; + case 175: // NOP + return (4); + break; + case 176: // LDIR + tmp1=Z80free_Rd(processor->Rm.wr.HL++); + Z80free_Wr(processor->Rm.wr.DE++,tmp1); + processor->Rm.wr.BC--; + if (processor->Rm.wr.BC) { + processor->PC-=2; + return (17); + } else { + Z80free_resFlag(processor,F_H|F_N|F_PV); + tmp1+=processor->Rm.br.A; + Z80free_valFlag(processor,F_3,tmp1&0x08); + Z80free_valFlag(processor,F_5,tmp1&0x02); + return (12); + } + break; + case 177: // CPIR + tmp2=F_C&processor->Rm.br.F; + Z80free_doArithmetic(processor,processor->Rm.br.A,Z80free_Rd(processor->Rm.wr.HL++),0,1); + processor->Rm.wr.BC--; + if ((processor->Rm.wr.BC)&&(!(processor->Rm.br.F&F_Z))) { + processor->PC-=2; + return (17); + } else { + Z80free_resFlag(processor,F_H|F_N|F_PV|F_3|F_5); + Z80free_valFlag(processor,F_C,tmp2); + return (12); + } + break; + case 178: // INIR + Z80free_Wr(processor->Rm.wr.HL,Z80free_In(processor->Rm.wr.BC)); + processor->Rm.br.B=Z80free_doIncDec(processor,processor->Rm.br.B,1); + processor->Rm.wr.HL++; + if (processor->Rm.br.B) { + processor->PC-=2; + return (17); + } else { + return (12); + } + break; + case 179: // OTIR + Z80free_Out(processor->Rm.wr.BC,Z80free_Rd(processor->Rm.wr.HL)); + processor->Rm.wr.HL++; + processor->Rm.br.B=Z80free_doIncDec(processor,processor->Rm.br.B,1); + if (processor->Rm.br.B) { + processor->PC-=2; + return (17); + } else { + return (12); + } + break; + case 180: // NOP + return (4); + break; + case 181: // NOP + return (4); + break; + case 182: // NOP + return (4); + break; + case 183: // NOP + return (4); + break; + case 184: // LDDR + tmp1=Z80free_Rd(processor->Rm.wr.HL--); + Z80free_Wr(processor->Rm.wr.DE--,tmp1); + processor->Rm.wr.BC--; + if (processor->Rm.wr.BC) { + processor->PC-=2; + return (17); + } else { + Z80free_resFlag(processor,F_H|F_N|F_PV); + tmp1+=processor->Rm.br.A; + Z80free_valFlag(processor,F_3,tmp1&0x08); + Z80free_valFlag(processor,F_5,tmp1&0x02); + return (12); + } + break; + case 185: // CPDR + tmp2=F_C&processor->Rm.br.F; + Z80free_doArithmetic(processor,processor->Rm.br.A,Z80free_Rd(processor->Rm.wr.HL--),0,1); + processor->Rm.wr.BC--; + if ((processor->Rm.wr.BC)&&(!(processor->Rm.br.F&F_Z))) { + processor->PC-=2; + return (17); + } else { + Z80free_resFlag(processor,F_H|F_N|F_PV|F_3|F_5); + Z80free_valFlag(processor,F_C,tmp2); + return (12); + } + break; + case 186: // INDR + Z80free_Wr(processor->Rm.wr.HL,Z80free_In(processor->Rm.wr.BC)); + processor->Rm.br.B=Z80free_doIncDec(processor,processor->Rm.br.B,1); + processor->Rm.wr.HL--; + if (processor->Rm.br.B) { + processor->PC-=2; + return (17); + } else { + return (12); + } + break; + case 187: // OTDR + Z80free_Out(processor->Rm.wr.BC,Z80free_Rd(processor->Rm.wr.HL)); + processor->Rm.wr.HL--; + processor->Rm.br.B=Z80free_doIncDec(processor,processor->Rm.br.B,1); + if (processor->Rm.br.B) { + processor->PC-=2; + return (17); + } else { + return (12); + } + break; + case 188: // NOP + return (4); + break; + case 189: // NOP + return (4); + break; + case 190: // NOP + return (4); + break; + case 191: // NOP + return (4); + break; + case 192: // NOP + return (4); + break; + case 193: // NOP + return (4); + break; + case 194: // NOP + return (4); + break; + case 195: // NOP + return (4); + break; + case 196: // NOP + return (4); + break; + case 197: // NOP + return (4); + break; + case 198: // NOP + return (4); + break; + case 199: // NOP + return (4); + break; + case 200: // NOP + return (4); + break; + case 201: // NOP + return (4); + break; + case 202: // NOP + return (4); + break; + case 203: // NOP + return (4); + break; + case 204: // NOP + return (4); + break; + case 205: // NOP + return (4); + break; + case 206: // NOP + return (4); + break; + case 207: // NOP + return (4); + break; + case 208: // NOP + return (4); + break; + case 209: // NOP + return (4); + break; + case 210: // NOP + return (4); + break; + case 211: // NOP + return (4); + break; + case 212: // NOP + return (4); + break; + case 213: // NOP + return (4); + break; + case 214: // NOP + return (4); + break; + case 215: // NOP + return (4); + break; + case 216: // NOP + return (4); + break; + case 217: // NOP + return (4); + break; + case 218: // NOP + return (4); + break; + case 219: // NOP + return (4); + break; + case 220: // NOP + return (4); + break; + case 221: // NOP + return (4); + break; + case 222: // NOP + return (4); + break; + case 223: // NOP + return (4); + break; + case 224: // NOP + return (4); + break; + case 225: // NOP + return (4); + break; + case 226: // NOP + return (4); + break; + case 227: // NOP + return (4); + break; + case 228: // NOP + return (4); + break; + case 229: // NOP + return (4); + break; + case 230: // NOP + return (4); + break; + case 231: // NOP + return (4); + break; + case 232: // NOP + return (4); + break; + case 233: // NOP + return (4); + break; + case 234: // NOP + return (4); + break; + case 235: // NOP + return (4); + break; + case 236: // NOP + return (4); + break; + case 237: // NOP + return (4); + break; + case 238: // NOP + return (4); + break; + case 239: // NOP + return (4); + break; + case 240: // NOP + return (4); + break; + case 241: // NOP + return (4); + break; + case 242: // NOP + return (4); + break; + case 243: // NOP + return (4); + break; + case 244: // NOP + return (4); + break; + case 245: // NOP + return (4); + break; + case 246: // NOP + return (4); + break; + case 247: // NOP + return (4); + break; + case 248: // NOP + return (4); + break; + case 249: // NOP + return (4); + break; + case 250: // NOP + return (4); + break; + case 251: // NOP + return (4); + break; + case 252: // NOP + return (4); + break; + case 253: // NOP + return (4); + break; + case 254: // NOP + return (4); + break; + case 255: // NOP + return (4); + break; + } + + return -1; +} diff --git a/src/z80free/Z80free_codesED.txt b/src/z80free/Z80free_codesED.txt new file mode 100644 index 0000000..f2aa734 --- /dev/null +++ b/src/z80free/Z80free_codesED.txt @@ -0,0 +1,260 @@ +# OPCODES, TSTATES and INSTRUCTIONS for ED prefixed instructions +# The TSTATES are 4 less than the real ones because they are counted +# when executing the ED prefix +# IN and OUT syntax has been modified to simplify the parser +00 4 NOP +01 4 NOP +02 4 NOP +03 4 NOP +04 4 NOP +05 4 NOP +06 4 NOP +07 4 NOP +08 4 NOP +09 4 NOP +0A 4 NOP +0B 4 NOP +0C 4 NOP +0D 4 NOP +0E 4 NOP +0F 4 NOP +10 4 NOP +11 4 NOP +12 4 NOP +13 4 NOP +14 4 NOP +15 4 NOP +16 4 NOP +17 4 NOP +18 4 NOP +19 4 NOP +1A 4 NOP +1B 4 NOP +1C 4 NOP +1D 4 NOP +1E 4 NOP +1F 4 NOP +20 4 NOP +21 4 NOP +22 4 NOP +23 4 NOP +24 4 NOP +25 4 NOP +26 4 NOP +27 4 NOP +28 4 NOP +29 4 NOP +2A 4 NOP +2B 4 NOP +2C 4 NOP +2D 4 NOP +2E 4 NOP +2F 4 NOP +30 4 NOP +31 4 NOP +32 4 NOP +33 4 NOP +34 4 NOP +35 4 NOP +36 4 NOP +37 4 NOP +38 4 NOP +39 4 NOP +3A 4 NOP +3B 4 NOP +3C 4 NOP +3D 4 NOP +3E 4 NOP +3F 4 NOP +40 8 IN_BC B +41 8 OUT_BC B +42 11 SBC HL,BC +43 16 LD (nn),BC +44 4 NEG +45 10 RETN +46 4 IM 0 +47 5 LD I,A +48 8 IN_BC C +49 8 OUT_BC C +4A 11 ADC HL,BC +4B 16 LD BC,(nn) +4C 4 NEG +4D 10 RETI +4E 4 IM 1 +4F 5 LD R,A +50 8 IN_BC D +51 8 OUT_BC D +52 11 SBC HL,DE +53 16 LD (nn),DE +54 4 NEG +55 10 RETN +56 4 IM 1 +57 5 LD A,I +58 8 IN_BC E +59 8 OUT_BC E +5A 11 ADC HL,DE +5B 16 LD DE,(nn) +5C 4 NEG +5D 10 RETN +5E 4 IM 2 +5F 5 LD A,R +60 8 IN_BC H +61 8 OUT_BC H +62 11 SBC HL,HL +63 16 LD (nn),HL +64 4 NEG +65 10 RETN +66 4 IM 0 +67 14 RRD +68 8 IN_BC L +69 8 OUT_BC L +6A 11 ADC HL,HL +6B 16 LD HL,(nn) +6C 4 NEG +6D 10 RETN +6E 4 IM 0 +6F 14 RLD +70 8 IN_BC +71 8 OUT_BC 0 +72 11 SBC HL,SP +73 16 LD (nn),SP +74 4 NEG +75 10 RETN +76 4 IM 1 +77 4 NOP +78 8 IN_BC A +79 8 OUT_BC A +7A 11 ADC HL,SP +7B 16 LD SP,(nn) +7C 4 NEG +7D 10 RETN +7E 4 IM 2 +7F 4 NOP +80 4 NOP +81 4 NOP +82 4 NOP +83 4 NOP +84 4 NOP +85 4 NOP +86 4 NOP +87 4 NOP +88 4 NOP +89 4 NOP +8A 4 NOP +8B 4 NOP +8C 4 NOP +8D 4 NOP +8E 4 NOP +8F 4 NOP +90 4 NOP +91 4 NOP +92 4 NOP +93 4 NOP +94 4 NOP +95 4 NOP +96 4 NOP +97 4 NOP +98 4 NOP +99 4 NOP +9A 4 NOP +9B 4 NOP +9C 4 NOP +9D 4 NOP +9E 4 NOP +9F 4 NOP +A0 12 LDI +A1 12 CPI +A2 12 INI +A3 12 OUTI +A4 4 NOP +A5 4 NOP +A6 4 NOP +A7 4 NOP +A8 12 LDD +A9 12 CPD +AA 12 IND +AB 12 OUTD +AC 4 NOP +AD 4 NOP +AE 4 NOP +AF 4 NOP +B0 17/12 LDIR +B1 17/12 CPIR +B2 17/12 INIR +B3 17/12 OTIR +B4 4 NOP +B5 4 NOP +B6 4 NOP +B7 4 NOP +B8 17/12 LDDR +B9 17/12 CPDR +BA 17/12 INDR +BB 17/12 OTDR +BC 4 NOP +BD 4 NOP +BE 4 NOP +BF 4 NOP +C0 4 NOP +C1 4 NOP +C2 4 NOP +C3 4 NOP +C4 4 NOP +C5 4 NOP +C6 4 NOP +C7 4 NOP +C8 4 NOP +C9 4 NOP +CA 4 NOP +CB 4 NOP +CC 4 NOP +CD 4 NOP +CE 4 NOP +CF 4 NOP +D0 4 NOP +D1 4 NOP +D2 4 NOP +D3 4 NOP +D4 4 NOP +D5 4 NOP +D6 4 NOP +D7 4 NOP +D8 4 NOP +D9 4 NOP +DA 4 NOP +DB 4 NOP +DC 4 NOP +DD 4 NOP +DE 4 NOP +DF 4 NOP +E0 4 NOP +E1 4 NOP +E2 4 NOP +E3 4 NOP +E4 4 NOP +E5 4 NOP +E6 4 NOP +E7 4 NOP +E8 4 NOP +E9 4 NOP +EA 4 NOP +EB 4 NOP +EC 4 NOP +ED 4 NOP +EE 4 NOP +EF 4 NOP +F0 4 NOP +F1 4 NOP +F2 4 NOP +F3 4 NOP +F4 4 NOP +F5 4 NOP +F6 4 NOP +F7 4 NOP +F8 4 NOP +F9 4 NOP +FA 4 NOP +FB 4 NOP +FC 4 NOP +FD 4 NOP +FE 4 NOP +FF 4 NOP diff --git a/src/z80free/Z80free_codesFD.c b/src/z80free/Z80free_codesFD.c new file mode 100644 index 0000000..e919a21 --- /dev/null +++ b/src/z80free/Z80free_codesFD.c @@ -0,0 +1,890 @@ +/* + * Copyright (C) 2008-2009 Sergio Costas (Raster Software Vigo) + * This file is part of Z80Free + * + * Z80Free 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. + * + * Z80Free is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "Z80free.h" + +int Z80free_codesFD (Z80FREE *processor,byte opcode) { + static byte tmp1; + static word tmp2; + + switch(opcode) { + case 0: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 1: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 2: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 3: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 4: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 5: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 6: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 7: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 8: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 9: // ADD IY,BC + processor->Rm.wr.IY=Z80free_doArithmetic16(processor,processor->Rm.wr.IY,processor->Rm.wr.BC,0,0); + return (11); + break; + case 10: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 11: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 12: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 13: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 14: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 15: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 16: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 17: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 18: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 19: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 20: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 21: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 22: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 23: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 24: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 25: // ADD IY,DE + processor->Rm.wr.IY=Z80free_doArithmetic16(processor,processor->Rm.wr.IY,processor->Rm.wr.DE,0,0); + return (11); + break; + case 26: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 27: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 28: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 29: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 30: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 31: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 32: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 33: // LD IY,nn + processor->Rm.wr.IY=Z80free_read_param_16(processor); + return (10); + break; + case 34: // LD (nn),IY + Z80free_write16(Z80free_read_param_16(processor),processor->Rm.wr.IY); + return (16); + break; + case 35: // INC IY + processor->Rm.wr.IY=Z80free_doIncDec16(processor,processor->Rm.wr.IY,0); + return (6); + break; + case 36: // INC IYH + processor->Rm.br.IYh=Z80free_doIncDec(processor,processor->Rm.br.IYh,0); + return (4); + break; + case 37: // DEC IYH + processor->Rm.br.IYh=Z80free_doIncDec(processor,processor->Rm.br.IYh,1); + return (4); + break; + case 38: // LD IYH,n + processor->Rm.br.IYh=Z80free_read_param_8(processor); + return (7); + break; + case 39: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 40: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 41: // ADD IY,IY + processor->Rm.wr.IY=Z80free_doArithmetic16(processor,processor->Rm.wr.IY,processor->Rm.wr.IY,0,0); + return (11); + break; + case 42: // LD IY,(nn) + processor->Rm.wr.IY=Z80free_read16(Z80free_read_param_16(processor)); + return (16); + break; + case 43: // DEC IY + processor->Rm.wr.IY=Z80free_doIncDec16(processor,processor->Rm.wr.IY,1); + return (6); + break; + case 44: // INC IYL + processor->Rm.br.IYl=Z80free_doIncDec(processor,processor->Rm.br.IYl,0); + return (4); + break; + case 45: // DEC IYL + processor->Rm.br.IYl=Z80free_doIncDec(processor,processor->Rm.br.IYl,1); + return (4); + break; + case 46: // LD IYL,n + processor->Rm.br.IYl=Z80free_read_param_8(processor); + return (7); + break; + case 47: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 48: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 49: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 50: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 51: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 52: // INC b(IY+d) + Z80free_Wr(Z80free_addr_relative(processor,processor->Rm.wr.IY),Z80free_doIncDec(processor,Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IY)),0)); + return (19); + break; + case 53: // DEC b(IY+d) + Z80free_Wr(Z80free_addr_relative(processor,processor->Rm.wr.IY),Z80free_doIncDec(processor,Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IY)),1)); + return (19); + break; + case 54: // LD2 IY+d,n + tmp2=Z80free_addr_relative(processor,processor->Rm.wr.IY); + Z80free_Wr(tmp2,Z80free_read_param_8(processor)); + return (15); + break; + case 55: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 56: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 57: // ADD IY,SP + processor->Rm.wr.IY=Z80free_doArithmetic16(processor,processor->Rm.wr.IY,processor->Rm.wr.SP,0,0); + return (11); + break; + case 58: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 59: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 60: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 61: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 62: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 63: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 64: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 65: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 66: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 67: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 68: // LD B,IYH + processor->Rm.br.B=processor->Rm.br.IYh; + return (4); + break; + case 69: // LD B,IYL + processor->Rm.br.B=processor->Rm.br.IYl; + return (4); + break; + case 70: // LD B,(IY+d) + processor->Rm.br.B=Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IY)); + return (15); + break; + case 71: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 72: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 73: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 74: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 75: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 76: // LD C,IYH + processor->Rm.br.C=processor->Rm.br.IYh; + return (4); + break; + case 77: // LD C,IYL + processor->Rm.br.C=processor->Rm.br.IYl; + return (4); + break; + case 78: // LD C,(IY+d) + processor->Rm.br.C=Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IY)); + return (15); + break; + case 79: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 80: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 81: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 82: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 83: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 84: // LD D,IYH + processor->Rm.br.D=processor->Rm.br.IYh; + return (4); + break; + case 85: // LD D,IYL + processor->Rm.br.D=processor->Rm.br.IYl; + return (4); + break; + case 86: // LD D,(IY+d) + processor->Rm.br.D=Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IY)); + return (15); + break; + case 87: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 88: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 89: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 90: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 91: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 92: // LD E,IYH + processor->Rm.br.E=processor->Rm.br.IYh; + return (4); + break; + case 93: // LD E,IYL + processor->Rm.br.E=processor->Rm.br.IYl; + return (4); + break; + case 94: // LD E,(IY+d) + processor->Rm.br.E=Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IY)); + return (15); + break; + case 95: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 96: // LD IYH,B + processor->Rm.br.IYh=processor->Rm.br.B; + return (4); + break; + case 97: // LD IYH,C + processor->Rm.br.IYh=processor->Rm.br.C; + return (4); + break; + case 98: // LD IYH,D + processor->Rm.br.IYh=processor->Rm.br.D; + return (4); + break; + case 99: // LD IYH,E + processor->Rm.br.IYh=processor->Rm.br.E; + return (4); + break; + case 100: // LD IYH,IYH + processor->Rm.br.IYh=processor->Rm.br.IYh; + return (4); + break; + case 101: // LD IYH,IYL + processor->Rm.br.IYh=processor->Rm.br.IYl; + return (4); + break; + case 102: // LD H,(IY+d) + processor->Rm.br.H=Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IY)); + return (15); + break; + case 103: // LD IYH,A + processor->Rm.br.IYh=processor->Rm.br.A; + return (4); + break; + case 104: // LD IYL,B + processor->Rm.br.IYl=processor->Rm.br.B; + return (4); + break; + case 105: // LD IYL,C + processor->Rm.br.IYl=processor->Rm.br.C; + return (4); + break; + case 106: // LD IYL,D + processor->Rm.br.IYl=processor->Rm.br.D; + return (4); + break; + case 107: // LD IYL,E + processor->Rm.br.IYl=processor->Rm.br.E; + return (4); + break; + case 108: // LD IYL,IYH + processor->Rm.br.IYl=processor->Rm.br.IYh; + return (4); + break; + case 109: // LD IYL,IYL + processor->Rm.br.IYl=processor->Rm.br.IYl; + return (4); + break; + case 110: // LD L,(IY+d) + processor->Rm.br.L=Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IY)); + return (15); + break; + case 111: // LD IYL,A + processor->Rm.br.IYl=processor->Rm.br.A; + return (4); + break; + case 112: // LD (IY+d),B + Z80free_Wr(Z80free_addr_relative(processor,processor->Rm.wr.IY),processor->Rm.br.B); + return (15); + break; + case 113: // LD (IY+d),C + Z80free_Wr(Z80free_addr_relative(processor,processor->Rm.wr.IY),processor->Rm.br.C); + return (15); + break; + case 114: // LD (IY+d),D + Z80free_Wr(Z80free_addr_relative(processor,processor->Rm.wr.IY),processor->Rm.br.D); + return (15); + break; + case 115: // LD (IY+d),E + Z80free_Wr(Z80free_addr_relative(processor,processor->Rm.wr.IY),processor->Rm.br.E); + return (15); + break; + case 116: // LD (IY+d),H + Z80free_Wr(Z80free_addr_relative(processor,processor->Rm.wr.IY),processor->Rm.br.H); + return (15); + break; + case 117: // LD (IY+d),L + Z80free_Wr(Z80free_addr_relative(processor,processor->Rm.wr.IY),processor->Rm.br.L); + return (15); + break; + case 118: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 119: // LD (IY+d),A + Z80free_Wr(Z80free_addr_relative(processor,processor->Rm.wr.IY),processor->Rm.br.A); + return (15); + break; + case 120: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 121: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 122: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 123: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 124: // LD A,IYH + processor->Rm.br.A=processor->Rm.br.IYh; + return (4); + break; + case 125: // LD A,IYL + processor->Rm.br.A=processor->Rm.br.IYl; + return (4); + break; + case 126: // LD A,(IY+d) + processor->Rm.br.A=Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IY)); + return (15); + break; + case 127: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 128: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 129: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 130: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 131: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 132: // ADD A,IYH + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.IYh,0,0); + return (4); + break; + case 133: // ADD A,IYL + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.IYl,0,0); + return (4); + break; + case 134: // ADD A,(IY+d) + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IY)),0,0); + return (15); + break; + case 135: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 136: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 137: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 138: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 139: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 140: // ADC A,IYH + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.IYh,1,0); + return (4); + break; + case 141: // ADC A,IYL + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.IYl,1,0); + return (4); + break; + case 142: // ADC A,(IY+d) + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IY)),1,0); + return (15); + break; + case 143: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 144: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 145: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 146: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 147: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 148: // SUB IYH + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.IYh,0,1); + return (4); + break; + case 149: // SUB IYL + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.IYl,0,1); + return (4); + break; + case 150: // SUB b(IY+d) + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IY)),0,1); + return (15); + break; + case 151: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 152: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 153: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 154: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 155: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 156: // SBC A,IYH + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.IYh,1,1); + return (4); + break; + case 157: // SBC A,IYL + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,processor->Rm.br.IYl,1,1); + return (4); + break; + case 158: // SBC A,(IY+d) + processor->Rm.br.A=Z80free_doArithmetic(processor,processor->Rm.br.A,Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IY)),1,1); + return (15); + break; + case 159: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 160: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 161: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 162: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 163: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 164: // AND IYH + Z80free_doAND(processor,processor->Rm.br.IYh); + return (4); + break; + case 165: // AND IYL + Z80free_doAND(processor,processor->Rm.br.IYl); + return (4); + break; + case 166: // AND b(IY+d) + Z80free_doAND(processor,Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IY))); + return (15); + break; + case 167: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 168: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 169: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 170: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 171: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 172: // XOR IYH + Z80free_doXOR(processor,processor->Rm.br.IYh); + return (4); + break; + case 173: // XOR IYL + Z80free_doXOR(processor,processor->Rm.br.IYl); + return (4); + break; + case 174: // XOR b(IY+d) + Z80free_doXOR(processor,Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IY))); + return (15); + break; + case 175: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 176: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 177: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 178: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 179: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 180: // OR IYH + Z80free_doOR(processor,processor->Rm.br.IYh); + return (4); + break; + case 181: // OR IYL + Z80free_doOR(processor,processor->Rm.br.IYl); + return (4); + break; + case 182: // OR b(IY+d) + Z80free_doOR(processor,Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IY))); + return (15); + break; + case 183: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 184: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 185: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 186: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 187: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 188: // CP IYH + tmp1=processor->Rm.br.IYh; + Z80free_doArithmetic(processor,processor->Rm.br.A,tmp1,0,1); + Z80free_adjustFlags(processor,tmp1); + return (4); + break; + case 189: // CP IYL + tmp1=processor->Rm.br.IYl; + Z80free_doArithmetic(processor,processor->Rm.br.A,tmp1,0,1); + Z80free_adjustFlags(processor,tmp1); + return (4); + break; + case 190: // CP b(IY+d) + tmp1=Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IY)); + Z80free_doArithmetic(processor,processor->Rm.br.A,tmp1,0,1); + Z80free_adjustFlags(processor,tmp1); + return (15); + break; + case 191: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 192: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 193: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 194: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 195: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 196: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 197: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 198: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 199: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 200: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 201: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 202: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 204: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 205: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 206: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 207: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 208: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 209: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 210: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 211: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 212: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 213: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 214: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 215: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 216: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 217: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 218: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 219: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 220: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 221: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 222: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 223: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 224: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 225: // POP IY + processor->Rm.wr.IY=Z80free_doPop(processor); + return (10); + break; + case 226: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 227: // EX (SP),IY + tmp2=Z80free_read16(processor->Rm.wr.SP); + Z80free_write16(processor->Rm.wr.SP,processor->Rm.wr.IY); + processor->Rm.wr.IY=tmp2; + return (19); + break; + case 228: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 229: // PUSH IY + Z80free_doPush(processor,processor->Rm.wr.IY); + return (11); + break; + case 230: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 231: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 232: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 233: // JP IY + tmp2=processor->Rm.wr.IY; + processor->PC=tmp2; + return (4); + break; + case 234: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 235: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 236: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 237: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 238: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 239: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 240: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 241: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 242: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 243: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 244: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 245: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 246: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 247: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 248: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 249: // LD SP,IY + processor->Rm.wr.SP=processor->Rm.wr.IY; + return (6); + break; + case 250: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 251: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 252: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 253: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 254: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + case 255: // DEFAULT + return (Z80free_codes(processor,opcode)); + break; + } + + return -1; +} diff --git a/src/z80free/Z80free_codesFD.txt b/src/z80free/Z80free_codesFD.txt new file mode 100644 index 0000000..4d9276d --- /dev/null +++ b/src/z80free/Z80free_codesFD.txt @@ -0,0 +1,262 @@ +# OPCODE, TSTATES and instruction for FD prefixed instructions +# The TSTATES are 4 less than the real ones, because we already had count +# them when exexuting the FD prefix +# DEFAULT opcode do the same than the unprefixed ones, using 4 TStates more +# Some opcodes have been modified to better adapt to the parser, like +# LD (IY+d),n, which now is LD2 IY+d,n +00 1 DEFAULT +01 1 DEFAULT +02 1 DEFAULT +03 1 DEFAULT +04 1 DEFAULT +05 1 DEFAULT +06 1 DEFAULT +07 1 DEFAULT +08 1 DEFAULT +09 11 ADD IY,BC +0A 1 DEFAULT +0B 1 DEFAULT +0C 1 DEFAULT +0D 1 DEFAULT +0E 1 DEFAULT +0F 1 DEFAULT +10 1 DEFAULT +11 1 DEFAULT +12 1 DEFAULT +13 1 DEFAULT +14 1 DEFAULT +15 1 DEFAULT +16 1 DEFAULT +17 1 DEFAULT +18 1 DEFAULT +19 11 ADD IY,DE +1A 1 DEFAULT +1B 1 DEFAULT +1C 1 DEFAULT +1D 1 DEFAULT +1E 1 DEFAULT +1F 1 DEFAULT +20 1 DEFAULT +21 10 LD IY,nn +22 16 LD (nn),IY +23 6 INC IY +24 4 INC IYH +25 4 DEC IYH +26 7 LD IYH,n +27 1 DEFAULT +28 1 DEFAULT +29 11 ADD IY,IY +2A 16 LD IY,(nn) +2B 6 DEC IY +2C 4 INC IYL +2D 4 DEC IYL +2E 7 LD IYL,n +2F 1 DEFAULT +30 1 DEFAULT +31 1 DEFAULT +32 1 DEFAULT +33 1 DEFAULT +34 19 INC b(IY+d) +35 19 DEC b(IY+d) +36 15 LD2 IY+d,n +37 1 DEFAULT +38 1 DEFAULT +39 11 ADD IY,SP +3A 1 DEFAULT +3B 1 DEFAULT +3C 1 DEFAULT +3D 1 DEFAULT +3E 1 DEFAULT +3F 1 DEFAULT +40 1 DEFAULT +41 1 DEFAULT +42 1 DEFAULT +43 1 DEFAULT +44 4 LD B,IYH +45 4 LD B,IYL +46 15 LD B,(IY+d) +47 1 DEFAULT +48 1 DEFAULT +49 1 DEFAULT +4A 1 DEFAULT +4B 1 DEFAULT +4C 4 LD C,IYH +4D 4 LD C,IYL +4E 15 LD C,(IY+d) +4F 1 DEFAULT +50 1 DEFAULT +51 1 DEFAULT +52 1 DEFAULT +53 1 DEFAULT +54 4 LD D,IYH +55 4 LD D,IYL +56 15 LD D,(IY+d) +57 1 DEFAULT +58 1 DEFAULT +59 1 DEFAULT +5A 1 DEFAULT +5B 1 DEFAULT +5C 4 LD E,IYH +5D 4 LD E,IYL +5E 15 LD E,(IY+d) +5F 1 DEFAULT +60 4 LD IYH,B +61 4 LD IYH,C +62 4 LD IYH,D +63 4 LD IYH,E +64 4 LD IYH,IYH +65 4 LD IYH,IYL +66 15 LD H,(IY+d) +67 4 LD IYH,A +68 4 LD IYL,B +69 4 LD IYL,C +6A 4 LD IYL,D +6B 4 LD IYL,E +6C 4 LD IYL,IYH +6D 4 LD IYL,IYL +6E 15 LD L,(IY+d) +6F 4 LD IYL,A +70 15 LD (IY+d),B +71 15 LD (IY+d),C +72 15 LD (IY+d),D +73 15 LD (IY+d),E +74 15 LD (IY+d),H +75 15 LD (IY+d),L +76 1 DEFAULT +77 15 LD (IY+d),A +78 1 DEFAULT +79 1 DEFAULT +7A 1 DEFAULT +7B 1 DEFAULT +7C 4 LD A,IYH +7D 4 LD A,IYL +7E 15 LD A,(IY+d) +7F 1 DEFAULT +80 1 DEFAULT +81 1 DEFAULT +82 1 DEFAULT +83 1 DEFAULT +84 4 ADD A,IYH +85 4 ADD A,IYL +86 15 ADD A,(IY+d) +87 1 DEFAULT +88 1 DEFAULT +89 1 DEFAULT +8A 1 DEFAULT +8B 1 DEFAULT +8C 4 ADC A,IYH +8D 4 ADC A,IYL +8E 15 ADC A,(IY+d) +8F 1 DEFAULT +90 1 DEFAULT +91 1 DEFAULT +92 1 DEFAULT +93 1 DEFAULT +94 4 SUB IYH +95 4 SUB IYL +96 15 SUB b(IY+d) +97 1 DEFAULT +98 1 DEFAULT +99 1 DEFAULT +9A 1 DEFAULT +9B 1 DEFAULT +9C 4 SBC A,IYH +9D 4 SBC A,IYL +9E 15 SBC A,(IY+d) +9F 1 DEFAULT +A0 1 DEFAULT +A1 1 DEFAULT +A2 1 DEFAULT +A3 1 DEFAULT +A4 4 AND IYH +A5 4 AND IYL +A6 15 AND b(IY+d) +A7 1 DEFAULT +A8 1 DEFAULT +A9 1 DEFAULT +AA 1 DEFAULT +AB 1 DEFAULT +AC 4 XOR IYH +AD 4 XOR IYL +AE 15 XOR b(IY+d) +AF 1 DEFAULT +B0 1 DEFAULT +B1 1 DEFAULT +B2 1 DEFAULT +B3 1 DEFAULT +B4 4 OR IYH +B5 4 OR IYL +B6 15 OR b(IY+d) +B7 1 DEFAULT +B8 1 DEFAULT +B9 1 DEFAULT +BA 1 DEFAULT +BB 1 DEFAULT +BC 4 CP IYH +BD 4 CP IYL +BE 15 CP b(IY+d) +BF 1 DEFAULT +C0 1 DEFAULT +C1 1 DEFAULT +C2 1 DEFAULT +C3 1 DEFAULT +C4 1 DEFAULT +C5 1 DEFAULT +C6 1 DEFAULT +C7 1 DEFAULT +C8 1 DEFAULT +C9 1 DEFAULT +CA 1 DEFAULT +CB * PREFIX +CC 1 DEFAULT +CD 1 DEFAULT +CE 1 DEFAULT +CF 1 DEFAULT +D0 1 DEFAULT +D1 1 DEFAULT +D2 1 DEFAULT +D3 1 DEFAULT +D4 1 DEFAULT +D5 1 DEFAULT +D6 1 DEFAULT +D7 1 DEFAULT +D8 1 DEFAULT +D9 1 DEFAULT +DA 1 DEFAULT +DB 1 DEFAULT +DC 1 DEFAULT +DD 1 DEFAULT +DE 1 DEFAULT +DF 1 DEFAULT +E0 1 DEFAULT +E1 10 POP IY +E2 1 DEFAULT +E3 19 EX (SP),IY +E4 1 DEFAULT +E5 11 PUSH IY +E6 1 DEFAULT +E7 1 DEFAULT +E8 1 DEFAULT +E9 4 JP IY +EA 1 DEFAULT +EB 1 DEFAULT +EC 1 DEFAULT +ED 1 DEFAULT +EE 1 DEFAULT +EF 1 DEFAULT +F0 1 DEFAULT +F1 1 DEFAULT +F2 1 DEFAULT +F3 1 DEFAULT +F4 1 DEFAULT +F5 1 DEFAULT +F6 1 DEFAULT +F7 1 DEFAULT +F8 1 DEFAULT +F9 6 LD SP,IY +FA 1 DEFAULT +FB 1 DEFAULT +FC 1 DEFAULT +FD 1 DEFAULT +FE 1 DEFAULT +FF 1 DEFAULT diff --git a/src/z80free/Z80free_codesFDCB.c b/src/z80free/Z80free_codesFDCB.c new file mode 100644 index 0000000..0891a84 --- /dev/null +++ b/src/z80free/Z80free_codesFDCB.c @@ -0,0 +1,1391 @@ +/* + * Copyright (C) 2008-2009 Sergio Costas (Raster Software Vigo) + * This file is part of Z80Free + * + * Z80Free 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. + * + * Z80Free is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "Z80free.h" + +int Z80free_codesFDCB (Z80FREE *processor,byte d1) { + static byte tmp1; + static byte opcode; + opcode=Z80free_Rd(processor->PC++); + + switch(opcode) { + case 0: // LD_RLC B,(IY+d) + tmp1=Z80free_doRLC(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.B=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 1: // LD_RLC C,(IY+d) + tmp1=Z80free_doRLC(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.C=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 2: // LD_RLC D,(IY+d) + tmp1=Z80free_doRLC(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.D=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 3: // LD_RLC E,(IY+d) + tmp1=Z80free_doRLC(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.E=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 4: // LD_RLC H,(IY+d) + tmp1=Z80free_doRLC(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.H=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 5: // LD_RLC L,(IY+d) + tmp1=Z80free_doRLC(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.L=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 6: // RLC b(IY+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),Z80free_doRLC(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1)))); + return (19); + break; + case 7: // LD_RLC A,(IY+d) + tmp1=Z80free_doRLC(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.A=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 8: // LD_RRC B,(IY+d) + tmp1=Z80free_doRRC(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.B=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 9: // LD_RRC C,(IY+d) + tmp1=Z80free_doRRC(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.C=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 10: // LD_RRC D,(IY+d) + tmp1=Z80free_doRRC(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.D=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 11: // LD_RRC E,(IY+d) + tmp1=Z80free_doRRC(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.E=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 12: // LD_RRC H,(IY+d) + tmp1=Z80free_doRRC(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.H=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 13: // LD_RRC L,(IY+d) + tmp1=Z80free_doRRC(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.L=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 14: // RRC b(IY+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),Z80free_doRRC(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1)))); + return (19); + break; + case 15: // LD_RRC A,(IY+d) + tmp1=Z80free_doRRC(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.A=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 16: // LD_RL B,(IY+d) + tmp1=Z80free_doRL(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.B=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 17: // LD_RL C,(IY+d) + tmp1=Z80free_doRL(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.C=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 18: // LD_RL D,(IY+d) + tmp1=Z80free_doRL(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.D=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 19: // LD_RL E,(IY+d) + tmp1=Z80free_doRL(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.E=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 20: // LD_RL H,(IY+d) + tmp1=Z80free_doRL(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.H=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 21: // LD_RL L,(IY+d) + tmp1=Z80free_doRL(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.L=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 22: // RL b(IY+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),Z80free_doRL(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1)))); + return (19); + break; + case 23: // LD_RL A,(IY+d) + tmp1=Z80free_doRL(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.A=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 24: // LD_RR B,(IY+d) + tmp1=Z80free_doRR(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.B=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 25: // LD_RR C,(IY+d) + tmp1=Z80free_doRR(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.C=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 26: // LD_RR D,(IY+d) + tmp1=Z80free_doRR(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.D=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 27: // LD_RR E,(IY+d) + tmp1=Z80free_doRR(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.E=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 28: // LD_RR H,(IY+d) + tmp1=Z80free_doRR(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.H=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 29: // LD_RR L,(IY+d) + tmp1=Z80free_doRR(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.L=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 30: // RR b(IY+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),Z80free_doRR(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1)))); + return (19); + break; + case 31: // LD_RR A,(IY+d) + tmp1=Z80free_doRR(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.A=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 32: // LD_SLA B,(IY+d) + tmp1=Z80free_doSL(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.B=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 33: // LD_SLA C,(IY+d) + tmp1=Z80free_doSL(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.C=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 34: // LD_SLA D,(IY+d) + tmp1=Z80free_doSL(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.D=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 35: // LD_SLA E,(IY+d) + tmp1=Z80free_doSL(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.E=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 36: // LD_SLA H,(IY+d) + tmp1=Z80free_doSL(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.H=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 37: // LD_SLA L,(IY+d) + tmp1=Z80free_doSL(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.L=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 38: // SLA b(IY+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),Z80free_doSL(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1)))); + return (19); + break; + case 39: // LD_SLA A,(IY+d) + tmp1=Z80free_doSL(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.A=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 40: // LD_SRA B,(IY+d) + tmp1=Z80free_doSR(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.B=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 41: // LD_SRA C,(IY+d) + tmp1=Z80free_doSR(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.C=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 42: // LD_SRA D,(IY+d) + tmp1=Z80free_doSR(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.D=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 43: // LD_SRA E,(IY+d) + tmp1=Z80free_doSR(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.E=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 44: // LD_SRA H,(IY+d) + tmp1=Z80free_doSR(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.H=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 45: // LD_SRA L,(IY+d) + tmp1=Z80free_doSR(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.L=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 46: // SRA b(IY+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),Z80free_doSR(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1)))); + return (19); + break; + case 47: // LD_SRA A,(IY+d) + tmp1=Z80free_doSR(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.A=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 48: // LD_SLL B,(IY+d) + tmp1=Z80free_doSL(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.B=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 49: // LD_SLL C,(IY+d) + tmp1=Z80free_doSL(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.C=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 50: // LD_SLL D,(IY+d) + tmp1=Z80free_doSL(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.D=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 51: // LD_SLL E,(IY+d) + tmp1=Z80free_doSL(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.E=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 52: // LD_SLL H,(IY+d) + tmp1=Z80free_doSL(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.H=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 53: // LD_SLL L,(IY+d) + tmp1=Z80free_doSL(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.L=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 54: // SLL b(IY+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),Z80free_doSL(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1)))); + return (19); + break; + case 55: // LD_SLL A,(IY+d) + tmp1=Z80free_doSL(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.A=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 56: // LD_SRL B,(IY+d) + tmp1=Z80free_doSR(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.B=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 57: // LD_SRL C,(IY+d) + tmp1=Z80free_doSR(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.C=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 58: // LD_SRL D,(IY+d) + tmp1=Z80free_doSR(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.D=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 59: // LD_SRL E,(IY+d) + tmp1=Z80free_doSR(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.E=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 60: // LD_SRL H,(IY+d) + tmp1=Z80free_doSR(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.H=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 61: // LD_SRL L,(IY+d) + tmp1=Z80free_doSR(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.L=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 62: // SRL b(IY+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),Z80free_doSR(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1)))); + return (19); + break; + case 63: // LD_SRL A,(IY+d) + tmp1=Z80free_doSR(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + processor->Rm.br.A=tmp1; + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + return (19); + break; + case 64: // BIT 0,(IY+d) + Z80free_doBIT(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 65: // BIT 0,(IY+d) + Z80free_doBIT(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 66: // BIT 0,(IY+d) + Z80free_doBIT(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 67: // BIT 0,(IY+d) + Z80free_doBIT(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 68: // BIT 0,(IY+d) + Z80free_doBIT(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 69: // BIT 0,(IY+d) + Z80free_doBIT(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 70: // BIT 0,(IY+d) + Z80free_doBIT(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 71: // BIT 0,(IY+d) + Z80free_doBIT(processor,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 72: // BIT 1,(IY+d) + Z80free_doBIT(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 73: // BIT 1,(IY+d) + Z80free_doBIT(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 74: // BIT 1,(IY+d) + Z80free_doBIT(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 75: // BIT 1,(IY+d) + Z80free_doBIT(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 76: // BIT 1,(IY+d) + Z80free_doBIT(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 77: // BIT 1,(IY+d) + Z80free_doBIT(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 78: // BIT 1,(IY+d) + Z80free_doBIT(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 79: // BIT 1,(IY+d) + Z80free_doBIT(processor,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 80: // BIT 2,(IY+d) + Z80free_doBIT(processor,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 81: // BIT 2,(IY+d) + Z80free_doBIT(processor,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 82: // BIT 2,(IY+d) + Z80free_doBIT(processor,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 83: // BIT 2,(IY+d) + Z80free_doBIT(processor,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 84: // BIT 2,(IY+d) + Z80free_doBIT(processor,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 85: // BIT 2,(IY+d) + Z80free_doBIT(processor,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 86: // BIT 2,(IY+d) + Z80free_doBIT(processor,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 87: // BIT 2,(IY+d) + Z80free_doBIT(processor,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 88: // BIT 3,(IY+d) + Z80free_doBIT(processor,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 89: // BIT 3,(IY+d) + Z80free_doBIT(processor,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 90: // BIT 3,(IY+d) + Z80free_doBIT(processor,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 91: // BIT 3,(IY+d) + Z80free_doBIT(processor,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 92: // BIT 3,(IY+d) + Z80free_doBIT(processor,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 93: // BIT 3,(IY+d) + Z80free_doBIT(processor,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 94: // BIT 3,(IY+d) + Z80free_doBIT(processor,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 95: // BIT 3,(IY+d) + Z80free_doBIT(processor,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 96: // BIT 4,(IY+d) + Z80free_doBIT(processor,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 97: // BIT 4,(IY+d) + Z80free_doBIT(processor,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 98: // BIT 4,(IY+d) + Z80free_doBIT(processor,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 99: // BIT 4,(IY+d) + Z80free_doBIT(processor,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 100: // BIT 4,(IY+d) + Z80free_doBIT(processor,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 101: // BIT 4,(IY+d) + Z80free_doBIT(processor,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 102: // BIT 4,(IY+d) + Z80free_doBIT(processor,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 103: // BIT 4,(IY+d) + Z80free_doBIT(processor,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 104: // BIT 5,(IY+d) + Z80free_doBIT(processor,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 105: // BIT 5,(IY+d) + Z80free_doBIT(processor,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 106: // BIT 5,(IY+d) + Z80free_doBIT(processor,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 107: // BIT 5,(IY+d) + Z80free_doBIT(processor,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 108: // BIT 5,(IY+d) + Z80free_doBIT(processor,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 109: // BIT 5,(IY+d) + Z80free_doBIT(processor,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 110: // BIT 5,(IY+d) + Z80free_doBIT(processor,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 111: // BIT 5,(IY+d) + Z80free_doBIT(processor,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 112: // BIT 6,(IY+d) + Z80free_doBIT(processor,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 113: // BIT 6,(IY+d) + Z80free_doBIT(processor,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 114: // BIT 6,(IY+d) + Z80free_doBIT(processor,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 115: // BIT 6,(IY+d) + Z80free_doBIT(processor,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 116: // BIT 6,(IY+d) + Z80free_doBIT(processor,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 117: // BIT 6,(IY+d) + Z80free_doBIT(processor,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 118: // BIT 6,(IY+d) + Z80free_doBIT(processor,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 119: // BIT 6,(IY+d) + Z80free_doBIT(processor,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 120: // BIT 7,(IY+d) + Z80free_doBIT(processor,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 121: // BIT 7,(IY+d) + Z80free_doBIT(processor,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 122: // BIT 7,(IY+d) + Z80free_doBIT(processor,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 123: // BIT 7,(IY+d) + Z80free_doBIT(processor,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 124: // BIT 7,(IY+d) + Z80free_doBIT(processor,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 125: // BIT 7,(IY+d) + Z80free_doBIT(processor,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 126: // BIT 7,(IY+d) + Z80free_doBIT(processor,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 127: // BIT 7,(IY+d) + Z80free_doBIT(processor,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + return (16); + break; + case 128: // LD_RES B,0,(IY+d) + tmp1=Z80free_doSetRes(processor,0,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.B=tmp1; + return (19); + break; + case 129: // LD_RES C,0,(IY+d) + tmp1=Z80free_doSetRes(processor,0,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.C=tmp1; + return (19); + break; + case 130: // LD_RES D,0,(IY+d) + tmp1=Z80free_doSetRes(processor,0,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.D=tmp1; + return (19); + break; + case 131: // LD_RES E,0,(IY+d) + tmp1=Z80free_doSetRes(processor,0,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.E=tmp1; + return (19); + break; + case 132: // LD_RES H,0,(IY+d) + tmp1=Z80free_doSetRes(processor,0,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.H=tmp1; + return (19); + break; + case 133: // LD_RES L,0,(IY+d) + tmp1=Z80free_doSetRes(processor,0,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.L=tmp1; + return (19); + break; + case 134: // RES 0,(IY+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),Z80free_doSetRes(processor,0,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1)))); + return (19); + break; + case 135: // LD_RES A,0,(IY+d) + tmp1=Z80free_doSetRes(processor,0,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.A=tmp1; + return (19); + break; + case 136: // LD_RES B,1,(IY+d) + tmp1=Z80free_doSetRes(processor,0,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.B=tmp1; + return (19); + break; + case 137: // LD_RES C,1,(IY+d) + tmp1=Z80free_doSetRes(processor,0,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.C=tmp1; + return (19); + break; + case 138: // LD_RES D,1,(IY+d) + tmp1=Z80free_doSetRes(processor,0,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.D=tmp1; + return (19); + break; + case 139: // LD_RES E,1,(IY+d) + tmp1=Z80free_doSetRes(processor,0,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.E=tmp1; + return (19); + break; + case 140: // LD_RES H,1,(IY+d) + tmp1=Z80free_doSetRes(processor,0,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.H=tmp1; + return (19); + break; + case 141: // LD_RES L,1,(IY+d) + tmp1=Z80free_doSetRes(processor,0,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.L=tmp1; + return (19); + break; + case 142: // RES 1,(IY+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),Z80free_doSetRes(processor,0,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1)))); + return (19); + break; + case 143: // LD_RES A,1,(IY+d) + tmp1=Z80free_doSetRes(processor,0,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.A=tmp1; + return (19); + break; + case 144: // LD_RES B,2,(IY+d) + tmp1=Z80free_doSetRes(processor,0,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.B=tmp1; + return (19); + break; + case 145: // LD_RES C,2,(IY+d) + tmp1=Z80free_doSetRes(processor,0,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.C=tmp1; + return (19); + break; + case 146: // LD_RES D,2,(IY+d) + tmp1=Z80free_doSetRes(processor,0,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.D=tmp1; + return (19); + break; + case 147: // LD_RES E,2,(IY+d) + tmp1=Z80free_doSetRes(processor,0,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.E=tmp1; + return (19); + break; + case 148: // LD_RES H,2,(IY+d) + tmp1=Z80free_doSetRes(processor,0,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.H=tmp1; + return (19); + break; + case 149: // LD_RES L,2,(IY+d) + tmp1=Z80free_doSetRes(processor,0,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.L=tmp1; + return (19); + break; + case 150: // RES 2,(IY+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),Z80free_doSetRes(processor,0,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1)))); + return (19); + break; + case 151: // LD_RES A,2,(IY+d) + tmp1=Z80free_doSetRes(processor,0,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.A=tmp1; + return (19); + break; + case 152: // LD_RES B,3,(IY+d) + tmp1=Z80free_doSetRes(processor,0,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.B=tmp1; + return (19); + break; + case 153: // LD_RES C,3,(IY+d) + tmp1=Z80free_doSetRes(processor,0,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.C=tmp1; + return (19); + break; + case 154: // LD_RES D,3,(IY+d) + tmp1=Z80free_doSetRes(processor,0,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.D=tmp1; + return (19); + break; + case 155: // LD_RES E,3,(IY+d) + tmp1=Z80free_doSetRes(processor,0,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.E=tmp1; + return (19); + break; + case 156: // LD_RES H,3,(IY+d) + tmp1=Z80free_doSetRes(processor,0,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.H=tmp1; + return (19); + break; + case 157: // LD_RES L,3,(IY+d) + tmp1=Z80free_doSetRes(processor,0,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.L=tmp1; + return (19); + break; + case 158: // RES 3,(IY+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),Z80free_doSetRes(processor,0,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1)))); + return (19); + break; + case 159: // LD_RES A,3,(IY+d) + tmp1=Z80free_doSetRes(processor,0,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.A=tmp1; + return (19); + break; + case 160: // LD_RES B,4,(IY+d) + tmp1=Z80free_doSetRes(processor,0,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.B=tmp1; + return (19); + break; + case 161: // LD_RES C,4,(IY+d) + tmp1=Z80free_doSetRes(processor,0,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.C=tmp1; + return (19); + break; + case 162: // LD_RES D,4,(IY+d) + tmp1=Z80free_doSetRes(processor,0,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.D=tmp1; + return (19); + break; + case 163: // LD_RES E,4,(IY+d) + tmp1=Z80free_doSetRes(processor,0,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.E=tmp1; + return (19); + break; + case 164: // LD_RES H,4,(IY+d) + tmp1=Z80free_doSetRes(processor,0,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.H=tmp1; + return (19); + break; + case 165: // LD_RES L,4,(IY+d) + tmp1=Z80free_doSetRes(processor,0,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.L=tmp1; + return (19); + break; + case 166: // RES 4,(IY+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),Z80free_doSetRes(processor,0,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1)))); + return (19); + break; + case 167: // LD_RES A,4,(IY+d) + tmp1=Z80free_doSetRes(processor,0,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.A=tmp1; + return (19); + break; + case 168: // LD_RES B,5,(IY+d) + tmp1=Z80free_doSetRes(processor,0,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.B=tmp1; + return (19); + break; + case 169: // LD_RES C,5,(IY+d) + tmp1=Z80free_doSetRes(processor,0,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.C=tmp1; + return (19); + break; + case 170: // LD_RES D,5,(IY+d) + tmp1=Z80free_doSetRes(processor,0,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.D=tmp1; + return (19); + break; + case 171: // LD_RES E,5,(IY+d) + tmp1=Z80free_doSetRes(processor,0,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.E=tmp1; + return (19); + break; + case 172: // LD_RES H,5,(IY+d) + tmp1=Z80free_doSetRes(processor,0,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.H=tmp1; + return (19); + break; + case 173: // LD_RES L,5,(IY+d) + tmp1=Z80free_doSetRes(processor,0,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.L=tmp1; + return (19); + break; + case 174: // RES 5,(IY+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),Z80free_doSetRes(processor,0,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1)))); + return (19); + break; + case 175: // LD_RES A,5,(IY+d) + tmp1=Z80free_doSetRes(processor,0,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.A=tmp1; + return (19); + break; + case 176: // LD_RES B,6,(IY+d) + tmp1=Z80free_doSetRes(processor,0,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.B=tmp1; + return (19); + break; + case 177: // LD_RES C,6,(IY+d) + tmp1=Z80free_doSetRes(processor,0,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.C=tmp1; + return (19); + break; + case 178: // LD_RES D,6,(IY+d) + tmp1=Z80free_doSetRes(processor,0,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.D=tmp1; + return (19); + break; + case 179: // LD_RES E,6,(IY+d) + tmp1=Z80free_doSetRes(processor,0,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.E=tmp1; + return (19); + break; + case 180: // LD_RES H,6,(IY+d) + tmp1=Z80free_doSetRes(processor,0,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.H=tmp1; + return (19); + break; + case 181: // LD_RES L,6,(IY+d) + tmp1=Z80free_doSetRes(processor,0,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.L=tmp1; + return (19); + break; + case 182: // RES 6,(IY+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),Z80free_doSetRes(processor,0,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1)))); + return (19); + break; + case 183: // LD_RES A,6,(IY+d) + tmp1=Z80free_doSetRes(processor,0,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.A=tmp1; + return (19); + break; + case 184: // LD_RES B,7,(IY+d) + tmp1=Z80free_doSetRes(processor,0,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.B=tmp1; + return (19); + break; + case 185: // LD_RES C,7,(IY+d) + tmp1=Z80free_doSetRes(processor,0,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.C=tmp1; + return (19); + break; + case 186: // LD_RES D,7,(IY+d) + tmp1=Z80free_doSetRes(processor,0,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.D=tmp1; + return (19); + break; + case 187: // LD_RES E,7,(IY+d) + tmp1=Z80free_doSetRes(processor,0,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.E=tmp1; + return (19); + break; + case 188: // LD_RES H,7,(IY+d) + tmp1=Z80free_doSetRes(processor,0,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.H=tmp1; + return (19); + break; + case 189: // LD_RES L,7,(IY+d) + tmp1=Z80free_doSetRes(processor,0,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.L=tmp1; + return (19); + break; + case 190: // RES 7,(IY+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),Z80free_doSetRes(processor,0,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1)))); + return (19); + break; + case 191: // LD_RES A,7,(IY+d) + tmp1=Z80free_doSetRes(processor,0,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.A=tmp1; + return (19); + break; + case 192: // LD_SET B,0,(IY+d) + tmp1=Z80free_doSetRes(processor,1,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.B=tmp1; + return (19); + break; + case 193: // LD_SET C,0,(IY+d) + tmp1=Z80free_doSetRes(processor,1,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.C=tmp1; + return (19); + break; + case 194: // LD_SET D,0,(IY+d) + tmp1=Z80free_doSetRes(processor,1,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.D=tmp1; + return (19); + break; + case 195: // LD_SET E,0,(IY+d) + tmp1=Z80free_doSetRes(processor,1,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.E=tmp1; + return (19); + break; + case 196: // LD_SET H,0,(IY+d) + tmp1=Z80free_doSetRes(processor,1,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.H=tmp1; + return (19); + break; + case 197: // LD_SET L,0,(IY+d) + tmp1=Z80free_doSetRes(processor,1,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.L=tmp1; + return (19); + break; + case 198: // SET 0,(IY+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),Z80free_doSetRes(processor,1,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1)))); + return (19); + break; + case 199: // LD_SET A,0,(IY+d) + tmp1=Z80free_doSetRes(processor,1,0,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.A=tmp1; + return (19); + break; + case 200: // LD_SET B,1,(IY+d) + tmp1=Z80free_doSetRes(processor,1,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.B=tmp1; + return (19); + break; + case 201: // LD_SET C,1,(IY+d) + tmp1=Z80free_doSetRes(processor,1,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.C=tmp1; + return (19); + break; + case 202: // LD_SET D,1,(IY+d) + tmp1=Z80free_doSetRes(processor,1,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.D=tmp1; + return (19); + break; + case 203: // LD_SET E,1,(IY+d) + tmp1=Z80free_doSetRes(processor,1,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.E=tmp1; + return (19); + break; + case 204: // LD_SET H,1,(IY+d) + tmp1=Z80free_doSetRes(processor,1,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.H=tmp1; + return (19); + break; + case 205: // LD_SET L,1,(IY+d) + tmp1=Z80free_doSetRes(processor,1,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.L=tmp1; + return (19); + break; + case 206: // SET 1,(IY+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),Z80free_doSetRes(processor,1,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1)))); + return (19); + break; + case 207: // LD_SET A,1,(IY+d) + tmp1=Z80free_doSetRes(processor,1,1,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.A=tmp1; + return (19); + break; + case 208: // LD_SET B,2,(IY+d) + tmp1=Z80free_doSetRes(processor,1,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.B=tmp1; + return (19); + break; + case 209: // LD_SET C,2,(IY+d) + tmp1=Z80free_doSetRes(processor,1,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.C=tmp1; + return (19); + break; + case 210: // LD_SET D,2,(IY+d) + tmp1=Z80free_doSetRes(processor,1,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.D=tmp1; + return (19); + break; + case 211: // LD_SET E,2,(IY+d) + tmp1=Z80free_doSetRes(processor,1,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.E=tmp1; + return (19); + break; + case 212: // LD_SET H,2,(IY+d) + tmp1=Z80free_doSetRes(processor,1,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.H=tmp1; + return (19); + break; + case 213: // LD_SET L,2,(IY+d) + tmp1=Z80free_doSetRes(processor,1,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.L=tmp1; + return (19); + break; + case 214: // SET 2,(IY+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),Z80free_doSetRes(processor,1,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1)))); + return (19); + break; + case 215: // LD_SET A,2,(IY+d) + tmp1=Z80free_doSetRes(processor,1,2,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.A=tmp1; + return (19); + break; + case 216: // LD_SET B,3,(IY+d) + tmp1=Z80free_doSetRes(processor,1,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.B=tmp1; + return (19); + break; + case 217: // LD_SET C,3,(IY+d) + tmp1=Z80free_doSetRes(processor,1,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.C=tmp1; + return (19); + break; + case 218: // LD_SET D,3,(IY+d) + tmp1=Z80free_doSetRes(processor,1,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.D=tmp1; + return (19); + break; + case 219: // LD_SET E,3,(IY+d) + tmp1=Z80free_doSetRes(processor,1,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.E=tmp1; + return (19); + break; + case 220: // LD_SET H,3,(IY+d) + tmp1=Z80free_doSetRes(processor,1,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.H=tmp1; + return (19); + break; + case 221: // LD_SET L,3,(IY+d) + tmp1=Z80free_doSetRes(processor,1,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.L=tmp1; + return (19); + break; + case 222: // SET 3,(IY+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),Z80free_doSetRes(processor,1,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1)))); + return (19); + break; + case 223: // LD_SET A,3,(IY+d) + tmp1=Z80free_doSetRes(processor,1,3,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.A=tmp1; + return (19); + break; + case 224: // LD_SET B,4,(IY+d) + tmp1=Z80free_doSetRes(processor,1,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.B=tmp1; + return (19); + break; + case 225: // LD_SET C,4,(IY+d) + tmp1=Z80free_doSetRes(processor,1,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.C=tmp1; + return (19); + break; + case 226: // LD_SET D,4,(IY+d) + tmp1=Z80free_doSetRes(processor,1,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.D=tmp1; + return (19); + break; + case 227: // LD_SET E,4,(IY+d) + tmp1=Z80free_doSetRes(processor,1,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.E=tmp1; + return (19); + break; + case 228: // LD_SET H,4,(IY+d) + tmp1=Z80free_doSetRes(processor,1,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.H=tmp1; + return (19); + break; + case 229: // LD_SET L,4,(IY+d) + tmp1=Z80free_doSetRes(processor,1,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.L=tmp1; + return (19); + break; + case 230: // SET 4,(IY+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),Z80free_doSetRes(processor,1,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1)))); + return (19); + break; + case 231: // LD_SET A,4,(IY+d) + tmp1=Z80free_doSetRes(processor,1,4,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.A=tmp1; + return (19); + break; + case 232: // LD_SET B,5,(IY+d) + tmp1=Z80free_doSetRes(processor,1,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.B=tmp1; + return (19); + break; + case 233: // LD_SET C,5,(IY+d) + tmp1=Z80free_doSetRes(processor,1,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.C=tmp1; + return (19); + break; + case 234: // LD_SET D,5,(IY+d) + tmp1=Z80free_doSetRes(processor,1,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.D=tmp1; + return (19); + break; + case 235: // LD_SET E,5,(IY+d) + tmp1=Z80free_doSetRes(processor,1,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.E=tmp1; + return (19); + break; + case 236: // LD_SET H,5,(IY+d) + tmp1=Z80free_doSetRes(processor,1,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.H=tmp1; + return (19); + break; + case 237: // LD_SET L,5,(IY+d) + tmp1=Z80free_doSetRes(processor,1,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.L=tmp1; + return (19); + break; + case 238: // SET 5,(IY+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),Z80free_doSetRes(processor,1,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1)))); + return (19); + break; + case 239: // LD_SET A,5,(IY+d) + tmp1=Z80free_doSetRes(processor,1,5,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.A=tmp1; + return (19); + break; + case 240: // LD_SET B,6,(IY+d) + tmp1=Z80free_doSetRes(processor,1,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.B=tmp1; + return (19); + break; + case 241: // LD_SET C,6,(IY+d) + tmp1=Z80free_doSetRes(processor,1,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.C=tmp1; + return (19); + break; + case 242: // LD_SET D,6,(IY+d) + tmp1=Z80free_doSetRes(processor,1,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.D=tmp1; + return (19); + break; + case 243: // LD_SET E,6,(IY+d) + tmp1=Z80free_doSetRes(processor,1,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.E=tmp1; + return (19); + break; + case 244: // LD_SET H,6,(IY+d) + tmp1=Z80free_doSetRes(processor,1,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.H=tmp1; + return (19); + break; + case 245: // LD_SET L,6,(IY+d) + tmp1=Z80free_doSetRes(processor,1,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.L=tmp1; + return (19); + break; + case 246: // SET 6,(IY+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),Z80free_doSetRes(processor,1,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1)))); + return (19); + break; + case 247: // LD_SET A,6,(IY+d) + tmp1=Z80free_doSetRes(processor,1,6,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.A=tmp1; + return (19); + break; + case 248: // LD_SET B,7,(IY+d) + tmp1=Z80free_doSetRes(processor,1,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.B=tmp1; + return (19); + break; + case 249: // LD_SET C,7,(IY+d) + tmp1=Z80free_doSetRes(processor,1,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.C=tmp1; + return (19); + break; + case 250: // LD_SET D,7,(IY+d) + tmp1=Z80free_doSetRes(processor,1,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.D=tmp1; + return (19); + break; + case 251: // LD_SET E,7,(IY+d) + tmp1=Z80free_doSetRes(processor,1,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.E=tmp1; + return (19); + break; + case 252: // LD_SET H,7,(IY+d) + tmp1=Z80free_doSetRes(processor,1,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.H=tmp1; + return (19); + break; + case 253: // LD_SET L,7,(IY+d) + tmp1=Z80free_doSetRes(processor,1,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.L=tmp1; + return (19); + break; + case 254: // SET 7,(IY+d) + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),Z80free_doSetRes(processor,1,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1)))); + return (19); + break; + case 255: // LD_SET A,7,(IY+d) + tmp1=Z80free_doSetRes(processor,1,7,Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))); + Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),tmp1); + processor->Rm.br.A=tmp1; + return (19); + break; + } + + return -1; +} diff --git a/src/z80free/Z80free_codesFDCB.txt b/src/z80free/Z80free_codesFDCB.txt new file mode 100644 index 0000000..4a46839 --- /dev/null +++ b/src/z80free/Z80free_codesFDCB.txt @@ -0,0 +1,262 @@ +# OPCODES, TSTATES and INSTRUCTIONS for FDCB prefixed instructions +# The TSTATES are 4 less than the real ones because they are counted +# when executing the FDCB prefix +# +# Instructions of the format LD r,XXX (IY+d) (like LD B,RLC (IY+d) ) +# are modified to the format LD_XXX r,(IY+d) to simplify the parser +00 19 LD_RLC B,(IY+d) +01 19 LD_RLC C,(IY+d) +02 19 LD_RLC D,(IY+d) +03 19 LD_RLC E,(IY+d) +04 19 LD_RLC H,(IY+d) +05 19 LD_RLC L,(IY+d) +06 19 RLC b(IY+d) +07 19 LD_RLC A,(IY+d) +08 19 LD_RRC B,(IY+d) +09 19 LD_RRC C,(IY+d) +0A 19 LD_RRC D,(IY+d) +0B 19 LD_RRC E,(IY+d) +0C 19 LD_RRC H,(IY+d) +0D 19 LD_RRC L,(IY+d) +0E 19 RRC b(IY+d) +0F 19 LD_RRC A,(IY+d) +10 19 LD_RL B,(IY+d) +11 19 LD_RL C,(IY+d) +12 19 LD_RL D,(IY+d) +13 19 LD_RL E,(IY+d) +14 19 LD_RL H,(IY+d) +15 19 LD_RL L,(IY+d) +16 19 RL b(IY+d) +17 19 LD_RL A,(IY+d) +18 19 LD_RR B,(IY+d) +19 19 LD_RR C,(IY+d) +1A 19 LD_RR D,(IY+d) +1B 19 LD_RR E,(IY+d) +1C 19 LD_RR H,(IY+d) +1D 19 LD_RR L,(IY+d) +1E 19 RR b(IY+d) +1F 19 LD_RR A,(IY+d) +20 19 LD_SLA B,(IY+d) +21 19 LD_SLA C,(IY+d) +22 19 LD_SLA D,(IY+d) +23 19 LD_SLA E,(IY+d) +24 19 LD_SLA H,(IY+d) +25 19 LD_SLA L,(IY+d) +26 19 SLA b(IY+d) +27 19 LD_SLA A,(IY+d) +28 19 LD_SRA B,(IY+d) +29 19 LD_SRA C,(IY+d) +2A 19 LD_SRA D,(IY+d) +2B 19 LD_SRA E,(IY+d) +2C 19 LD_SRA H,(IY+d) +2D 19 LD_SRA L,(IY+d) +2E 19 SRA b(IY+d) +2F 19 LD_SRA A,(IY+d) +30 19 LD_SLL B,(IY+d) +31 19 LD_SLL C,(IY+d) +32 19 LD_SLL D,(IY+d) +33 19 LD_SLL E,(IY+d) +34 19 LD_SLL H,(IY+d) +35 19 LD_SLL L,(IY+d) +36 19 SLL b(IY+d) +37 19 LD_SLL A,(IY+d) +38 19 LD_SRL B,(IY+d) +39 19 LD_SRL C,(IY+d) +3A 19 LD_SRL D,(IY+d) +3B 19 LD_SRL E,(IY+d) +3C 19 LD_SRL H,(IY+d) +3D 19 LD_SRL L,(IY+d) +3E 19 SRL b(IY+d) +3F 19 LD_SRL A,(IY+d) +40 16 BIT 0,(IY+d) +41 16 BIT 0,(IY+d) +42 16 BIT 0,(IY+d) +43 16 BIT 0,(IY+d) +44 16 BIT 0,(IY+d) +45 16 BIT 0,(IY+d) +46 16 BIT 0,(IY+d) +47 16 BIT 0,(IY+d) +48 16 BIT 1,(IY+d) +49 16 BIT 1,(IY+d) +4A 16 BIT 1,(IY+d) +4B 16 BIT 1,(IY+d) +4C 16 BIT 1,(IY+d) +4D 16 BIT 1,(IY+d) +4E 16 BIT 1,(IY+d) +4F 16 BIT 1,(IY+d) +50 16 BIT 2,(IY+d) +51 16 BIT 2,(IY+d) +52 16 BIT 2,(IY+d) +53 16 BIT 2,(IY+d) +54 16 BIT 2,(IY+d) +55 16 BIT 2,(IY+d) +56 16 BIT 2,(IY+d) +57 16 BIT 2,(IY+d) +58 16 BIT 3,(IY+d) +59 16 BIT 3,(IY+d) +5A 16 BIT 3,(IY+d) +5B 16 BIT 3,(IY+d) +5C 16 BIT 3,(IY+d) +5D 16 BIT 3,(IY+d) +5E 16 BIT 3,(IY+d) +5F 16 BIT 3,(IY+d) +60 16 BIT 4,(IY+d) +61 16 BIT 4,(IY+d) +62 16 BIT 4,(IY+d) +63 16 BIT 4,(IY+d) +64 16 BIT 4,(IY+d) +65 16 BIT 4,(IY+d) +66 16 BIT 4,(IY+d) +67 16 BIT 4,(IY+d) +68 16 BIT 5,(IY+d) +69 16 BIT 5,(IY+d) +6A 16 BIT 5,(IY+d) +6B 16 BIT 5,(IY+d) +6C 16 BIT 5,(IY+d) +6D 16 BIT 5,(IY+d) +6E 16 BIT 5,(IY+d) +6F 16 BIT 5,(IY+d) +70 16 BIT 6,(IY+d) +71 16 BIT 6,(IY+d) +72 16 BIT 6,(IY+d) +73 16 BIT 6,(IY+d) +74 16 BIT 6,(IY+d) +75 16 BIT 6,(IY+d) +76 16 BIT 6,(IY+d) +77 16 BIT 6,(IY+d) +78 16 BIT 7,(IY+d) +79 16 BIT 7,(IY+d) +7A 16 BIT 7,(IY+d) +7B 16 BIT 7,(IY+d) +7C 16 BIT 7,(IY+d) +7D 16 BIT 7,(IY+d) +7E 16 BIT 7,(IY+d) +7F 16 BIT 7,(IY+d) +80 19 LD_RES B,0,(IY+d) +81 19 LD_RES C,0,(IY+d) +82 19 LD_RES D,0,(IY+d) +83 19 LD_RES E,0,(IY+d) +84 19 LD_RES H,0,(IY+d) +85 19 LD_RES L,0,(IY+d) +86 19 RES 0,(IY+d) +87 19 LD_RES A,0,(IY+d) +88 19 LD_RES B,1,(IY+d) +89 19 LD_RES C,1,(IY+d) +8A 19 LD_RES D,1,(IY+d) +8B 19 LD_RES E,1,(IY+d) +8C 19 LD_RES H,1,(IY+d) +8D 19 LD_RES L,1,(IY+d) +8E 19 RES 1,(IY+d) +8F 19 LD_RES A,1,(IY+d) +90 19 LD_RES B,2,(IY+d) +91 19 LD_RES C,2,(IY+d) +92 19 LD_RES D,2,(IY+d) +93 19 LD_RES E,2,(IY+d) +94 19 LD_RES H,2,(IY+d) +95 19 LD_RES L,2,(IY+d) +96 19 RES 2,(IY+d) +97 19 LD_RES A,2,(IY+d) +98 19 LD_RES B,3,(IY+d) +99 19 LD_RES C,3,(IY+d) +9A 19 LD_RES D,3,(IY+d) +9B 19 LD_RES E,3,(IY+d) +9C 19 LD_RES H,3,(IY+d) +9D 19 LD_RES L,3,(IY+d) +9E 19 RES 3,(IY+d) +9F 19 LD_RES A,3,(IY+d) +A0 19 LD_RES B,4,(IY+d) +A1 19 LD_RES C,4,(IY+d) +A2 19 LD_RES D,4,(IY+d) +A3 19 LD_RES E,4,(IY+d) +A4 19 LD_RES H,4,(IY+d) +A5 19 LD_RES L,4,(IY+d) +A6 19 RES 4,(IY+d) +A7 19 LD_RES A,4,(IY+d) +A8 19 LD_RES B,5,(IY+d) +A9 19 LD_RES C,5,(IY+d) +AA 19 LD_RES D,5,(IY+d) +AB 19 LD_RES E,5,(IY+d) +AC 19 LD_RES H,5,(IY+d) +AD 19 LD_RES L,5,(IY+d) +AE 19 RES 5,(IY+d) +AF 19 LD_RES A,5,(IY+d) +B0 19 LD_RES B,6,(IY+d) +B1 19 LD_RES C,6,(IY+d) +B2 19 LD_RES D,6,(IY+d) +B3 19 LD_RES E,6,(IY+d) +B4 19 LD_RES H,6,(IY+d) +B5 19 LD_RES L,6,(IY+d) +B6 19 RES 6,(IY+d) +B7 19 LD_RES A,6,(IY+d) +B8 19 LD_RES B,7,(IY+d) +B9 19 LD_RES C,7,(IY+d) +BA 19 LD_RES D,7,(IY+d) +BB 19 LD_RES E,7,(IY+d) +BC 19 LD_RES H,7,(IY+d) +BD 19 LD_RES L,7,(IY+d) +BE 19 RES 7,(IY+d) +BF 19 LD_RES A,7,(IY+d) +C0 19 LD_SET B,0,(IY+d) +C1 19 LD_SET C,0,(IY+d) +C2 19 LD_SET D,0,(IY+d) +C3 19 LD_SET E,0,(IY+d) +C4 19 LD_SET H,0,(IY+d) +C5 19 LD_SET L,0,(IY+d) +C6 19 SET 0,(IY+d) +C7 19 LD_SET A,0,(IY+d) +C8 19 LD_SET B,1,(IY+d) +C9 19 LD_SET C,1,(IY+d) +CA 19 LD_SET D,1,(IY+d) +CB 19 LD_SET E,1,(IY+d) +CC 19 LD_SET H,1,(IY+d) +CD 19 LD_SET L,1,(IY+d) +CE 19 SET 1,(IY+d) +CF 19 LD_SET A,1,(IY+d) +D0 19 LD_SET B,2,(IY+d) +D1 19 LD_SET C,2,(IY+d) +D2 19 LD_SET D,2,(IY+d) +D3 19 LD_SET E,2,(IY+d) +D4 19 LD_SET H,2,(IY+d) +D5 19 LD_SET L,2,(IY+d) +D6 19 SET 2,(IY+d) +D7 19 LD_SET A,2,(IY+d) +D8 19 LD_SET B,3,(IY+d) +D9 19 LD_SET C,3,(IY+d) +DA 19 LD_SET D,3,(IY+d) +DB 19 LD_SET E,3,(IY+d) +DC 19 LD_SET H,3,(IY+d) +DD 19 LD_SET L,3,(IY+d) +DE 19 SET 3,(IY+d) +DF 19 LD_SET A,3,(IY+d) +E0 19 LD_SET B,4,(IY+d) +E1 19 LD_SET C,4,(IY+d) +E2 19 LD_SET D,4,(IY+d) +E3 19 LD_SET E,4,(IY+d) +E4 19 LD_SET H,4,(IY+d) +E5 19 LD_SET L,4,(IY+d) +E6 19 SET 4,(IY+d) +E7 19 LD_SET A,4,(IY+d) +E8 19 LD_SET B,5,(IY+d) +E9 19 LD_SET C,5,(IY+d) +EA 19 LD_SET D,5,(IY+d) +EB 19 LD_SET E,5,(IY+d) +EC 19 LD_SET H,5,(IY+d) +ED 19 LD_SET L,5,(IY+d) +EE 19 SET 5,(IY+d) +EF 19 LD_SET A,5,(IY+d) +F0 19 LD_SET B,6,(IY+d) +F1 19 LD_SET C,6,(IY+d) +F2 19 LD_SET D,6,(IY+d) +F3 19 LD_SET E,6,(IY+d) +F4 19 LD_SET H,6,(IY+d) +F5 19 LD_SET L,6,(IY+d) +F6 19 SET 6,(IY+d) +F7 19 LD_SET A,6,(IY+d) +F8 19 LD_SET B,7,(IY+d) +F9 19 LD_SET C,7,(IY+d) +FA 19 LD_SET D,7,(IY+d) +FB 19 LD_SET E,7,(IY+d) +FC 19 LD_SET H,7,(IY+d) +FD 19 LD_SET L,7,(IY+d) +FE 19 SET 7,(IY+d) +FF 19 LD_SET A,7,(IY+d) diff --git a/src/z80free/tests.expected b/src/z80free/tests.expected new file mode 100644 index 0000000..19252f1 --- /dev/null +++ b/src/z80free/tests.expected @@ -0,0 +1,18395 @@ +00 + 0 MC 0000 + 4 MR 0000 00 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +01 + 0 MC 0000 + 4 MR 0000 01 + 4 MC 0001 + 7 MR 0001 12 + 7 MC 0002 + 10 MR 0002 34 +0000 3412 0000 0000 0000 0000 0000 0000 0000 0000 0000 0003 +00 01 0 0 0 0 10 + +02 + 0 MC 0000 + 4 MR 0000 02 + 4 MC 0001 + 7 MW 0001 56 +5600 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 +0001 56 -1 + +03 + 0 MC 0000 + 4 MR 0000 03 + 4 MC 0001 + 5 MC 0001 +0000 789b 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 6 + +04 + 0 MC 0000 + 4 MR 0000 04 +0050 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +05 + 0 MC 0000 + 4 MR 0000 05 +00ba ff00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +06 + 0 MC 0000 + 4 MR 0000 06 + 4 MC 0001 + 7 MR 0001 bc +0000 bc00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 + +07 + 0 MC 0000 + 4 MR 0000 07 +1101 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +08 + 0 MC 0000 + 4 MR 0000 08 +1234 0000 0000 0000 def0 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +09 + 0 MC 0000 + 4 MR 0000 09 + 4 MC 0001 + 5 MC 0001 + 6 MC 0001 + 7 MC 0001 + 8 MC 0001 + 9 MC 0001 + 10 MC 0001 +0030 5678 0000 f134 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 11 + +0a + 0 MC 0000 + 4 MR 0000 0a + 4 MC 0001 + 7 MR 0001 de +de00 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 + +0b + 0 MC 0000 + 4 MR 0000 0b + 4 MC 0001 + 5 MC 0001 +0000 ffff 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 6 + +0c + 0 MC 0000 + 4 MR 0000 0c +0094 0080 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +0d + 0 MC 0000 + 4 MR 0000 0d +003e 007f 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +0e + 0 MC 0000 + 4 MR 0000 0e + 4 MC 0001 + 7 MR 0001 f0 +0000 00f0 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 + +0f + 0 MC 0000 + 4 MR 0000 0f +a021 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +10 + 0 MC 0000 + 4 MR 0000 00 + 4 MC 0001 + 8 MR 0001 10 + 8 MC 0002 + 9 MC 0002 + 12 MR 0002 fd + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC 0002 + 17 MC 0000 + 21 MR 0000 00 + 21 MC 0001 + 25 MR 0001 10 + 25 MC 0004 + 26 MC 0002 + 29 MR 0002 fd + 29 MC 0002 + 30 MC 0002 + 31 MC 0002 + 32 MC 0002 + 33 MC 0002 + 34 MC 0000 + 38 MR 0000 00 + 38 MC 0001 + 42 MR 0001 10 + 42 MC 0006 + 43 MC 0002 + 46 MR 0002 fd + 46 MC 0002 + 47 MC 0002 + 48 MC 0002 + 49 MC 0002 + 50 MC 0002 + 51 MC 0000 + 55 MR 0000 00 + 55 MC 0001 + 59 MR 0001 10 + 59 MC 0008 + 60 MC 0002 + 63 MR 0002 fd + 63 MC 0002 + 64 MC 0002 + 65 MC 0002 + 66 MC 0002 + 67 MC 0002 + 68 MC 0000 + 72 MR 0000 00 + 72 MC 0001 + 76 MR 0001 10 + 76 MC 000a + 77 MC 0002 + 80 MR 0002 fd + 80 MC 0002 + 81 MC 0002 + 82 MC 0002 + 83 MC 0002 + 84 MC 0002 + 85 MC 0000 + 89 MR 0000 00 + 89 MC 0001 + 93 MR 0001 10 + 93 MC 000c + 94 MC 0002 + 97 MR 0002 fd + 97 MC 0002 + 98 MC 0002 + 99 MC 0002 + 100 MC 0002 + 101 MC 0002 + 102 MC 0000 + 106 MR 0000 00 + 106 MC 0001 + 110 MR 0001 10 + 110 MC 000e + 111 MC 0002 + 114 MR 0002 fd + 114 MC 0002 + 115 MC 0002 + 116 MC 0002 + 117 MC 0002 + 118 MC 0002 + 119 MC 0000 + 123 MR 0000 00 + 123 MC 0001 + 127 MR 0001 10 + 127 MC 0010 + 128 MC 0002 + 131 MC 0003 + 135 MR 0003 0c +0000 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 0004 +00 11 0 0 0 0 135 + +11 + 0 MC 0000 + 4 MR 0000 11 + 4 MC 0001 + 7 MR 0001 9a + 7 MC 0002 + 10 MR 0002 bc +0000 0000 bc9a 0000 0000 0000 0000 0000 0000 0000 0000 0003 +00 01 0 0 0 0 10 + +12 + 0 MC 0000 + 4 MR 0000 12 + 4 MC 8000 + 7 MW 8000 56 +5600 0000 8000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 +8000 56 -1 + +13 + 0 MC 0000 + 4 MR 0000 13 + 4 MC 0001 + 5 MC 0001 +0000 0000 def1 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 6 + +14 + 0 MC 0000 + 4 MR 0000 14 +0028 0000 2800 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +15 + 0 MC 0000 + 4 MR 0000 15 +001a 0000 0f00 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +16 + 0 MC 0000 + 4 MR 0000 16 + 4 MC 0001 + 7 MR 0001 12 +0000 0000 1200 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 + +17 + 0 MC 0000 + 4 MR 0000 17 +1100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +18 + 0 MC 0000 + 4 MR 0000 18 + 4 MC 0001 + 7 MR 0001 40 + 7 MC 0001 + 8 MC 0001 + 9 MC 0001 + 10 MC 0001 + 11 MC 0001 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0042 +00 01 0 0 0 0 12 + +19 + 0 MC 0000 + 4 MR 0000 19 + 4 MC 0001 + 5 MC 0001 + 6 MC 0001 + 7 MC 0001 + 8 MC 0001 + 9 MC 0001 + 10 MC 0001 +0028 0000 3456 acf0 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 11 + +1a + 0 MC 0000 + 4 MR 0000 1a + 4 MC 8000 + 7 MR 8000 13 +1300 0000 8000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 + +1b + 0 MC 0000 + 4 MR 0000 1b + 4 MC 0001 + 5 MC 0001 +0000 0000 e5d3 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 6 + +1c + 0 MC 0000 + 4 MR 0000 1c +00a8 0000 00ab 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +1d + 0 MC 0000 + 4 MR 0000 1d +00aa 0000 00a9 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +1e + 0 MC 0000 + 4 MR 0000 1e + 4 MC 0001 + 7 MR 0001 ef +0000 0000 00ef 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 + +1f + 0 MC 0000 + 4 MR 0000 1f +00c5 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +20_1 + 0 MC 0000 + 4 MR 0000 20 + 4 MC 0001 + 7 MR 0001 40 + 7 MC 0001 + 8 MC 0001 + 9 MC 0001 + 10 MC 0001 + 11 MC 0001 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0042 +00 01 0 0 0 0 12 + +20_2 + 0 MC 0000 + 4 MR 0000 20 + 4 MC 0001 +0040 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 + +21 + 0 MC 0000 + 4 MR 0000 21 + 4 MC 0001 + 7 MR 0001 28 + 7 MC 0002 + 10 MR 0002 ed +0000 0000 0000 ed28 0000 0000 0000 0000 0000 0000 0000 0003 +00 01 0 0 0 0 10 + +22 + 0 MC 0000 + 4 MR 0000 22 + 4 MC 0001 + 7 MR 0001 b0 + 7 MC 0002 + 10 MR 0002 c3 + 10 MC c3b0 + 13 MW c3b0 4c + 13 MC c3b1 + 16 MW c3b1 c6 +0000 0000 0000 c64c 0000 0000 0000 0000 0000 0000 0000 0003 +00 01 0 0 0 0 16 +c3b0 4c c6 -1 + +23 + 0 MC 0000 + 4 MR 0000 23 + 4 MC 0001 + 5 MC 0001 +0000 0000 0000 9c4f 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 6 + +24 + 0 MC 0000 + 4 MR 0000 24 +0020 0000 0000 7300 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +25 + 0 MC 0000 + 4 MR 0000 25 +00a2 0000 0000 a400 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +26 + 0 MC 0000 + 4 MR 0000 26 + 4 MC 0001 + 7 MR 0001 3a +0000 0000 0000 3a00 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 + +27_1 + 0 MC 0000 + 4 MR 0000 27 +3423 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +27 + 0 MC 0000 + 4 MR 0000 27 +2530 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +28_1 + 0 MC 0000 + 4 MR 0000 28 + 4 MC 0001 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 + +28_2 + 0 MC 0000 + 4 MR 0000 28 + 4 MC 0001 + 7 MR 0001 8e + 7 MC 0001 + 8 MC 0001 + 9 MC 0001 + 10 MC 0001 + 11 MC 0001 +0040 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 ff90 +00 01 0 0 0 0 12 + +29 + 0 MC 0000 + 4 MR 0000 29 + 4 MC 0001 + 5 MC 0001 + 6 MC 0001 + 7 MC 0001 + 8 MC 0001 + 9 MC 0001 + 10 MC 0001 +0019 0000 0000 9bf4 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 11 + +2a + 0 MC 0000 + 4 MR 0000 2a + 4 MC 0001 + 7 MR 0001 45 + 7 MC 0002 + 10 MR 0002 ac + 10 MC ac45 + 13 MR ac45 c4 + 13 MC ac46 + 16 MR ac46 de +0000 0000 0000 dec4 0000 0000 0000 0000 0000 0000 0000 0003 +00 01 0 0 0 0 16 + +2b + 0 MC 0000 + 4 MR 0000 2b + 4 MC 0001 + 5 MC 0001 +0000 0000 0000 9e65 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 6 + +2c + 0 MC 0000 + 4 MR 0000 2c +0020 0000 0000 0027 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +2d + 0 MC 0000 + 4 MR 0000 2d +0022 0000 0000 0031 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +2e + 0 MC 0000 + 4 MR 0000 2e + 4 MC 0001 + 7 MR 0001 18 +0000 0000 0000 0018 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 + +2f + 0 MC 0000 + 4 MR 0000 2f +7632 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +30_1 + 0 MC 0000 + 4 MR 0000 30 + 4 MC 0001 + 7 MR 0001 50 + 7 MC 0001 + 8 MC 0001 + 9 MC 0001 + 10 MC 0001 + 11 MC 0001 +0036 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0052 +00 01 0 0 0 0 12 + +30_2 + 0 MC 0000 + 4 MR 0000 30 + 4 MC 0001 +0037 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 + +31 + 0 MC 0000 + 4 MR 0000 31 + 4 MC 0001 + 7 MR 0001 d4 + 7 MC 0002 + 10 MR 0002 61 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 61d4 0003 +00 01 0 0 0 0 10 + +32 + 0 MC 0000 + 4 MR 0000 32 + 4 MC 0001 + 7 MR 0001 ac + 7 MC 0002 + 10 MR 0002 ad + 10 MC adac + 13 MW adac 0e +0e00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0003 +00 01 0 0 0 0 13 +adac 0e -1 + +33 + 0 MC 0000 + 4 MR 0000 33 + 4 MC 0001 + 5 MC 0001 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 a55b 0001 +00 01 0 0 0 0 6 + +34 + 0 MC 0000 + 4 MR 0000 34 + 4 MC fe1d + 7 MR fe1d fd + 7 MC fe1d + 8 MC fe1d + 11 MW fe1d fe +00a8 0000 0000 fe1d 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 11 +fe1d fe -1 + +35 + 0 MC 0000 + 4 MR 0000 35 + 4 MC 470c + 7 MR 470c 82 + 7 MC 470c + 8 MC 470c + 11 MW 470c 81 +0082 0000 0000 470c 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 11 +470c 81 -1 + +36 + 0 MC 0000 + 4 MR 0000 36 + 4 MC 0001 + 7 MR 0001 7c + 7 MC 7d29 + 10 MW 7d29 7c +0000 0000 0000 7d29 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 10 +7d29 7c -1 + +37_1 + 0 MC 0000 + 4 MR 0000 37 +00c5 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +37_2 + 0 MC 0000 + 4 MR 0000 37 +ff29 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +37_3 + 0 MC 0000 + 4 MR 0000 37 +ffed 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +37 + 0 MC 0000 + 4 MR 0000 37 +0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +38_1 + 0 MC 0000 + 4 MR 0000 38 + 4 MC 0001 +00b2 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 + +38_2 + 0 MC 0000 + 4 MR 0000 38 + 4 MC 0001 + 7 MR 0001 66 + 7 MC 0001 + 8 MC 0001 + 9 MC 0001 + 10 MC 0001 + 11 MC 0001 +00b3 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0068 +00 01 0 0 0 0 12 + +39 + 0 MC 0000 + 4 MR 0000 29 + 4 MC 0001 + 5 MC 0001 + 6 MC 0001 + 7 MC 0001 + 8 MC 0001 + 9 MC 0001 + 10 MC 0001 +0030 0000 0000 35de 0000 0000 0000 0000 0000 0000 c534 0001 +00 01 0 0 0 0 11 + +3a + 0 MC 0000 + 4 MR 0000 3a + 4 MC 0001 + 7 MR 0001 52 + 7 MC 0002 + 10 MR 0002 99 + 10 MC 9952 + 13 MR 9952 28 +2800 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0003 +00 01 0 0 0 0 13 + +3b + 0 MC 0000 + 4 MR 0000 3b + 4 MC 0001 + 5 MC 0001 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 9d35 0001 +00 01 0 0 0 0 6 + +3c + 0 MC 0000 + 4 MR 0000 3c +d090 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +3d + 0 MC 0000 + 4 MR 0000 3d +e9aa 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +3e + 0 MC 0000 + 4 MR 0000 3e + 4 MC 0001 + 7 MR 0001 d6 +d600 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 + +3f + 0 MC 0000 + 4 MR 0000 3f +0050 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +40 + 0 MC 0000 + 4 MR 0000 40 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +41 + 0 MC 0000 + 4 MR 0000 41 +0200 9898 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +42 + 0 MC 0000 + 4 MR 0000 42 +0200 9098 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +43 + 0 MC 0000 + 4 MR 0000 43 +0200 d898 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +44 + 0 MC 0000 + 4 MR 0000 44 +0200 a198 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +45 + 0 MC 0000 + 4 MR 0000 45 +0200 6998 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +46 + 0 MC 0000 + 4 MR 0000 46 + 4 MC a169 + 7 MR a169 50 +0200 5098 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 + +47 + 0 MC 0000 + 4 MR 0000 47 +0200 0298 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +48 + 0 MC 0000 + 4 MR 0000 48 +0200 cfcf 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +49 + 0 MC 0000 + 4 MR 0000 49 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +4a + 0 MC 0000 + 4 MR 0000 4a +0200 cf90 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +4b + 0 MC 0000 + 4 MR 0000 4b +0200 cfd8 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +4c + 0 MC 0000 + 4 MR 0000 4c +0200 cfa1 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +4d + 0 MC 0000 + 4 MR 0000 4d +0200 cf69 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +4e + 0 MC 0000 + 4 MR 0000 4e + 4 MC a169 + 7 MR a169 50 +0200 cf50 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 + +4f + 0 MC 0000 + 4 MR 0000 4f +0200 cf02 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +50 + 0 MC 0000 + 4 MR 0000 50 +0200 cf98 cfd8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +51 + 0 MC 0000 + 4 MR 0000 51 +0200 cf98 98d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +52 + 0 MC 0000 + 4 MR 0000 52 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +53 + 0 MC 0000 + 4 MR 0000 53 +0200 cf98 d8d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +54 + 0 MC 0000 + 4 MR 0000 54 +0200 cf98 a1d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +55 + 0 MC 0000 + 4 MR 0000 55 +0200 cf98 69d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +56 + 0 MC 0000 + 4 MR 0000 56 + 4 MC a169 + 7 MR a169 50 +0200 cf98 50d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 + +57 + 0 MC 0000 + 4 MR 0000 57 +0200 cf98 02d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +58 + 0 MC 0000 + 4 MR 0000 58 +0200 cf98 90cf a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +59 + 0 MC 0000 + 4 MR 0000 59 +0200 cf98 9098 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +5a + 0 MC 0000 + 4 MR 0000 5a +0200 cf98 9090 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +5b + 0 MC 0000 + 4 MR 0000 5b +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +5c + 0 MC 0000 + 4 MR 0000 5c +0200 cf98 90a1 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +5d + 0 MC 0000 + 4 MR 0000 5d +0200 cf98 9069 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +5e + 0 MC 0000 + 4 MR 0000 5e + 4 MC a169 + 7 MR a169 50 +0200 cf98 9050 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 + +5f + 0 MC 0000 + 4 MR 0000 5f +0200 cf98 9002 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +60 + 0 MC 0000 + 4 MR 0000 60 +0200 cf98 90d8 cf69 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +61 + 0 MC 0000 + 4 MR 0000 61 +0200 cf98 90d8 9869 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +62 + 0 MC 0000 + 4 MR 0000 62 +0200 cf98 90d8 9069 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +63 + 0 MC 0000 + 4 MR 0000 63 +0200 cf98 90d8 d869 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +64 + 0 MC 0000 + 4 MR 0000 64 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +65 + 0 MC 0000 + 4 MR 0000 65 +0200 cf98 90d8 6969 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +66 + 0 MC 0000 + 4 MR 0000 66 + 4 MC a169 + 7 MR a169 50 +0200 cf98 90d8 5069 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 + +67 + 0 MC 0000 + 4 MR 0000 67 +0200 cf98 90d8 0269 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +68 + 0 MC 0000 + 4 MR 0000 68 +0200 cf98 90d8 a1cf 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +69 + 0 MC 0000 + 4 MR 0000 69 +0200 cf98 90d8 a198 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +6a + 0 MC 0000 + 4 MR 0000 6a +0200 cf98 90d8 a190 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +6b + 0 MC 0000 + 4 MR 0000 6b +0200 cf98 90d8 a1d8 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +6c + 0 MC 0000 + 4 MR 0000 6c +0200 cf98 90d8 a1a1 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +6d + 0 MC 0000 + 4 MR 0000 6d +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +6e + 0 MC 0000 + 4 MR 0000 6e + 4 MC a169 + 7 MR a169 50 +0200 cf98 90d8 a150 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 + +6f + 0 MC 0000 + 4 MR 0000 6f +0200 cf98 90d8 a102 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +70 + 0 MC 0000 + 4 MR 0000 70 + 4 MC a169 + 7 MW a169 cf +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 +a169 cf -1 + +71 + 0 MC 0000 + 4 MR 0000 71 + 4 MC a169 + 7 MW a169 98 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 +a169 98 -1 + +72 + 0 MC 0000 + 4 MR 0000 72 + 4 MC a169 + 7 MW a169 90 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 +a169 90 -1 + +73 + 0 MC 0000 + 4 MR 0000 73 + 4 MC a169 + 7 MW a169 d8 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 +a169 d8 -1 + +74 + 0 MC 0000 + 4 MR 0000 74 + 4 MC a169 + 7 MW a169 a1 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 +a169 a1 -1 + +75 + 0 MC 0000 + 4 MR 0000 75 + 4 MC a169 + 7 MW a169 69 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 +a169 69 -1 + +76 + 0 MC 0000 + 4 MR 0000 76 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 01 0 0 0 1 4 + +77 + 0 MC 0000 + 4 MR 0000 77 + 4 MC a169 + 7 MW a169 02 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 +a169 02 -1 + +78 + 0 MC 0000 + 4 MR 0000 78 +cf00 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +79 + 0 MC 0000 + 4 MR 0000 79 +9800 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +7a + 0 MC 0000 + 4 MR 0000 7a +9000 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +7b + 0 MC 0000 + 4 MR 0000 7b +d800 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +7c + 0 MC 0000 + 4 MR 0000 7c +a100 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +7d + 0 MC 0000 + 4 MR 0000 7d +6900 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +7e + 0 MC 0000 + 4 MR 0000 7e + 4 MC a169 + 7 MR a169 50 +5000 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 + +7f + 0 MC 0000 + 4 MR 0000 7f +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +80 + 0 MC 0000 + 4 MR 0000 80 +0411 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +81 + 0 MC 0000 + 4 MR 0000 81 +3031 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +82 + 0 MC 0000 + 4 MR 0000 82 +1501 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +83 + 0 MC 0000 + 4 MR 0000 83 +0211 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +84 + 0 MC 0000 + 4 MR 0000 84 +d191 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +85 + 0 MC 0000 + 4 MR 0000 85 +9b89 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +86 + 0 MC 0000 + 4 MR 0000 86 + 4 MC dca6 + 7 MR dca6 49 +3e29 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 + +87 + 0 MC 0000 + 4 MR 0000 87 +eaa9 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +88 + 0 MC 0000 + 4 MR 0000 88 +0411 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +89 + 0 MC 0000 + 4 MR 0000 89 +3031 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +8a + 0 MC 0000 + 4 MR 0000 8a +1501 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +8b + 0 MC 0000 + 4 MR 0000 8b +0211 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +8c + 0 MC 0000 + 4 MR 0000 8c +d191 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +8d + 0 MC 0000 + 4 MR 0000 8d +9b89 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +8e + 0 MC 0000 + 4 MR 0000 8e + 4 MC dca6 + 7 MR dca6 49 +3e29 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 + +8f + 0 MC 0000 + 4 MR 0000 8f +eaa9 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +90 + 0 MC 0000 + 4 MR 0000 90 +e6b2 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +91 + 0 MC 0000 + 4 MR 0000 91 +baba 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +92 + 0 MC 0000 + 4 MR 0000 92 +d582 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +93 + 0 MC 0000 + 4 MR 0000 93 +e8ba 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +94 + 0 MC 0000 + 4 MR 0000 94 +191a 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +95 + 0 MC 0000 + 4 MR 0000 95 +4f1a 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +96 + 0 MC 0000 + 4 MR 0000 96 + 4 MC dca6 + 7 MR dca6 49 +acba 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 + +97 + 0 MC 0000 + 4 MR 0000 97 +0042 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +98 + 0 MC 0000 + 4 MR 0000 98 +e6b2 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +99 + 0 MC 0000 + 4 MR 0000 99 +baba 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +9a + 0 MC 0000 + 4 MR 0000 9a +d582 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +9b + 0 MC 0000 + 4 MR 0000 9b +e8ba 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +9c + 0 MC 0000 + 4 MR 0000 9c +191a 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +9d + 0 MC 0000 + 4 MR 0000 9d +4f1a 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +9e + 0 MC 0000 + 4 MR 0000 9e + 4 MC dca6 + 7 MR dca6 49 +acba 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 + +9f + 0 MC 0000 + 4 MR 0000 9f +0042 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +a0 + 0 MC 0000 + 4 MR 0000 a0 +0514 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +a1 + 0 MC 0000 + 4 MR 0000 a1 +3130 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +a2 + 0 MC 0000 + 4 MR 0000 a2 +2030 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +a3 + 0 MC 0000 + 4 MR 0000 a3 +0514 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +a4 + 0 MC 0000 + 4 MR 0000 a4 +d494 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +a5 + 0 MC 0000 + 4 MR 0000 a5 +a4b0 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +a6 + 0 MC 0000 + 4 MR 0000 a6 + 4 MC dca6 + 7 MR dca6 49 +4114 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 + +a7 + 0 MC 0000 + 4 MR 0000 a7 +f5b4 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +a8 + 0 MC 0000 + 4 MR 0000 a8 +faac 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +a9 + 0 MC 0000 + 4 MR 0000 a9 +ce88 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +aa + 0 MC 0000 + 4 MR 0000 aa +d580 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +ab + 0 MC 0000 + 4 MR 0000 ab +f8a8 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +ac + 0 MC 0000 + 4 MR 0000 ac +2928 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +ad + 0 MC 0000 + 4 MR 0000 ad +5304 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +ae + 0 MC 0000 + 4 MR 0000 ae + 4 MC dca6 + 7 MR dca6 49 +bca8 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 + +af + 0 MC 0000 + 4 MR 0000 af +0044 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +b0 + 0 MC 0000 + 4 MR 0000 b0 +ffac 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +b1 + 0 MC 0000 + 4 MR 0000 b1 +ffac 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +b2 + 0 MC 0000 + 4 MR 0000 b2 +f5a4 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +b3 + 0 MC 0000 + 4 MR 0000 b3 +fda8 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +b4 + 0 MC 0000 + 4 MR 0000 b4 +fda8 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +b5 + 0 MC 0000 + 4 MR 0000 b5 +f7a0 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +b6 + 0 MC 0000 + 4 MR 0000 b6 + 4 MC dca6 + 7 MR dca6 49 +fda8 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 + +b7 + 0 MC 0000 + 4 MR 0000 b7 +f5a4 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +b8 + 0 MC 0000 + 4 MR 0000 b8 +f59a 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +b9 + 0 MC 0000 + 4 MR 0000 b9 +f5ba 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +ba + 0 MC 0000 + 4 MR 0000 ba +f5a2 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +bb + 0 MC 0000 + 4 MR 0000 bb +f59a 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +bc + 0 MC 0000 + 4 MR 0000 bc +f51a 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +bd + 0 MC 0000 + 4 MR 0000 bd +f532 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +be + 0 MC 0000 + 4 MR 0000 be + 4 MC dca6 + 7 MR dca6 49 +f59a 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 + +bf + 0 MC 0000 + 4 MR 0000 bf +f562 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +c0_1 + 0 MC 0000 + 4 MR 0000 c0 + 4 MC 0001 + 5 MC 43f7 + 8 MR 43f7 e9 + 8 MC 43f8 + 11 MR 43f8 af +0098 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f9 afe9 +00 01 0 0 0 0 11 + +c0_2 + 0 MC 0000 + 4 MR 0000 c0 + 4 MC 0001 +00d8 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0001 +00 01 0 0 0 0 5 + +c1 + 0 MC 0000 + 4 MR 0000 c1 + 4 MC 4143 + 7 MR 4143 ce + 7 MC 4144 + 10 MR 4144 e8 +0000 e8ce 0000 0000 0000 0000 0000 0000 0000 0000 4145 0001 +00 01 0 0 0 0 10 + +c2_1 + 0 MC 0000 + 4 MR 0000 c2 + 4 MC 0001 + 7 MR 0001 1b + 7 MC 0002 + 10 MR 0002 e1 +0087 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 e11b +00 01 0 0 0 0 10 + +c2_2 + 0 MC 0000 + 4 MR 0000 c2 + 4 MC 0001 + 7 MC 0002 +00c7 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0003 +00 01 0 0 0 0 10 + +c3 + 0 MC 0000 + 4 MR 0000 c3 + 4 MC 0001 + 7 MR 0001 ed + 7 MC 0002 + 10 MR 0002 7c +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 7ced +00 01 0 0 0 0 10 + +c4_1 + 0 MC 0000 + 4 MR 0000 c4 + 4 MC 0001 + 7 MR 0001 61 + 7 MC 0002 + 10 MR 0002 9c + 10 MC 0002 + 11 MC 5697 + 14 MW 5697 00 + 14 MC 5696 + 17 MW 5696 03 +000e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5696 9c61 +00 01 0 0 0 0 17 +5696 03 00 -1 + +c4_2 + 0 MC 0000 + 4 MR 0000 c4 + 4 MC 0001 + 7 MC 0002 +004e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0003 +00 01 0 0 0 0 10 + +c5 + 0 MC 0000 + 4 MR 0000 c5 + 4 MC 0001 + 5 MC ec11 + 8 MW ec11 14 + 8 MC ec10 + 11 MW ec10 59 +53e3 1459 775f 1a2f 0000 0000 0000 0000 0000 0000 ec10 0001 +00 01 0 0 0 0 11 +ec10 59 14 -1 + +c6 + 0 MC 0000 + 4 MR 0000 c6 + 4 MC 0001 + 7 MR 0001 6f +3939 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 + +c7 + 0 MC 6d33 + 4 MR 6d33 c7 + 4 MC 0001 + 5 MC 5506 + 8 MW 5506 6d + 8 MC 5505 + 11 MW 5505 34 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 5505 0000 +00 01 0 0 0 0 11 +5505 34 6d -1 + +c8_1 + 0 MC 0000 + 4 MR 0000 c8 + 4 MC 0001 +0098 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0001 +00 01 0 0 0 0 5 + +c8_2 + 0 MC 0000 + 4 MR 0000 c8 + 4 MC 0001 + 5 MC 43f7 + 8 MR 43f7 e9 + 8 MC 43f8 + 11 MR 43f8 af +00d8 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f9 afe9 +00 01 0 0 0 0 11 + +c9 + 0 MC 0000 + 4 MR 0000 c9 + 4 MC 887e + 7 MR 887e 36 + 7 MC 887f + 10 MR 887f 11 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 8880 1136 +00 01 0 0 0 0 10 + +ca_1 + 0 MC 0000 + 4 MR 0000 ca + 4 MC 0001 + 7 MC 0002 +0087 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0003 +00 01 0 0 0 0 10 + +ca_2 + 0 MC 0000 + 4 MR 0000 ca + 4 MC 0001 + 7 MR 0001 1b + 7 MC 0002 + 10 MR 0002 e1 +00c7 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 e11b +00 01 0 0 0 0 10 + +cb00 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 00 +da8d c979 552e a806 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb01 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 01 +10a0 b3f2 b480 ef65 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb02 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 02 +2e09 9adf 5d6e a7f2 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb03 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 03 +682c 9995 de7e ca71 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb04 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 04 +8c88 beea 0ce4 ceb0 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb05 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 05 +3620 e19f 78c9 cb64 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb06 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 06 + 8 MC 5b04 + 11 MR 5b04 d4 + 11 MC 5b04 + 12 MC 5b04 + 15 MW 5b04 a9 +8aad db02 8fb1 5b04 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +5b04 a9 -1 + +cb07 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 07 +da88 19cf 7259 dcaa 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb08 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 08 +80a1 e6b5 818e 2ee2 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb09 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 09 +182c 122e dd97 59c6 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb0a + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 0a +12ad 3ba1 bb24 63ad 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb0b + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 0b +7600 2abf b613 0289 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb0c + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 0c +0e08 6fc5 2f12 1ad9 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb0d + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 0d +630c 95a3 fcd2 514d 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb0e + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 0e + 8 MC 543e + 11 MR 543e d2 + 11 MC 543e + 12 MC 543e + 15 MW 543e 69 +fc2c adf9 4925 543e 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +543e 69 -1 + +cb0f + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 0f +e1a5 18f3 41b8 070b 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb10 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 10 +f8ad b825 33b3 0d74 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb11 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 11 +65ac e2b8 4b8a ed42 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb12 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 12 +770c 1384 1e50 29c6 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb13 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 13 +ce04 9f17 e150 3ed7 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb14 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 14 +b2a8 541a 60c7 f89a 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb15 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 15 +2d81 c1df 6eab 03c4 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb16 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 16 + 8 MC 684e + 11 MR 684e c3 + 11 MC 684e + 12 MC 684e + 15 MW 684e 86 +3681 3b53 1a4a 684e 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +684e 86 -1 + +cb17 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 17 +a8a8 d090 f60d 0fa2 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb18 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 18 +8624 6358 755f 9596 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb19 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 19 +960d be59 7c22 71c8 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb1a + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 1a +3928 882f 2a3b 5279 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb1b + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 1b +9e24 b338 8736 e8b4 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb1c + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 1c +4b0d b555 238f 181d 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb1d + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 1d +212d 3d7e 5e39 e428 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb1e + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 1e + 8 MC 00ef + 11 MR 00ef 91 + 11 MC 00ef + 12 MC 00ef + 15 MW 00ef 48 +5e0d 66b9 80dc 00ef 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +00ef 48 -1 + +cb1f + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 1f +7621 b838 8e18 ace7 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb20 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 20 +c708 0897 d72b ccb6 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb21 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 21 +22ad 5ce8 938e 37a8 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb22 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 22 +8589 0950 cee8 0641 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb23 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 23 +21a5 2a7c 37a0 aa59 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb24 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 24 +fb09 b9de 7014 08b6 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb25 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 25 +152d 6bbc 894e 8578 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb26 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 26 + 8 MC 283a + 11 MR 283a ee + 11 MC 283a + 12 MC 283a + 15 MW 283a dc +0a89 372e e315 283a 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +283a dc -1 + +cb27 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 27 +7e2d bdba 67ab 5ea2 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb28 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 28 +c000 0235 3e0f 021b 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb29 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 29 +0624 f121 6ada c306 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb2a + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 2a +302d ec3a 3f7d 3473 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb2b + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 2b +e0ac ccf0 bbed b78a 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb2c + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 2c +5b0c 25c0 996d 0f7b 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb2d + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 2d +5ea4 c51b 58e3 78f5 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb2e + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 2e + 8 MC 24bf + 11 MR 24bf b5 + 11 MC 24bf + 12 MC 24bf + 15 MW 24bf da +3989 a2cd 0629 24bf 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +24bf da -1 + +cb2f + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 2f +d580 a194 d0e3 5c65 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb30 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 30 +cda4 f581 d67b 656b 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb31 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 31 +28a5 e7f5 6d8c 75a4 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb32 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 32 +13ad 3f36 ed08 5e56 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb33 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 33 +d588 9720 7689 038f 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb34 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 34 +12a1 77f6 0206 f738 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb35 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 35 +3c84 fd68 ea91 78c3 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb36 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 36 + 8 MC 6d38 + 11 MR 6d38 f1 + 11 MC 6d38 + 12 MC 6d38 + 15 MW 6d38 e3 +8aa1 1185 1dde 6d38 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +6d38 e3 -1 + +cb37 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 37 +8784 d7bc 9133 6e56 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb38 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 38 +df28 3e1b 9f9f 4ff2 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb39 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 39 +6600 b701 14f5 3c17 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb3a + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 3a +d124 5c5f 722e f1b1 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb3b + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 3b +b224 38c8 a530 7419 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb3c + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 3c +7800 cfae 66d8 15d8 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb3d + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 3d +e625 dcda 06aa 4666 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb3e + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 3e + 8 MC a96c + 11 MR a96c a0 + 11 MC a96c + 12 MC a96c + 15 MW a96c 50 +a904 6a34 e8d0 a96c 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +a96c 50 -1 + +cb3f + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 3f +782d ceea 721e 77f0 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb40 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 40 +9e7c bcb2 efaa 505f 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb41 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 41 +9e10 1b43 954e 7be9 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb42 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 42 +f238 dd12 7d4f 551f 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb43 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 43 +ad54 c3b3 f1d0 bab4 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb44 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 44 +b718 c829 27e3 5b92 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb45 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 45 +7718 68ee 0c77 409b 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb46 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 46 + 8 MC 6131 + 11 MR 6131 d5 + 11 MC 6131 +7210 7ae3 a11e 6131 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 + +cb47_1 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 47 +ff38 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb47 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 47 +1054 d8ca e2c4 8a8c 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb48 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 48 +a930 6264 e833 6de0 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb49 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 49 +6c30 d0f7 1db7 a040 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb4a + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 4a +4f18 f04c 5b29 77a4 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb4b + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 4b +5518 9848 095f 40ca 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb4c + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 4c +887c 0521 bf31 6d5d 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb4d + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 4d +f95c 27d0 0f7e 158d 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb4e + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 4e + 8 MC ada3 + 11 MR ada3 5b + 11 MC ada3 +2618 9207 459a ada3 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 + +cb4f_1 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 4f +ff38 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb4f + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 4f +1710 2dc1 aca2 0bcc 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb50 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 50 +2330 2749 1012 84d2 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb51 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 51 +225c b7db e19d aafc 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb52 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 52 +8b74 ff7a b0ff ac44 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb53 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 53 +6030 31a1 a4f4 7c75 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb54 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 54 +385c 7ccc 89cc 1999 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb55 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 55 +f95c 1f79 19cd fb4b 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb56 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 56 + 8 MC bbf9 + 11 MR bbf9 10 + 11 MC bbf9 +1554 2bfe e3b5 bbf9 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 + +cb57_1 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 57 +ff38 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb57 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 57 +6630 af32 532a da50 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb58 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 58 +5018 1aee 2e47 1479 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb59 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 59 +7238 5e68 ff28 2075 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb5a + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 5a +eb54 fea7 17d1 d99b 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb5b + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 5b +6b74 6f2c 3fe3 1691 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb5c + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 5c +3354 a7e7 2077 13e9 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb5d + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 5d +c118 afcc c8b1 ee49 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb5e + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 5e + 8 MC 349a + 11 MR 349a 3c + 11 MC 349a +3038 ad43 16c1 349a 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 + +cb5f_1 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 5f +ff38 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb5f + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 5f +8c18 1b67 2314 6133 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb60 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 60 +9930 34b5 0fd8 5273 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb61 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 61 +d118 219f 3bb4 7c44 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb62 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 62 +af54 bdf8 c536 8cc5 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb63 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 63 +2a74 5e16 f627 84ca 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb64 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 64 +a97c a365 c00b ea94 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb65 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 65 +1838 8d58 4256 427a 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb66 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 66 + 8 MC a44f + 11 MR a44f d2 + 11 MC a44f +4c10 3ef7 e544 a44f 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 + +cb67_1 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 67 +ff38 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb67 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 67 +8654 5e92 2986 394d 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb68 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 68 +d75c 0f6a 18a6 ddd2 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb69 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 69 +da5c 691b 7c79 1dba 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb6a + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 6a +2254 13e8 86d4 4e09 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb6b + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 6b +af30 5123 7635 1ca9 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb6c + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 6c +4354 faa6 abc2 5605 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb6d + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 6d +7f38 f099 d435 d9ad 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb6e + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 6e + 8 MC d8ba + 11 MR d8ba 31 + 11 MC d8ba +4a30 08c9 8177 d8ba 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 + +cb6f_1 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 6f +ff38 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb6f + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 6f +a130 8c80 4678 4d34 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb70 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 70 +1954 958a 5dab f913 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb71 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 71 +3d18 095e d6df 42fe 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb72 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 72 +a518 c0bf 4c8d ad11 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb73 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 73 +f238 49a6 b279 2ecc 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb74 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 74 +055c 445e 05e9 983d 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb75 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 75 +6b5c 83c6 635a d18d 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb76 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 76 + 8 MC bc71 + 11 MR bc71 18 + 11 MC bc71 +f85c 3057 3629 bc71 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 + +cb77_1 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 77 +ff38 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb77 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 77 +9254 d6f8 5100 736d 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb78 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 78 +725c 1cf8 8d2b c76a 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb79 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 79 +a898 809e 1124 39e8 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb7a + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 7a +5874 7d24 63e1 d9af 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb7b + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 7b +03b8 50ab 05bd 6bd0 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb7c + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 7c +ad54 f77b 55ae 063b 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb7d + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 7d +8298 b792 38cb 5f9b 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb7e + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 7e + 8 MC a25e + 11 MR a25e d7 + 11 MC a25e +4290 3b91 f59c a25e 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 + +cb7f_1 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 7f +ffb8 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb7f + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 7f +6a7c 84ec cf4e 185b 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb80 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 80 +8f00 702f 17bd a706 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb81 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 81 +ae00 947e 7153 6616 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb82 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 82 +8100 bed2 c619 4572 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb83 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 83 +e600 63a2 ccf6 ae9a 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb84 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 84 +ce00 e0cc d305 d6c0 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb85 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 85 +f300 ed79 9db7 dda0 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb86 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 86 + 8 MC 1b48 + 11 MR 1b48 62 + 11 MC 1b48 + 12 MC 1b48 + 15 MW 1b48 62 +2a00 b0b9 9426 1b48 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 + +cb87 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 87 +1000 86dc 1798 dfc5 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb88 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 88 +e300 8821 e33e 674d 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb89 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 89 +6000 d184 c5b6 1bd7 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb8a + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 8a +3e00 5fcd 0938 b98e 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb8b + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 8b +6500 040e 103d 4a07 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb8c + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 8c +f800 6d27 9bdf d8ef 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb8d + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 8d +3e00 5469 2c28 bd70 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb8e + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 8e + 8 MC 63a7 + 11 MR 63a7 d4 + 11 MC 63a7 + 12 MC 63a7 + 15 MW 63a7 d4 +1f00 140b b492 63a7 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 + +cb8f + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 8f +2500 c522 ca46 1c1a 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb90 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 90 +5700 595c 4f0a c73c 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb91 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 91 +5e00 8f22 a735 97e0 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb92 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 92 +3300 7d9f 83d0 83d0 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb93 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 93 +c200 4e05 b3f8 2234 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb94 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 94 +ee00 8f4b 2831 d2a6 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb95 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 95 +3c00 6af2 b25d 36fb 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb96 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 96 + 8 MC 3324 + 11 MR 3324 21 + 11 MC 3324 + 12 MC 3324 + 15 MW 3324 21 +7600 b027 d0a5 3324 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 + +cb97 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 97 +1200 ad09 7902 97bc 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb98 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 98 +3400 b61c 771d 5d5e 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb99 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 99 +5100 65b6 1359 8bec 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb9a + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 9a +6400 976d 4425 dcb2 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb9b + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 9b +a100 b58a d264 2bd6 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb9c + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 9c +d800 63d6 ac7b c7a0 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb9d + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 9d +0d00 d840 0810 0800 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cb9e + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 9e + 8 MC 3a65 + 11 MR 3a65 2a + 11 MC 3a65 + 12 MC 3a65 + 15 MW 3a65 22 +3b00 ebbf 9434 3a65 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +3a65 22 -1 + +cb9f + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 9f +b200 d1de f991 72f6 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cba0 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 a0 +fa00 c669 71e1 c80d 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cba1 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 a1 +8200 75e4 a0de d0ba 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cba2 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 a2 +dd00 2b0d 4554 6fc0 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cba3 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 a3 +2200 2f0d 4d2c 6666 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cba4 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 a4 +d600 d8ed 9cd4 8bb1 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cba5 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 a5 +b400 b393 3e42 88ca 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cba6 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 a6 + 8 MC e70d + 11 MR e70d 27 + 11 MC e70d + 12 MC e70d + 15 MW e70d 27 +0a00 4c34 f5a7 e70d 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 + +cba7 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 a7 +4500 af61 569a c77b 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cba8 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 a8 +6400 d269 bae4 c9e7 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cba9 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 a9 +e400 7ad4 bf0a ce0b 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbaa + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 aa +cd00 d249 4159 fed5 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbab + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 ab +ac00 939a 5d9b 0812 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbac + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 ac +2400 8a7d 2cac dfaa 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbad + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 ad +6f00 5ffb 2360 ae15 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbae + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 ae + 8 MC 190e + 11 MR 190e 66 + 11 MC 190e + 12 MC 190e + 15 MW 190e 46 +5a00 aa17 12f3 190e 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +190e 46 -1 + +cbaf + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 af +dc00 bb3f 8bb6 5877 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbb0 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 b0 +b900 3a79 1aaa c3ba 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbb1 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 b1 +4900 63a4 a544 1190 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbb2 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 b2 +4d00 2b03 2b23 6ff5 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbb3 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 b3 +8700 857a e98b 5cb1 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbb4 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 b4 +2b00 b73e 79c9 a1bb 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbb5 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 b5 +9b00 d879 2ec9 4bba 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbb6 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 b6 + 8 MC 4fab + 11 MR 4fab a5 + 11 MC 4fab + 12 MC 4fab + 15 MW 4fab a5 +8600 89bf de4a 4fab 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 + +cbb7 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 b7 +2200 fb8a 3d6e d4a2 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbb8 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 b8 +d000 37c6 225a d249 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbb9 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 b9 +a500 1b4a d584 5dee 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbba + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 ba +6300 a5fe 742b 34c9 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbbb + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 bb +1200 f661 aa4f cb30 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbbc + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 bc +9800 adc3 0b29 7b6e 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbbd + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 bd +d600 a6e1 8813 1038 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbbe + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 be + 8 MC 77d5 + 11 MR 77d5 ea + 11 MC 77d5 + 12 MC 77d5 + 15 MW 77d5 6a +ca00 ff64 1218 77d5 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +77d5 6a -1 + +cbbf + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 bf +6800 4845 690a 15de 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbc0 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 c0 +e300 ef71 bffb b3a1 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbc1 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 c1 +3200 32a1 59ab 3343 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbc2 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 c2 +c700 b159 c123 e1f3 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbc3 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 c3 +0400 b463 c211 8f3a 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbc4 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 c4 +7e00 545a 6ecf 5976 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbc5 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 c5 +4000 c617 079c 4107 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbc6 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 c6 + 8 MC f0be + 11 MR f0be 9c + 11 MC f0be + 12 MC f0be + 15 MW f0be 9d +b800 0373 b807 f0be 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +f0be 9d -1 + +cbc7 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 c7 +7700 3681 9b55 583f 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbc8 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 c8 +7d00 a772 8682 7cf3 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbc9 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 c9 +0b00 67ee 30e0 72db 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbca + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 ca +9c00 9517 cfbb fbc7 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbcb + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 cb +e800 0f3d 336f f70d 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbcc + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 cc +fb00 7981 0bbb 1afd 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbcd + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 cd +5500 5e78 bf34 2602 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbce + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 ce + 8 MC 8ec6 + 11 MR 8ec6 bf + 11 MC 8ec6 + 12 MC 8ec6 + 15 MW 8ec6 bf +d500 a111 cb2a 8ec6 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 + +cbcf + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 cf +a200 6baf 98b2 98a0 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbd0 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 d0 +2300 7fcb 02e7 1724 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbd1 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 d1 +5300 581f b775 47f4 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbd2 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 d2 +6900 c147 b79c 7528 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbd3 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 d3 +ae00 bbc4 ce56 5fba 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbd4 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 d4 +d800 6e1e af6f bf2e 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbd5 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 d5 +8400 a19a d2fd 8a77 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbd6 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 d6 + 8 MC 6029 + 11 MR 6029 b7 + 11 MC 6029 + 12 MC 6029 + 15 MW 6029 b7 +a900 f5f3 2180 6029 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 + +cbd7 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 d7 +b500 c008 8425 290a 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbd8 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 d8 +8b00 09c4 ddf3 6d7e 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbd9 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 d9 +3e00 3e3e 30ec efc6 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbda + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 da +d000 3e8f 28fe 1c87 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbdb + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 db +1200 977a 8c49 bc48 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbdc + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 dc +8d00 05de f8d3 b925 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbdd + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 dd +c300 08a9 2bc8 5b9f 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbde + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 de + 8 MC ba03 + 11 MR ba03 93 + 11 MC ba03 + 12 MC ba03 + 15 MW ba03 9b +1900 900f d572 ba03 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +ba03 9b -1 + +cbdf + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 df +6f00 2745 7e3d 0fa1 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbe0 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 e0 +3e00 d633 9897 3744 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbe1 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 e1 +7d00 50b6 0136 5334 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbe2 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 e2 +d400 6b45 b192 3a4c 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbe3 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 e3 +3b00 d29c 05f0 2e78 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbe4 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 e4 +1e00 7d5e 846d 1978 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbe5 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 e5 +ca00 df0d d588 b49f 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbe6 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 e6 + 8 MC 9f9b + 11 MR 9f9b f6 + 11 MC 9f9b + 12 MC 9f9b + 15 MW 9f9b f6 +b300 52c2 dbfe 9f9b 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 + +cbe7 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 e7 +9e00 cf02 67ef f2e0 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbe8 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 e8 +7100 bb18 66ec 4a05 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbe9 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 e9 +5700 28b7 8f2f a4d0 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbea + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 ea +ec00 304a 60a1 f32a 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbeb + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 eb +f000 532b a1be 1a1a 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbec + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 ec +f200 f0f3 a816 ba08 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbed + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 ed +1300 5127 adab 2dec 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbee + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 ee + 8 MC e90d + 11 MR e90d f1 + 11 MC e90d + 12 MC e90d + 15 MW e90d f1 +9000 b273 50ae e90d 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 + +cbef + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 ef +2500 4281 f0d4 2c39 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbf0 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 f0 +fb00 5802 0c27 6ff5 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbf1 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 f1 +5500 a143 3ff5 5e1c 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbf2 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 f2 +f000 625a ef82 9819 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbf3 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 f3 +8600 d7bd 5dc6 263f 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbf4 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 f4 +9400 0243 9ec1 75d9 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbf5 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 f5 +ce00 2d42 5e6a 47e6 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbf6 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 f6 + 8 MC a9bc + 11 MR a9bc b1 + 11 MC a9bc + 12 MC a9bc + 15 MW a9bc f1 +7b00 c2d7 4492 a9bc 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +a9bc f1 -1 + +cbf7 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 f7 +6d00 abaf 5b5d 188c 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbf8 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 f8 +c600 b812 a037 d2b0 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbf9 + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 f9 +ef00 c5f2 77a8 0730 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbfa + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 fa +8700 1581 e3e3 ed03 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbfb + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 fb +a300 7d27 97c3 d1ae 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbfc + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 fc +ec00 060a 3ef6 d00f 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbfd + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 fd +1100 231a 8563 28c5 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cbfe + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 fe + 8 MC 3a24 + 11 MR 3a24 c3 + 11 MC 3a24 + 12 MC 3a24 + 15 MW 3a24 c3 +5300 4948 89dd 3a24 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 + +cbff + 0 MC 0000 + 4 MR 0000 cb + 4 MC 0001 + 8 MR 0001 ff +f900 799b 6cf7 e3f2 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 + +cc_1 + 0 MC 0000 + 4 MR 0000 cc + 4 MC 0001 + 7 MR 0001 61 + 7 MC 0002 + 10 MR 0002 9c + 10 MC 0002 + 11 MC 5697 + 14 MW 5697 00 + 14 MC 5696 + 17 MW 5696 03 +004e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5696 9c61 +00 01 0 0 0 0 17 +5696 03 00 -1 + +cc_2 + 0 MC 0000 + 4 MR 0000 cc + 4 MC 0001 + 7 MC 0002 +000e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0003 +00 01 0 0 0 0 10 + +cd + 0 MC 0000 + 4 MR 0000 cd + 4 MC 0001 + 7 MR 0001 5d + 7 MC 0002 + 10 MR 0002 3a + 10 MC 0002 + 11 MC b07c + 14 MW b07c 00 + 14 MC b07b + 17 MW b07b 03 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 b07b 3a5d +00 01 0 0 0 0 17 +b07b 03 00 -1 + +ce + 0 MC 0000 + 4 MR 0000 ce + 4 MC 0001 + 7 MR 0001 b2 +1301 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 + +cf + 0 MC 6d33 + 4 MR 6d33 cf + 4 MC 0001 + 5 MC 5506 + 8 MW 5506 6d + 8 MC 5505 + 11 MW 5505 34 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 5505 0008 +00 01 0 0 0 0 11 +5505 34 6d -1 + +d0_1 + 0 MC 0000 + 4 MR 0000 d0 + 4 MC 0001 + 5 MC 43f7 + 8 MR 43f7 e9 + 8 MC 43f8 + 11 MR 43f8 af +0098 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f9 afe9 +00 01 0 0 0 0 11 + +d0_2 + 0 MC 0000 + 4 MR 0000 d0 + 4 MC 0001 +0099 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0001 +00 01 0 0 0 0 5 + +d1 + 0 MC 0000 + 4 MR 0000 d1 + 4 MC 4143 + 7 MR 4143 ce + 7 MC 4144 + 10 MR 4144 e8 +0000 0000 e8ce 0000 0000 0000 0000 0000 0000 0000 4145 0001 +00 01 0 0 0 0 10 + +d2_1 + 0 MC 0000 + 4 MR 0000 d2 + 4 MC 0001 + 7 MR 0001 1b + 7 MC 0002 + 10 MR 0002 e1 +0086 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 e11b +00 01 0 0 0 0 10 + +d2_2 + 0 MC 0000 + 4 MR 0000 d2 + 4 MC 0001 + 7 MC 0002 +0087 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0003 +00 01 0 0 0 0 10 + +d3_1 + 0 MC 0000 + 4 MR 0000 d3 + 4 MC 0001 + 7 MR 0001 ed + 8 PW a2ed a2 +a200 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 11 + +d3_2 + 0 MC 0000 + 4 MR 0000 d3 + 4 MC 0001 + 7 MR 0001 ec + 7 PC 42ec + 8 PW 42ec 42 + 8 PC 42ec +4200 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 11 + +d3_3 + 0 MC 0000 + 4 MR 0000 d3 + 4 MC 0001 + 7 MR 0001 ed + 7 PC 42ed + 8 PW 42ed 42 + 8 PC 42ed + 9 PC 42ed + 10 PC 42ed +4200 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 11 + +d3 + 0 MC 0000 + 4 MR 0000 d3 + 4 MC 0001 + 7 MR 0001 ec + 8 PW a2ec a2 + 8 PC a2ec +a200 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 11 + +d4_1 + 0 MC 0000 + 4 MR 0000 d4 + 4 MC 0001 + 7 MR 0001 61 + 7 MC 0002 + 10 MR 0002 9c + 10 MC 0002 + 11 MC 5697 + 14 MW 5697 00 + 14 MC 5696 + 17 MW 5696 03 +000e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5696 9c61 +00 01 0 0 0 0 17 +5696 03 00 -1 + +d4_2 + 0 MC 0000 + 4 MR 0000 d4 + 4 MC 0001 + 7 MC 0002 +000f 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0003 +00 01 0 0 0 0 10 + +d5 + 0 MC 0000 + 4 MR 0000 d5 + 4 MC 0001 + 5 MC ec11 + 8 MW ec11 77 + 8 MC ec10 + 11 MW ec10 5f +53e3 1459 775f 1a2f 0000 0000 0000 0000 0000 0000 ec10 0001 +00 01 0 0 0 0 11 +ec10 5f 77 -1 + +d6 + 0 MC 0000 + 4 MR 0000 d6 + 4 MC 0001 + 7 MR 0001 df +5a1b 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 + +d7 + 0 MC 6d33 + 4 MR 6d33 d7 + 4 MC 0001 + 5 MC 5506 + 8 MW 5506 6d + 8 MC 5505 + 11 MW 5505 34 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 5505 0010 +00 01 0 0 0 0 11 +5505 34 6d -1 + +d8_1 + 0 MC 0000 + 4 MR 0000 d8 + 4 MC 0001 +0098 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0001 +00 01 0 0 0 0 5 + +d8_2 + 0 MC 0000 + 4 MR 0000 d8 + 4 MC 0001 + 5 MC 43f7 + 8 MR 43f7 e9 + 8 MC 43f8 + 11 MR 43f8 af +0099 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f9 afe9 +00 01 0 0 0 0 11 + +d9 + 0 MC 0000 + 4 MR 0000 d9 +4d94 c930 3d01 7d02 1a64 e07a e35b 9d64 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +da_1 + 0 MC 0000 + 4 MR 0000 da + 4 MC 0001 + 7 MR 0001 1b + 7 MC 0002 + 10 MR 0002 e1 +0087 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 e11b +00 01 0 0 0 0 10 + +da_2 + 0 MC 0000 + 4 MR 0000 da + 4 MC 0001 + 7 MC 0002 +0086 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0003 +00 01 0 0 0 0 10 + +db_1 + 0 MC 0000 + 4 MR 0000 db + 4 MC 0001 + 7 MR 0001 e3 + 8 PR c1e3 c1 +c100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 11 + +db_2 + 0 MC 0000 + 4 MR 0000 db + 4 MC 0001 + 7 MR 0001 e2 + 7 PC 71e2 + 8 PR 71e2 71 + 8 PC 71e2 +7100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 11 + +db_3 + 0 MC 0000 + 4 MR 0000 db + 4 MC 0001 + 7 MR 0001 e3 + 7 PC 71e3 + 8 PR 71e3 71 + 8 PC 71e3 + 9 PC 71e3 + 10 PC 71e3 +7100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 11 + +db + 0 MC 0000 + 4 MR 0000 db + 4 MC 0001 + 7 MR 0001 e2 + 8 PR c1e2 c1 + 8 PC c1e2 +c100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 11 + +dc_1 + 0 MC 0000 + 4 MR 0000 dc + 4 MC 0001 + 7 MR 0001 61 + 7 MC 0002 + 10 MR 0002 9c + 10 MC 0002 + 11 MC 5697 + 14 MW 5697 00 + 14 MC 5696 + 17 MW 5696 03 +000f 0000 0000 0000 0000 0000 0000 0000 0000 0000 5696 9c61 +00 01 0 0 0 0 17 +5696 03 00 -1 + +dc_2 + 0 MC 0000 + 4 MR 0000 dc + 4 MC 0001 + 7 MC 0002 +000e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0003 +00 01 0 0 0 0 10 + +dd00 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 00 + 8 MC 0002 + 12 MR 0002 00 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0003 +00 03 0 0 0 0 12 + +dd09 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 09 + 8 MC 0002 + 9 MC 0002 + 10 MC 0002 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 +0d34 1426 53ce 41e3 0000 0000 0000 0000 b2e6 5c89 0000 0002 +00 02 0 0 0 0 15 + +dd19 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 19 + 8 MC 0002 + 9 MC 0002 + 10 MC 0002 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 +1928 0e0b 2724 be62 0000 0000 0000 0000 a973 760b 0000 0002 +00 02 0 0 0 0 15 + +dd21 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 21 + 8 MC 0002 + 11 MR 0002 f2 + 11 MC 0003 + 14 MR 0003 7c +c935 4353 bd22 94d5 0000 0000 0000 0000 7cf2 aad6 0000 0004 +00 02 0 0 0 0 14 + +dd22 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 22 + 8 MC 0002 + 11 MR 0002 4f + 11 MC 0003 + 14 MR 0003 ad + 14 MC ad4f + 17 MW ad4f e7 + 17 MC ad50 + 20 MW ad50 eb +5b1d 45a1 6de8 39d3 0000 0000 0000 0000 ebe7 05b0 0000 0004 +00 02 0 0 0 0 20 +ad4f e7 eb -1 + +dd23 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 23 + 8 MC 0002 + 9 MC 0002 +9095 ac3c 4d90 379b 0000 0000 0000 0000 d50c a157 0000 0002 +00 02 0 0 0 0 10 + +dd24 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 24 +0688 dcd0 a31b d527 0000 0000 0000 0000 8dda b096 0000 0002 +00 02 0 0 0 0 8 + +dd25 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 25 +5aaa 206b ed10 6eab 0000 0000 0000 0000 ba3c 5ebd 0000 0002 +00 02 0 0 0 0 8 + +dd26 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 26 + 8 MC 0002 + 11 MR 0002 ad +9522 ede0 a352 adea 0000 0000 0000 0000 ad40 82e1 0000 0003 +00 02 0 0 0 0 11 + +dd29 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 29 + 8 MC 0002 + 9 MC 0002 + 10 MC 0002 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 +aca0 0f0e 72c8 1f2a 0000 0000 0000 0000 a32a 7d8a 0000 0002 +00 02 0 0 0 0 15 + +dd2a + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 2a + 8 MC 0002 + 11 MR 0002 bc + 11 MC 0003 + 14 MR 0003 40 + 14 MC 40bc + 17 MR 40bc b5 + 17 MC 40bd + 20 MR 40bd 30 +3d36 b24e bdbc ca4e 0000 0000 0000 0000 30b5 e7ce 0000 0004 +00 02 0 0 0 0 20 + +dd2b + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 2b + 8 MC 0002 + 9 MC 0002 +ad4b d5e6 9377 f132 0000 0000 0000 0000 7a16 2188 0000 0002 +00 02 0 0 0 0 10 + +dd2c + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 2c +8830 f2f3 d277 9153 0000 0000 0000 0000 c630 b002 0000 0002 +00 02 0 0 0 0 8 + +dd2d + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 2d +3922 b23c 6e11 5a49 0000 0000 0000 0000 0266 ab03 0000 0002 +00 02 0 0 0 0 8 + +dd2e + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 2e + 8 MC 0002 + 11 MR 0002 1c +9aca a04a b49f a4a6 0000 0000 0000 0000 bd1c 38a1 0000 0003 +00 02 0 0 0 0 11 + +dd34 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 34 + 8 MC 0002 + 11 MR 0002 e6 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC de8f + 19 MR de8f 57 + 19 MC de8f + 20 MC de8f + 23 MW de8f 58 +8308 d1fc b80b 8082 0000 0000 0000 0000 dea9 6fd8 0000 0003 +00 02 0 0 0 0 23 +de8f 58 -1 + +dd35 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 35 + 8 MC 0002 + 11 MR 0002 60 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC c793 + 19 MR c793 f7 + 19 MC c793 + 20 MC c793 + 23 MW c793 f6 +86a3 4641 1ef6 10ab 0000 0000 0000 0000 c733 8ec4 0000 0003 +00 02 0 0 0 0 23 +c793 f6 -1 + +dd36 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 36 + 8 MC 0002 + 11 MR 0002 35 + 11 MC 0003 + 14 MR 0003 b5 + 14 MC 0003 + 15 MC 0003 + 16 MC b5fb + 19 MW b5fb b5 +76dc 2530 5158 877d 0000 0000 0000 0000 b5c6 8d3c 0000 0004 +00 02 0 0 0 0 19 +b5fb b5 -1 + +dd39 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 39 + 8 MC 0002 + 9 MC 0002 + 10 MC 0002 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 +8769 a334 d79d 59e4 0000 0000 0000 0000 ab64 4c88 fa4a 0002 +00 02 0 0 0 0 15 + +dd44 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 44 +b37e 27b0 36e8 3f45 0000 0000 0000 0000 2702 b3b9 0000 0002 +00 02 0 0 0 0 8 + +dd45 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 45 +4e10 986d d11d 1736 0000 0000 0000 0000 7298 2d10 0000 0002 +00 02 0 0 0 0 8 + +dd46 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 46 + 8 MC 0002 + 11 MR 0002 68 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC 5d2f + 19 MR 5d2f 8d +c758 8d29 66f2 29ef 0000 0000 0000 0000 5cc7 407d 0000 0003 +00 02 0 0 0 0 19 + +dd4c + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 4c +e15c 753e 7531 ae9e 0000 0000 0000 0000 3ed8 03b7 0000 0002 +00 02 0 0 0 0 8 + +dd4d + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 4d +469e 78aa 6a5a 00e2 0000 0000 0000 0000 a1aa 0d6f 0000 0002 +00 02 0 0 0 0 8 + +dd4e + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 4e + 8 MC 0002 + 11 MR 0002 2e + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC d979 + 19 MR d979 76 +7bf7 6676 8d55 def2 0000 0000 0000 0000 d94b 17fb 0000 0003 +00 02 0 0 0 0 19 + +dd54 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 54 +8376 0d13 4b67 3119 0000 0000 0000 0000 4b6d 030b 0000 0002 +00 02 0 0 0 0 8 + +dd55 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 55 +ff78 85e3 d76b 8f3a 0000 0000 0000 0000 d7d7 4e0b 0000 0002 +00 02 0 0 0 0 8 + +dd56 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 56 + 8 MC 0002 + 11 MR 0002 f4 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC a2fa + 19 MR a2fa de +97b3 b617 de50 81d1 0000 0000 0000 0000 a306 7a49 0000 0003 +00 02 0 0 0 0 19 + +dd5c + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 5c +af82 24bf 27f9 f925 0000 0000 0000 0000 f9a3 0b82 0000 0002 +00 02 0 0 0 0 8 + +dd5d + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 5d +36cb 97a9 4040 30fe 0000 0000 0000 0000 3340 b3ed 0000 0002 +00 02 0 0 0 0 8 + +dd5e + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 5e + 8 MC 0002 + 11 MR 0002 8f + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC 8cc1 + 19 MR 8cc1 ce +a220 389d 2fce 368c 0000 0000 0000 0000 8d32 3512 0000 0003 +00 02 0 0 0 0 19 + +dd60 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 60 +2392 7f6a 3dc0 cefb 0000 0000 0000 0000 7fa0 c424 0000 0002 +00 02 0 0 0 0 8 + +dd61 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 61 +76ed 268c d5c8 bab0 0000 0000 0000 0000 8c50 0a93 0000 0002 +00 02 0 0 0 0 8 + +dd62 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 62 +4c6f b482 fef4 62e7 0000 0000 0000 0000 fe25 9655 0000 0002 +00 02 0 0 0 0 8 + +dd63 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 63 +6e9a 5499 3c8f 1f64 0000 0000 0000 0000 8f35 0df7 0000 0002 +00 02 0 0 0 0 8 + +dd64 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 64 +47f6 1b7a a55e 2fc2 0000 0000 0000 0000 efc7 aca0 0000 0002 +00 02 0 0 0 0 8 + +dd65 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 65 +d786 7d1d b659 77e8 0000 0000 0000 0000 fafa 006d 0000 0002 +00 02 0 0 0 0 8 + +dd66 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 66 + 8 MC 0002 + 11 MR 0002 b5 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC ce12 + 19 MR ce12 03 +84c2 79b1 ca4a 03a0 0000 0000 0000 0000 ce5d dd2d 0000 0003 +00 02 0 0 0 0 19 + +dd67 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 67 +967c 511e 336d 40f6 0000 0000 0000 0000 96e7 5be2 0000 0002 +00 02 0 0 0 0 8 + +dd68 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 68 +4a9d efa8 febd 07e4 0000 0000 0000 0000 5fef b23f 0000 0002 +00 02 0 0 0 0 8 + +dd69 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 69 +6466 2142 2523 82b3 0000 0000 0000 0000 6442 04a7 0000 0002 +00 02 0 0 0 0 8 + +dd6a + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 6a +401f 61f1 4b08 fa88 0000 0000 0000 0000 c34b d8f6 0000 0002 +00 02 0 0 0 0 8 + +dd6b + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 6b +6dc7 e2ae 40bd f3c0 0000 0000 0000 0000 22bd 2749 0000 0002 +00 02 0 0 0 0 8 + +dd6c + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 6c +3939 90da 62dc 7c31 0000 0000 0000 0000 4141 7211 0000 0002 +00 02 0 0 0 0 8 + +dd6d + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 6d +3964 ff3f 23d4 c7c7 0000 0000 0000 0000 9b70 20c6 0000 0002 +00 02 0 0 0 0 8 + +dd6e + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 6e + 8 MC 0002 + 11 MR 0002 2c + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC c674 + 19 MR c674 6b +223f f661 b61c 0f6b 0000 0000 0000 0000 c648 fae8 0000 0003 +00 02 0 0 0 0 19 + +dd6f + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 6f +6e84 9cd4 a293 647d 0000 0000 0000 0000 0d6e 4a56 0000 0002 +00 02 0 0 0 0 8 + +dd70 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 70 + 8 MC 0002 + 11 MR 0002 f6 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC 05f0 + 19 MW 05f0 fe +d09f fe00 231e 31ec 0000 0000 0000 0000 05fa ea92 0000 0003 +00 02 0 0 0 0 19 +05f0 fe -1 + +dd71 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 71 + 8 MC 0002 + 11 MR 0002 23 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC 3745 + 19 MW 3745 1c +ebee 151c 05c7 ee08 0000 0000 0000 0000 3722 2ec6 0000 0003 +00 02 0 0 0 0 19 +3745 1c -1 + +dd72 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 72 + 8 MC 0002 + 11 MR 0002 93 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC 8d92 + 19 MW 8d92 63 +80c9 ac1e 63bd 828b 0000 0000 0000 0000 8dff 94ef 0000 0003 +00 02 0 0 0 0 19 +8d92 63 -1 + +dd73 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 73 + 8 MC 0002 + 11 MR 0002 57 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC 7a1d + 19 MW 7a1d de +8f3e b5a3 07de 0b0c 0000 0000 0000 0000 79c6 ae79 0000 0003 +00 02 0 0 0 0 19 +7a1d de -1 + +dd74 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 74 + 8 MC 0002 + 11 MR 0002 b9 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC 58c9 + 19 MW 58c9 01 +4ae0 49c5 3deb 0125 0000 0000 0000 0000 5910 429a 0000 0003 +00 02 0 0 0 0 19 +58c9 01 -1 + +dd75 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 75 + 8 MC 0002 + 11 MR 0002 30 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC ae7c + 19 MW ae7c 4f +5772 e833 b63e 734f 0000 0000 0000 0000 ae4c e8c2 0000 0003 +00 02 0 0 0 0 19 +ae7c 4f -1 + +dd77 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 77 + 8 MC 0002 + 11 MR 0002 8c + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC a10d + 19 MW a10d dc +dc56 d893 4116 f2d2 0000 0000 0000 0000 a181 3157 0000 0003 +00 02 0 0 0 0 19 +a10d dc -1 + +dd7c + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 7c +8c58 7705 ac92 a6a1 0000 0000 0000 0000 8cde 7507 0000 0002 +00 02 0 0 0 0 8 + +dd7d + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 7d +cb18 93fb 6bdd 3a10 0000 0000 0000 0000 d7cb c0f6 0000 0002 +00 02 0 0 0 0 8 + +dd7e + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 7e + 8 MC 0002 + 11 MR 0002 bc + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC 1cb0 + 19 MR 1cb0 57 +5766 1f77 6220 0c40 0000 0000 0000 0000 1cf4 1a1f 0000 0003 +00 02 0 0 0 0 19 + +dd84 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 84 +cd98 1de8 b8b9 78a6 0000 0000 0000 0000 9f1d b11f 0000 0002 +00 02 0 0 0 0 8 + +dd85 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 85 +c580 b1ff 8d7b 40c0 0000 0000 0000 0000 b513 0688 0000 0002 +00 02 0 0 0 0 8 + +dd86 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 86 + 8 MC 0002 + 11 MR 0002 c1 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC b576 + 19 MR b576 5b +a9bc d085 5bac e364 0000 0000 0000 0000 b5b5 fe3a 0000 0003 +00 02 0 0 0 0 19 + +dd8c + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 8c +cb98 8fdc ea8f 9734 0000 0000 0000 0000 0eb3 1b54 0000 0002 +00 02 0 0 0 0 8 + +dd8d + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 8d +7535 1c81 b6fb d6e5 0000 0000 0000 0000 09be a736 0000 0002 +00 02 0 0 0 0 8 + +dd8e + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 8e + 8 MC 0002 + 11 MR 0002 25 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC bbbc + 19 MR bbbc 32 +8094 182d ab17 94ae 0000 0000 0000 0000 bb97 87da 0000 0003 +00 02 0 0 0 0 19 + +dd94 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 94 +7422 9efe 6ea1 fc55 0000 0000 0000 0000 0a09 89c5 0000 0002 +00 02 0 0 0 0 8 + +dd95 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 95 +2c3b 59ab 428c 3a94 0000 0000 0000 0000 44fd f243 0000 0002 +00 02 0 0 0 0 8 + +dd96 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 96 + 8 MC 0002 + 11 MR 0002 5f + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC 2cc5 + 19 MR 2cc5 49 +5206 461f ced7 db3f 0000 0000 0000 0000 2c66 9dbf 0000 0003 +00 02 0 0 0 0 19 + +dd9c + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 9c +d282 670e afcc 8b34 0000 0000 0000 0000 285f 1caa 0000 0002 +00 02 0 0 0 0 8 + +dd9d + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 9d +e5a2 0cdb df32 d0e4 0000 0000 0000 0000 9b12 7d07 0000 0002 +00 02 0 0 0 0 8 + +dd9e + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 9e + 8 MC 0002 + 11 MR 0002 14 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC b4e0 + 19 MR b4e0 b5 +de9b f9c5 cbc4 ca21 0000 0000 0000 0000 b4cc 46fa 0000 0003 +00 02 0 0 0 0 19 + +dda4 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 a4 +0210 ba53 acfc 9481 0000 0000 0000 0000 2f8b edf6 0000 0002 +00 02 0 0 0 0 8 + +dda5 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 a5 +aabc a675 d757 f1db 0000 0000 0000 0000 fdef d8ce 0000 0002 +00 02 0 0 0 0 8 + +dda6 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 a6 + 8 MC 0002 + 11 MR 0002 41 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC 7ed6 + 19 MR 7ed6 c7 +0514 20c4 ebc3 da8d 0000 0000 0000 0000 7e95 5e8a 0000 0003 +00 02 0 0 0 0 19 + +ddac + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 ac +4000 2a7c 17e5 3f6e 0000 0000 0000 0000 affa a0b5 0000 0002 +00 02 0 0 0 0 8 + +ddad + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 ad +8284 6ba1 ef1b 5713 0000 0000 0000 0000 ba38 a708 0000 0002 +00 02 0 0 0 0 8 + +ddae + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 ae + 8 MC 0002 + 11 MR 0002 72 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC e97b + 19 MR e97b c3 +4300 3ad6 a721 2100 0000 0000 0000 0000 e909 87b4 0000 0003 +00 02 0 0 0 0 19 + +ddb4 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 b4 +9c8c 29aa 2e82 4dc8 0000 0000 0000 0000 9c04 8be3 0000 0002 +00 02 0 0 0 0 8 + +ddb5 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 b5 +c780 fc93 7a06 0518 0000 0000 0000 0000 0ac5 4150 0000 0002 +00 02 0 0 0 0 8 + +ddb6 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 b6 + 8 MC 0002 + 11 MR 0002 31 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC c6a0 + 19 MR c6a0 1c +5c0c ab81 4287 5ee1 0000 0000 0000 0000 c66f d6cc 0000 0003 +00 02 0 0 0 0 19 + +ddbc + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 bc +53bf aa98 f7d7 fa0c 0000 0000 0000 0000 be7a a41f 0000 0002 +00 02 0 0 0 0 8 + +ddbd + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 bd +dc82 80ce 5d2f e999 0000 0000 0000 0000 bb41 a24f 0000 0002 +00 02 0 0 0 0 8 + +ddbe + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 be + 8 MC 0002 + 11 MR 0002 48 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC 937a + 19 MR 937a 5b +981e bfd5 a299 d34b 0000 0000 0000 0000 9332 b1d5 0000 0003 +00 02 0 0 0 0 19 + +ddcb00 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 0d + 11 MC 0003 + 14 MR 0003 00 + 14 MC 0003 + 15 MC 0003 + 16 MC 1dae + 19 MR 1dae a1 + 19 MC 1dae + 20 MC 1dae + 23 MW 1dae 43 +3c01 43e4 09d1 646b 0000 0000 0000 0000 1da1 f08f 0000 0004 +00 02 0 0 0 0 23 +1dae 43 -1 + +ddcb01 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 b7 + 11 MC 0003 + 14 MR 0003 01 + 14 MC 0003 + 15 MC 0003 + 16 MC 28b4 + 19 MR 28b4 e3 + 19 MC 28b4 + 20 MC 28b4 + 23 MW 28b4 c7 +f681 e3c7 2d4a 7725 0000 0000 0000 0000 28fd f31b 0000 0004 +00 02 0 0 0 0 23 +28b4 c7 -1 + +ddcb02 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 91 + 11 MC 0003 + 14 MR 0003 02 + 14 MC 0003 + 15 MC 0003 + 16 MC c727 + 19 MR c727 8d + 19 MC c727 + 20 MC c727 + 23 MW c727 1b +e20d 836e 1b3a f840 0000 0000 0000 0000 c796 ae9b 0000 0004 +00 02 0 0 0 0 23 +c727 1b -1 + +ddcb03 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 48 + 11 MC 0003 + 14 MR 0003 03 + 14 MC 0003 + 15 MC 0003 + 16 MC 0466 + 19 MR 0466 78 + 19 MC 0466 + 20 MC 0466 + 23 MW 0466 f0 +62a4 3571 c5f0 48dc 0000 0000 0000 0000 041e c07b 0000 0004 +00 02 0 0 0 0 23 +0466 f0 -1 + +ddcb04 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 48 + 11 MC 0003 + 14 MR 0003 04 + 14 MC 0003 + 15 MC 0003 + 16 MC 5991 + 19 MR 5991 68 + 19 MC 5991 + 20 MC 5991 + 23 MW 5991 d0 +b380 bfc4 64af d022 0000 0000 0000 0000 5949 a989 0000 0004 +00 02 0 0 0 0 23 +5991 d0 -1 + +ddcb05 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 ff + 11 MC 0003 + 14 MR 0003 05 + 14 MC 0003 + 15 MC 0003 + 16 MC 0076 + 19 MR 0076 95 + 19 MC 0076 + 20 MC 0076 + 23 MW 0076 2b +492d bb04 56ec 9d2b 0000 0000 0000 0000 0077 1349 0000 0004 +00 02 0 0 0 0 23 +0076 2b -1 + +ddcb06 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 07 + 11 MC 0003 + 14 MR 0003 06 + 14 MC 0003 + 15 MC 0003 + 16 MC 5428 + 19 MR 5428 97 + 19 MC 5428 + 20 MC 5428 + 23 MW 5428 2f +0c29 f636 90a6 6117 0000 0000 0000 0000 5421 90ee 0000 0004 +00 02 0 0 0 0 23 +5428 2f -1 + +ddcb07 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 42 + 11 MC 0003 + 14 MR 0003 07 + 14 MC 0003 + 15 MC 0003 + 16 MC 9845 + 19 MR 9845 ae + 19 MC 9845 + 20 MC 9845 + 23 MW 9845 5d +5d09 9ca3 bdf6 ed50 0000 0000 0000 0000 9803 55f9 0000 0004 +00 02 0 0 0 0 23 +9845 5d -1 + +ddcb08 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 0a + 11 MC 0003 + 14 MR 0003 08 + 14 MC 0003 + 15 MC 0003 + 16 MC ef4a + 19 MR ef4a da + 19 MC ef4a + 20 MC ef4a + 23 MW ef4a 6d +0228 6d66 6023 ae06 0000 0000 0000 0000 ef40 b006 0000 0004 +00 02 0 0 0 0 23 +ef4a 6d -1 + +ddcb09 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 3b + 11 MC 0003 + 14 MR 0003 09 + 14 MC 0003 + 15 MC 0003 + 16 MC 9d46 + 19 MR 9d46 6f + 19 MC 9d46 + 20 MC 9d46 + 23 MW 9d46 b7 +98a5 92b7 54d5 5e1e 0000 0000 0000 0000 9d0b 6e58 0000 0004 +00 02 0 0 0 0 23 +9d46 b7 -1 + +ddcb0a + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 83 + 11 MC 0003 + 14 MR 0003 0a + 14 MC 0003 + 15 MC 0003 + 16 MC 1f37 + 19 MR 1f37 78 + 19 MC 1f37 + 20 MC 1f37 + 23 MW 1f37 3c +d22c 6aac 3c89 9293 0000 0000 0000 0000 1fb4 2498 0000 0004 +00 02 0 0 0 0 23 +1f37 3c -1 + +ddcb0b + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 fa + 11 MC 0003 + 14 MR 0003 0b + 14 MC 0003 + 15 MC 0003 + 16 MC cd03 + 19 MR cd03 92 + 19 MC cd03 + 20 MC cd03 + 23 MW cd03 49 +b808 b284 2349 7e7d 0000 0000 0000 0000 cd09 6a03 0000 0004 +00 02 0 0 0 0 23 +cd03 49 -1 + +ddcb0c + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 79 + 11 MC 0003 + 14 MR 0003 0c + 14 MC 0003 + 15 MC 0003 + 16 MC bfe4 + 19 MR bfe4 0d + 19 MC bfe4 + 20 MC bfe4 + 23 MW bfe4 86 +df81 b6cc ee8d 865a 0000 0000 0000 0000 bf6b 9b7d 0000 0004 +00 02 0 0 0 0 23 +bfe4 86 -1 + +ddcb0d + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 e4 + 11 MC 0003 + 14 MR 0003 0d + 14 MC 0003 + 15 MC 0003 + 16 MC 88a1 + 19 MR 88a1 1f + 19 MC 88a1 + 20 MC 88a1 + 23 MW 88a1 8f +ba89 ceec bbaa b68f 0000 0000 0000 0000 88bd 503e 0000 0004 +00 02 0 0 0 0 23 +88a1 8f -1 + +ddcb0e + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 c6 + 11 MC 0003 + 14 MR 0003 0e + 14 MC 0003 + 15 MC 0003 + 16 MC fd0f + 19 MR fd0f ad + 19 MC fd0f + 20 MC fd0f + 23 MW fd0f d6 +1c81 890b 7830 060c 0000 0000 0000 0000 fd49 5d07 0000 0004 +00 02 0 0 0 0 23 +fd0f d6 -1 + +ddcb0f + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 57 + 11 MC 0003 + 14 MR 0003 0f + 14 MC 0003 + 15 MC 0003 + 16 MC 749e + 19 MR 749e f8 + 19 MC 749e + 20 MC 749e + 23 MW 749e 7c +7c28 fad4 fa4b 9c53 0000 0000 0000 0000 7447 2267 0000 0004 +00 02 0 0 0 0 23 +749e 7c -1 + +ddcb10 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 4f + 11 MC 0003 + 14 MR 0003 10 + 14 MC 0003 + 15 MC 0003 + 16 MC bbf1 + 19 MR bbf1 45 + 19 MC bbf1 + 20 MC bbf1 + 23 MW bbf1 8b +f38c 8b1f 5387 926e 0000 0000 0000 0000 bba2 ca47 0000 0004 +00 02 0 0 0 0 23 +bbf1 8b -1 + +ddcb11 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 eb + 11 MC 0003 + 14 MR 0003 11 + 14 MC 0003 + 15 MC 0003 + 16 MC 17f4 + 19 MR 17f4 d9 + 19 MC 17f4 + 20 MC 17f4 + 23 MW 17f4 b3 +2aa1 d6b3 a9aa 5b52 0000 0000 0000 0000 1809 d275 0000 0004 +00 02 0 0 0 0 23 +17f4 b3 -1 + +ddcb12 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 a6 + 11 MC 0003 + 14 MR 0003 12 + 14 MC 0003 + 15 MC 0003 + 16 MC c0a1 + 19 MR c0a1 e2 + 19 MC c0a1 + 20 MC c0a1 + 23 MW c0a1 c5 +9285 c479 c5d1 10ce 0000 0000 0000 0000 c0fb 2777 0000 0004 +00 02 0 0 0 0 23 +c0a1 c5 -1 + +ddcb13 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 ff + 11 MC 0003 + 14 MR 0003 13 + 14 MC 0003 + 15 MC 0003 + 16 MC 5ac3 + 19 MR 5ac3 a7 + 19 MC 5ac3 + 20 MC 5ac3 + 23 MW 5ac3 4f +a509 580a a44f 11cd 0000 0000 0000 0000 5ac4 ccc7 0000 0004 +00 02 0 0 0 0 23 +5ac3 4f -1 + +ddcb14 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 dd + 11 MC 0003 + 14 MR 0003 14 + 14 MC 0003 + 15 MC 0003 + 16 MC 0954 + 19 MR 0954 85 + 19 MC 0954 + 20 MC 0954 + 23 MW 0954 0b +2909 5b89 8467 0b30 0000 0000 0000 0000 0977 c4e8 0000 0004 +00 02 0 0 0 0 23 +0954 0b -1 + +ddcb15 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 07 + 11 MC 0003 + 14 MR 0003 15 + 14 MC 0003 + 15 MC 0003 + 16 MC edf0 + 19 MR edf0 0e + 19 MC edf0 + 20 MC edf0 + 23 MW edf0 1d +1f0c 6d53 5b7c a11d 0000 0000 0000 0000 ede9 a85c 0000 0004 +00 02 0 0 0 0 23 +edf0 1d -1 + +ddcb16 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 45 + 11 MC 0003 + 14 MR 0003 16 + 14 MC 0003 + 15 MC 0003 + 16 MC 1703 + 19 MR 1703 5b + 19 MC 1703 + 20 MC 1703 + 23 MW 1703 b6 +daa0 a1e4 00b0 92c8 0000 0000 0000 0000 16be 2c95 0000 0004 +00 02 0 0 0 0 23 +1703 b6 -1 + +ddcb17 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 1c + 11 MC 0003 + 14 MR 0003 17 + 14 MC 0003 + 15 MC 0003 + 16 MC b8e5 + 19 MR b8e5 7e + 19 MC b8e5 + 20 MC b8e5 + 23 MW b8e5 fc +fcac cbd1 4e1a cd27 0000 0000 0000 0000 b8c9 e6d4 0000 0004 +00 02 0 0 0 0 23 +b8e5 fc -1 + +ddcb18 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 0e + 11 MC 0003 + 14 MR 0003 18 + 14 MC 0003 + 15 MC 0003 + 16 MC a197 + 19 MR a197 90 + 19 MC a197 + 20 MC a197 + 23 MW a197 48 +d90c 48b5 9cf9 b9f1 0000 0000 0000 0000 a189 bd7c 0000 0004 +00 02 0 0 0 0 23 +a197 48 -1 + +ddcb19 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 a3 + 11 MC 0003 + 14 MR 0003 19 + 14 MC 0003 + 15 MC 0003 + 16 MC f08a + 19 MR f08a 37 + 19 MC f08a + 20 MC f08a + 23 MW f08a 9b +2389 599b a756 cf2e 0000 0000 0000 0000 f0e7 26e4 0000 0004 +00 02 0 0 0 0 23 +f08a 9b -1 + +ddcb1a + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 ac + 11 MC 0003 + 14 MR 0003 1a + 14 MC 0003 + 15 MC 0003 + 16 MC de0d + 19 MR de0d cc + 19 MC de0d + 20 MC de0d + 23 MW de0d 66 +8b24 7e45 660f 37a6 0000 0000 0000 0000 de61 9cd9 0000 0004 +00 02 0 0 0 0 23 +de0d 66 -1 + +ddcb1b + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 05 + 11 MC 0003 + 14 MR 0003 1b + 14 MC 0003 + 15 MC 0003 + 16 MC b7c8 + 19 MR b7c8 91 + 19 MC b7c8 + 20 MC b7c8 + 23 MW b7c8 c8 +5c89 1414 81c8 5881 0000 0000 0000 0000 b7c3 d14f 0000 0004 +00 02 0 0 0 0 23 +b7c8 c8 -1 + +ddcb1c + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 ff + 11 MC 0003 + 14 MR 0003 1c + 14 MC 0003 + 15 MC 0003 + 16 MC fef8 + 19 MR fef8 61 + 19 MC fef8 + 20 MC fef8 + 23 MW fef8 30 +fa25 6277 8b67 3023 0000 0000 0000 0000 fef9 4a66 0000 0004 +00 02 0 0 0 0 23 +fef8 30 -1 + +ddcb1d + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 3a + 11 MC 0003 + 14 MR 0003 1d + 14 MC 0003 + 15 MC 0003 + 16 MC 5b9d + 19 MR 5b9d f3 + 19 MC 5b9d + 20 MC 5b9d + 23 MW 5b9d f9 +76ad 324e e641 58f9 0000 0000 0000 0000 5b63 e18b 0000 0004 +00 02 0 0 0 0 23 +5b9d f9 -1 + +ddcb1e + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 ce + 11 MC 0003 + 14 MR 0003 1e + 14 MC 0003 + 15 MC 0003 + 16 MC 7582 + 19 MR 7582 91 + 19 MC 7582 + 20 MC 7582 + 23 MW 7582 c8 +c589 cd58 8967 f074 0000 0000 0000 0000 75b4 693a 0000 0004 +00 02 0 0 0 0 23 +7582 c8 -1 + +ddcb1f + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 a8 + 11 MC 0003 + 14 MR 0003 1f + 14 MC 0003 + 15 MC 0003 + 16 MC 1d43 + 19 MR 1d43 b4 + 19 MC 1d43 + 20 MC 1d43 + 23 MW 1d43 da +da88 7f6d 2058 63e3 0000 0000 0000 0000 1d9b baba 0000 0004 +00 02 0 0 0 0 23 +1d43 da -1 + +ddcb20 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 e8 + 11 MC 0003 + 14 MR 0003 20 + 14 MC 0003 + 15 MC 0003 + 16 MC dc21 + 19 MR dc21 0e + 19 MC dc21 + 20 MC dc21 + 23 MW dc21 1c +4c08 1c9e dc6c 18f4 0000 0000 0000 0000 dc39 8b0c 0000 0004 +00 02 0 0 0 0 23 +dc21 1c -1 + +ddcb21 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 9e + 11 MC 0003 + 14 MR 0003 21 + 14 MC 0003 + 15 MC 0003 + 16 MC 3432 + 19 MR 3432 f7 + 19 MC 3432 + 20 MC 3432 + 23 MW 3432 ee +d2ad 66ee 23ef 9096 0000 0000 0000 0000 3494 b6c3 0000 0004 +00 02 0 0 0 0 23 +3432 ee -1 + +ddcb22 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 43 + 11 MC 0003 + 14 MR 0003 22 + 14 MC 0003 + 15 MC 0003 + 16 MC bd82 + 19 MR bd82 9f + 19 MC bd82 + 20 MC bd82 + 23 MW bd82 3e +fb29 e0d0 3e02 b4b7 0000 0000 0000 0000 bd3f 385b 0000 0004 +00 02 0 0 0 0 23 +bd82 3e -1 + +ddcb23 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 c1 + 11 MC 0003 + 14 MR 0003 23 + 14 MC 0003 + 15 MC 0003 + 16 MC 229e + 19 MR 229e e0 + 19 MC 229e + 20 MC 229e + 23 MW 229e c0 +c385 68b6 dac0 b990 0000 0000 0000 0000 22dd bd27 0000 0004 +00 02 0 0 0 0 23 +229e c0 -1 + +ddcb24 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 e8 + 11 MC 0003 + 14 MR 0003 24 + 14 MC 0003 + 15 MC 0003 + 16 MC 31d9 + 19 MR 31d9 c3 + 19 MC 31d9 + 20 MC 31d9 + 23 MW 31d9 86 +ba81 7b0b 560b 8633 0000 0000 0000 0000 31f1 ddbd 0000 0004 +00 02 0 0 0 0 23 +31d9 86 -1 + +ddcb25 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 c1 + 11 MC 0003 + 14 MR 0003 25 + 14 MC 0003 + 15 MC 0003 + 16 MC cc24 + 19 MR cc24 eb + 19 MC cc24 + 20 MC cc24 + 23 MW cc24 d6 +4381 a21b 2347 aed6 0000 0000 0000 0000 cc63 fc94 0000 0004 +00 02 0 0 0 0 23 +cc24 d6 -1 + +ddcb26 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 f7 + 11 MC 0003 + 14 MR 0003 26 + 14 MC 0003 + 15 MC 0003 + 16 MC 651f + 19 MR 651f 89 + 19 MC 651f + 20 MC 651f + 23 MW 651f 12 +2005 ff37 e41f 70e7 0000 0000 0000 0000 6528 a0d5 0000 0004 +00 02 0 0 0 0 23 +651f 12 -1 + +ddcb27 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 c3 + 11 MC 0003 + 14 MR 0003 27 + 14 MC 0003 + 15 MC 0003 + 16 MC 1f2c + 19 MR 1f2c ac + 19 MC 1f2c + 20 MC 1f2c + 23 MW 1f2c 58 +5809 5669 1bee f62c 0000 0000 0000 0000 1f69 3418 0000 0004 +00 02 0 0 0 0 23 +1f2c 58 -1 + +ddcb28 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 b6 + 11 MC 0003 + 14 MR 0003 28 + 14 MC 0003 + 15 MC 0003 + 16 MC 9951 + 19 MR 9951 24 + 19 MC 9951 + 20 MC 9951 + 23 MW 9951 12 +7a04 12b8 51f7 7164 0000 0000 0000 0000 999b 8857 0000 0004 +00 02 0 0 0 0 23 +9951 12 -1 + +ddcb29 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 9c + 11 MC 0003 + 14 MR 0003 29 + 14 MC 0003 + 15 MC 0003 + 16 MC 2083 + 19 MR 2083 82 + 19 MC 2083 + 20 MC 2083 + 23 MW 2083 c1 +0480 b7c1 323f fd34 0000 0000 0000 0000 20e7 c753 0000 0004 +00 02 0 0 0 0 23 +2083 c1 -1 + +ddcb2a + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 d8 + 11 MC 0003 + 14 MR 0003 2a + 14 MC 0003 + 15 MC 0003 + 16 MC 94dd + 19 MR 94dd 7c + 19 MC 94dd + 20 MC 94dd + 23 MW 94dd 3e +4528 afde 3e08 75d7 0000 0000 0000 0000 9505 b624 0000 0004 +00 02 0 0 0 0 23 +94dd 3e -1 + +ddcb2b + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 bd + 11 MC 0003 + 14 MR 0003 2b + 14 MC 0003 + 15 MC 0003 + 16 MC b441 + 19 MR b441 44 + 19 MC b441 + 20 MC b441 + 23 MW b441 22 +8324 e290 2622 7ddd 0000 0000 0000 0000 b484 571c 0000 0004 +00 02 0 0 0 0 23 +b441 22 -1 + +ddcb2c + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 2c + 11 MC 0003 + 14 MR 0003 2c + 14 MC 0003 + 15 MC 0003 + 16 MC fe54 + 19 MR fe54 81 + 19 MC fe54 + 20 MC fe54 + 23 MW fe54 c0 +c685 0c94 6e4b c0c7 0000 0000 0000 0000 fe28 dc80 0000 0004 +00 02 0 0 0 0 23 +fe54 c0 -1 + +ddcb2d + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 9b + 11 MC 0003 + 14 MR 0003 2d + 14 MC 0003 + 15 MC 0003 + 16 MC b488 + 19 MR b488 44 + 19 MC b488 + 20 MC b488 + 23 MW b488 22 +ce24 d2ae c9be 4222 0000 0000 0000 0000 b4ed 6de3 0000 0004 +00 02 0 0 0 0 23 +b488 22 -1 + +ddcb2e + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 3d + 11 MC 0003 + 14 MR 0003 2e + 14 MC 0003 + 15 MC 0003 + 16 MC 6a15 + 19 MR 6a15 05 + 19 MC 6a15 + 20 MC 6a15 + 23 MW 6a15 02 +5001 de74 eca8 83ff 0000 0000 0000 0000 69d8 75c7 0000 0004 +00 02 0 0 0 0 23 +6a15 02 -1 + +ddcb2f + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 d3 + 11 MC 0003 + 14 MR 0003 2f + 14 MC 0003 + 15 MC 0003 + 16 MC 7a03 + 19 MR 7a03 f2 + 19 MC 7a03 + 20 MC 7a03 + 23 MW 7a03 f9 +f9ac 759b 3059 01b9 0000 0000 0000 0000 7a30 dd56 0000 0004 +00 02 0 0 0 0 23 +7a03 f9 -1 + +ddcb30 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 df + 11 MC 0003 + 14 MR 0003 30 + 14 MC 0003 + 15 MC 0003 + 16 MC eec7 + 19 MR eec7 32 + 19 MC eec7 + 20 MC eec7 + 23 MW eec7 65 +3c24 65ad 9cc7 a68c 0000 0000 0000 0000 eee8 5a80 0000 0004 +00 02 0 0 0 0 23 +eec7 65 -1 + +ddcb31 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 49 + 11 MC 0003 + 14 MR 0003 31 + 14 MC 0003 + 15 MC 0003 + 16 MC f276 + 19 MR f276 cd + 19 MC f276 + 20 MC f276 + 23 MW f276 9b +eb89 419b 929b 7d47 0000 0000 0000 0000 f22d 8943 0000 0004 +00 02 0 0 0 0 23 +f276 9b -1 + +ddcb32 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 e0 + 11 MC 0003 + 14 MR 0003 32 + 14 MC 0003 + 15 MC 0003 + 16 MC 577f + 19 MR 577f e2 + 19 MC 577f + 20 MC 577f + 23 MW 577f c5 +9a85 aa64 c509 01ad 0000 0000 0000 0000 579f ec4c 0000 0004 +00 02 0 0 0 0 23 +577f c5 -1 + +ddcb33 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 c9 + 11 MC 0003 + 14 MR 0003 33 + 14 MC 0003 + 15 MC 0003 + 16 MC ef75 + 19 MR ef75 0b + 19 MC ef75 + 20 MC ef75 + 23 MW ef75 17 +b804 b854 5217 9599 0000 0000 0000 0000 efac d9ec 0000 0004 +00 02 0 0 0 0 23 +ef75 17 -1 + +ddcb34 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 49 + 11 MC 0003 + 14 MR 0003 34 + 14 MC 0003 + 15 MC 0003 + 16 MC ab91 + 19 MR ab91 ef + 19 MC ab91 + 20 MC ab91 + 23 MW ab91 df +cd89 4432 20d4 df3e 0000 0000 0000 0000 ab48 c95f 0000 0004 +00 02 0 0 0 0 23 +ab91 df -1 + +ddcb35 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 b9 + 11 MC 0003 + 14 MR 0003 35 + 14 MC 0003 + 15 MC 0003 + 16 MC ead3 + 19 MR ead3 8f + 19 MC ead3 + 20 MC ead3 + 23 MW ead3 1f +de09 c6fc 696d 151f 0000 0000 0000 0000 eb1a 4a12 0000 0004 +00 02 0 0 0 0 23 +ead3 1f -1 + +ddcb36 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 b4 + 11 MC 0003 + 14 MR 0003 36 + 14 MC 0003 + 15 MC 0003 + 16 MC 12e2 + 19 MR 12e2 02 + 19 MC 12e2 + 20 MC 12e2 + 23 MW 12e2 05 +3d04 443b ff21 63e3 0000 0000 0000 0000 132e fb39 0000 0004 +00 02 0 0 0 0 23 +12e2 05 -1 + +ddcb37 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 c6 + 11 MC 0003 + 14 MR 0003 37 + 14 MC 0003 + 15 MC 0003 + 16 MC 503d + 19 MR 503d 3d + 19 MC 503d + 20 MC 503d + 23 MW 503d 7b +7b2c bfc9 a69a ec0b 0000 0000 0000 0000 5077 4e3e 0000 0004 +00 02 0 0 0 0 23 +503d 7b -1 + +ddcb38 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 8e + 11 MC 0003 + 14 MR 0003 38 + 14 MC 0003 + 15 MC 0003 + 16 MC f623 + 19 MR f623 5e + 19 MC f623 + 20 MC f623 + 23 MW f623 2f +3c28 2fee 38e1 ae9f 0000 0000 0000 0000 f695 44b3 0000 0004 +00 02 0 0 0 0 23 +f623 2f -1 + +ddcb39 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 dc + 11 MC 0003 + 14 MR 0003 39 + 14 MC 0003 + 15 MC 0003 + 16 MC a871 + 19 MR a871 83 + 19 MC a871 + 20 MC a871 + 23 MW a871 41 +0505 9a41 a2db df75 0000 0000 0000 0000 a895 e243 0000 0004 +00 02 0 0 0 0 23 +a871 41 -1 + +ddcb3a + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 0d + 11 MC 0003 + 14 MR 0003 3a + 14 MC 0003 + 15 MC 0003 + 16 MC 259e + 19 MR 259e 89 + 19 MC 259e + 20 MC 259e + 23 MW 259e 44 +0e05 0b9f 443b c01d 0000 0000 0000 0000 2591 49c3 0000 0004 +00 02 0 0 0 0 23 +259e 44 -1 + +ddcb3b + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 20 + 11 MC 0003 + 14 MR 0003 3b + 14 MC 0003 + 15 MC 0003 + 16 MC 700d + 19 MR 700d a9 + 19 MC 700d + 20 MC 700d + 23 MW 700d 54 +1b01 c795 d854 7ccf 0000 0000 0000 0000 6fed 09dc 0000 0004 +00 02 0 0 0 0 23 +700d 54 -1 + +ddcb3c + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 e1 + 11 MC 0003 + 14 MR 0003 3c + 14 MC 0003 + 15 MC 0003 + 16 MC f51c + 19 MR f51c d0 + 19 MC f51c + 20 MC f51c + 23 MW f51c 68 +b628 bdf7 fca3 6829 0000 0000 0000 0000 f53b 018b 0000 0004 +00 02 0 0 0 0 23 +f51c 68 -1 + +ddcb3d + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 be + 11 MC 0003 + 14 MR 0003 3d + 14 MC 0003 + 15 MC 0003 + 16 MC 02de + 19 MR 02de 58 + 19 MC 02de + 20 MC 02de + 23 MW 02de 2c +2a28 6e6e cfbd 1d2c 0000 0000 0000 0000 0320 6ab0 0000 0004 +00 02 0 0 0 0 23 +02de 2c -1 + +ddcb3e + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 0a + 11 MC 0003 + 14 MR 0003 3e + 14 MC 0003 + 15 MC 0003 + 16 MC 7854 + 19 MR 7854 5d + 19 MC 7854 + 20 MC 7854 + 23 MW 7854 2e +392d b26e b670 b8a2 0000 0000 0000 0000 784a 7840 0000 0004 +00 02 0 0 0 0 23 +7854 2e -1 + +ddcb3f + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 31 + 11 MC 0003 + 14 MR 0003 3f + 14 MC 0003 + 15 MC 0003 + 16 MC 34b9 + 19 MR 34b9 04 + 19 MC 34b9 + 20 MC 34b9 + 23 MW 34b9 02 +0200 429d d8c0 e069 0000 0000 0000 0000 3488 7150 0000 0004 +00 02 0 0 0 0 23 +34b9 02 -1 + +ddcb40 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 bd + 11 MC 0003 + 14 MR 0003 40 + 14 MC 0003 + 15 MC 0003 + 16 MC 8bbe + 19 MR 8bbe e7 + 19 MC 8bbe +1119 f6ba 079e 0e41 0000 0000 0000 0000 8c01 cd21 0000 0004 +00 02 0 0 0 0 20 + +ddcb41 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 52 + 11 MC 0003 + 14 MR 0003 41 + 14 MC 0003 + 15 MC 0003 + 16 MC ce21 + 19 MR ce21 75 + 19 MC ce21 +2219 c4b0 575b 66b4 0000 0000 0000 0000 cdcf a25c 0000 0004 +00 02 0 0 0 0 20 + +ddcb42 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 1e + 11 MC 0003 + 14 MR 0003 42 + 14 MC 0003 + 15 MC 0003 + 16 MC f058 + 19 MR f058 90 + 19 MC f058 +af74 7720 aa95 3b0a 0000 0000 0000 0000 f03a 856a 0000 0004 +00 02 0 0 0 0 20 + +ddcb43 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 bc + 11 MC 0003 + 14 MR 0003 43 + 14 MC 0003 + 15 MC 0003 + 16 MC e872 + 19 MR e872 6b + 19 MC e872 +7f38 b699 5e71 1827 0000 0000 0000 0000 e8b6 96a8 0000 0004 +00 02 0 0 0 0 20 + +ddcb44 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 e8 + 11 MC 0003 + 14 MR 0003 44 + 14 MC 0003 + 15 MC 0003 + 16 MC edf2 + 19 MR edf2 62 + 19 MC edf2 +5f7c de05 12fd f73b 0000 0000 0000 0000 ee0a 6634 0000 0004 +00 02 0 0 0 0 20 + +ddcb45 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 02 + 11 MC 0003 + 14 MR 0003 45 + 14 MC 0003 + 15 MC 0003 + 16 MC a2c0 + 19 MR a2c0 55 + 19 MC a2c0 +ea31 699c 47d3 89c3 0000 0000 0000 0000 a2be d81e 0000 0004 +00 02 0 0 0 0 20 + +ddcb46 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 e2 + 11 MC 0003 + 14 MR 0003 46 + 14 MC 0003 + 15 MC 0003 + 16 MC a381 + 19 MR a381 d5 + 19 MC a381 +6030 ac1d 4173 f92a 0000 0000 0000 0000 a39f 12e5 0000 0004 +00 02 0 0 0 0 20 + +ddcb47 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 7a + 11 MC 0003 + 14 MR 0003 47 + 14 MC 0003 + 15 MC 0003 + 16 MC 52a1 + 19 MR 52a1 6a + 19 MC 52a1 +1b54 f7c0 22f6 5253 0000 0000 0000 0000 5227 919d 0000 0004 +00 02 0 0 0 0 20 + +ddcb48 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 13 + 11 MC 0003 + 14 MR 0003 48 + 14 MC 0003 + 15 MC 0003 + 16 MC 2759 + 19 MR 2759 a8 + 19 MC 2759 +7274 4509 d68f 3b3d 0000 0000 0000 0000 2746 7f97 0000 0004 +00 02 0 0 0 0 20 + +ddcb49 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 94 + 11 MC 0003 + 14 MR 0003 49 + 14 MC 0003 + 15 MC 0003 + 16 MC 415a + 19 MR 415a 26 + 19 MC 415a +7f11 da22 ea9c f480 0000 0000 0000 0000 41c6 75a9 0000 0004 +00 02 0 0 0 0 20 + +ddcb4a + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 3b + 11 MC 0003 + 14 MR 0003 4a + 14 MC 0003 + 15 MC 0003 + 16 MC c026 + 19 MR c026 b5 + 19 MC c026 +f155 e6c3 5a42 8b21 0000 0000 0000 0000 bfeb e383 0000 0004 +00 02 0 0 0 0 20 + +ddcb4b + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 b0 + 11 MC 0003 + 14 MR 0003 4b + 14 MC 0003 + 15 MC 0003 + 16 MC c1e9 + 19 MR c1e9 18 + 19 MC c1e9 +1054 880a 52b2 fb1b 0000 0000 0000 0000 c239 6b40 0000 0004 +00 02 0 0 0 0 20 + +ddcb4c + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 97 + 11 MC 0003 + 14 MR 0003 4c + 14 MC 0003 + 15 MC 0003 + 16 MC 86e3 + 19 MR 86e3 63 + 19 MC 86e3 +0510 bc63 f081 0a55 0000 0000 0000 0000 874c 80a3 0000 0004 +00 02 0 0 0 0 20 + +ddcb4d + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 15 + 11 MC 0003 + 14 MR 0003 4d + 14 MC 0003 + 15 MC 0003 + 16 MC 7d3f + 19 MR 7d3f 60 + 19 MC 7d3f +7f7c 32b4 03d5 ef66 0000 0000 0000 0000 7d2a 03bc 0000 0004 +00 02 0 0 0 0 20 + +ddcb4e + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 b0 + 11 MC 0003 + 14 MR 0003 4e + 14 MC 0003 + 15 MC 0003 + 16 MC ea8e + 19 MR ea8e 3b + 19 MC ea8e +7c39 fa92 b4d0 9f23 0000 0000 0000 0000 eade 1785 0000 0004 +00 02 0 0 0 0 20 + +ddcb4f + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 8b + 11 MC 0003 + 14 MR 0003 4f + 14 MC 0003 + 15 MC 0003 + 16 MC 884b + 19 MR 884b 4c + 19 MC 884b +725c 257b db73 2478 0000 0000 0000 0000 88c0 f151 0000 0004 +00 02 0 0 0 0 20 + +ddcb50 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 12 + 11 MC 0003 + 14 MR 0003 50 + 14 MC 0003 + 15 MC 0003 + 16 MC db04 + 19 MR db04 00 + 19 MC db04 +355c 8e51 406c 2e3c 0000 0000 0000 0000 daf2 413c 0000 0004 +00 02 0 0 0 0 20 + +ddcb51 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 18 + 11 MC 0003 + 14 MR 0003 51 + 14 MC 0003 + 15 MC 0003 + 16 MC 84ca + 19 MR 84ca 1c + 19 MC 84ca +a610 ba85 c88c e86c 0000 0000 0000 0000 84b2 cd8e 0000 0004 +00 02 0 0 0 0 20 + +ddcb52 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 42 + 11 MC 0003 + 14 MR 0003 52 + 14 MC 0003 + 15 MC 0003 + 16 MC 6198 + 19 MR 6198 53 + 19 MC 6198 +cb74 1220 1103 a868 0000 0000 0000 0000 6156 cfac 0000 0004 +00 02 0 0 0 0 20 + +ddcb53 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 e3 + 11 MC 0003 + 14 MR 0003 53 + 14 MC 0003 + 15 MC 0003 + 16 MC ae28 + 19 MR ae28 d6 + 19 MC ae28 +5e39 569e f76d 88c6 0000 0000 0000 0000 ae45 623e 0000 0004 +00 02 0 0 0 0 20 + +ddcb54 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 7d + 11 MC 0003 + 14 MR 0003 54 + 14 MC 0003 + 15 MC 0003 + 16 MC f052 + 19 MR f052 5d + 19 MC f052 +c331 76fe f1ff 416e 0000 0000 0000 0000 efd5 7576 0000 0004 +00 02 0 0 0 0 20 + +ddcb55 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 88 + 11 MC 0003 + 14 MR 0003 55 + 14 MC 0003 + 15 MC 0003 + 16 MC f2da + 19 MR f2da 03 + 19 MC f2da +7074 dcd0 8345 d498 0000 0000 0000 0000 f352 a88b 0000 0004 +00 02 0 0 0 0 20 + +ddcb56 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 57 + 11 MC 0003 + 14 MR 0003 56 + 14 MC 0003 + 15 MC 0003 + 16 MC 6d87 + 19 MR 6d87 61 + 19 MC 6d87 +917c 2cb8 571c f4fd 0000 0000 0000 0000 6d30 aec2 0000 0004 +00 02 0 0 0 0 20 + +ddcb57 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 06 + 11 MC 0003 + 14 MR 0003 57 + 14 MC 0003 + 15 MC 0003 + 16 MC 5839 + 19 MR 5839 1d + 19 MC 5839 +3c19 541a 027c c0b4 0000 0000 0000 0000 5833 160a 0000 0004 +00 02 0 0 0 0 20 + +ddcb58 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 83 + 11 MC 0003 + 14 MR 0003 58 + 14 MC 0003 + 15 MC 0003 + 16 MC 69c9 + 19 MR 69c9 0f + 19 MC 69c9 +c638 e1a8 9d6c bec3 0000 0000 0000 0000 6a46 b66c 0000 0004 +00 02 0 0 0 0 20 + +ddcb59 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 db + 11 MC 0003 + 14 MR 0003 59 + 14 MC 0003 + 15 MC 0003 + 16 MC 9170 + 19 MR 9170 10 + 19 MC 9170 +ad55 9bda b7ee 63c4 0000 0000 0000 0000 9195 9703 0000 0004 +00 02 0 0 0 0 20 + +ddcb5a + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 d1 + 11 MC 0003 + 14 MR 0003 5a + 14 MC 0003 + 15 MC 0003 + 16 MC 0db1 + 19 MR 0db1 be + 19 MC 0db1 +8018 5105 36b0 a37c 0000 0000 0000 0000 0de0 ce7f 0000 0004 +00 02 0 0 0 0 20 + +ddcb5b + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 d5 + 11 MC 0003 + 14 MR 0003 5b + 14 MC 0003 + 15 MC 0003 + 16 MC 6282 + 19 MR 6282 67 + 19 MC 6282 +2a75 083d 1409 06ba 0000 0000 0000 0000 62ad baff 0000 0004 +00 02 0 0 0 0 20 + +ddcb5c + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 5c + 11 MC 0003 + 14 MR 0003 5c + 14 MC 0003 + 15 MC 0003 + 16 MC 9e22 + 19 MR 9e22 c9 + 19 MC 9e22 +4c18 e502 d23c 6da8 0000 0000 0000 0000 9dc6 6f04 0000 0004 +00 02 0 0 0 0 20 + +ddcb5d + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 ff + 11 MC 0003 + 14 MR 0003 5d + 14 MC 0003 + 15 MC 0003 + 16 MC d192 + 19 MR d192 0d + 19 MC d192 +7e11 511b 3cfa 60d3 0000 0000 0000 0000 d193 3fe9 0000 0004 +00 02 0 0 0 0 20 + +ddcb5e + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 62 + 11 MC 0003 + 14 MR 0003 5e + 14 MC 0003 + 15 MC 0003 + 16 MC ed76 + 19 MR ed76 a7 + 19 MC ed76 +ce7d 0235 e2b1 7a4c 0000 0000 0000 0000 ed14 d0d6 0000 0004 +00 02 0 0 0 0 20 + +ddcb5f + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 3f + 11 MC 0003 + 14 MR 0003 5f + 14 MC 0003 + 15 MC 0003 + 16 MC df85 + 19 MR df85 9e + 19 MC df85 +0919 20a8 52e1 d783 0000 0000 0000 0000 df46 da41 0000 0004 +00 02 0 0 0 0 20 + +ddcb60 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 65 + 11 MC 0003 + 14 MR 0003 60 + 14 MC 0003 + 15 MC 0003 + 16 MC 3307 + 19 MR 3307 2e + 19 MC 3307 +4274 0713 dc90 2c89 0000 0000 0000 0000 32a2 c4d4 0000 0004 +00 02 0 0 0 0 20 + +ddcb61 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 a8 + 11 MC 0003 + 14 MR 0003 61 + 14 MC 0003 + 15 MC 0003 + 16 MC 3673 + 19 MR 3673 bc + 19 MC 3673 +1b30 1403 8b9b c221 0000 0000 0000 0000 36cb 93d4 0000 0004 +00 02 0 0 0 0 20 + +ddcb62 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 d9 + 11 MC 0003 + 14 MR 0003 62 + 14 MC 0003 + 15 MC 0003 + 16 MC 0aa5 + 19 MR 0aa5 ea + 19 MC 0aa5 +365d 4055 650a 3f98 0000 0000 0000 0000 0acc a102 0000 0004 +00 02 0 0 0 0 20 + +ddcb63 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 79 + 11 MC 0003 + 14 MR 0003 63 + 14 MC 0003 + 15 MC 0003 + 16 MC e6f2 + 19 MR e6f2 83 + 19 MC e6f2 +6574 08df 3ceb 6d24 0000 0000 0000 0000 e679 f98e 0000 0004 +00 02 0 0 0 0 20 + +ddcb64 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 71 + 11 MC 0003 + 14 MR 0003 64 + 14 MC 0003 + 15 MC 0003 + 16 MC ed6c + 19 MR ed6c 52 + 19 MC ed6c +3c38 e2a7 6da9 c346 0000 0000 0000 0000 ecfb 85b6 0000 0004 +00 02 0 0 0 0 20 + +ddcb65 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 67 + 11 MC 0003 + 14 MR 0003 65 + 14 MC 0003 + 15 MC 0003 + 16 MC 77e0 + 19 MR 77e0 f5 + 19 MC 77e0 +0931 0abb 3afa 91f5 0000 0000 0000 0000 7779 aef5 0000 0004 +00 02 0 0 0 0 20 + +ddcb66 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 63 + 11 MC 0003 + 14 MR 0003 66 + 14 MC 0003 + 15 MC 0003 + 16 MC ee78 + 19 MR ee78 70 + 19 MC ee78 +cc38 d301 9b66 40fb 0000 0000 0000 0000 ee15 0d23 0000 0004 +00 02 0 0 0 0 20 + +ddcb67 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 d7 + 11 MC 0003 + 14 MR 0003 67 + 14 MC 0003 + 15 MC 0003 + 16 MC ee78 + 19 MR ee78 06 + 19 MC ee78 +ec7d 342f be3e a79b 0000 0000 0000 0000 eea1 dfae 0000 0004 +00 02 0 0 0 0 20 + +ddcb68 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 b1 + 11 MC 0003 + 14 MR 0003 68 + 14 MC 0003 + 15 MC 0003 + 16 MC e919 + 19 MR e919 20 + 19 MC e919 +8e39 0063 49ad b7d4 0000 0000 0000 0000 e968 864e 0000 0004 +00 02 0 0 0 0 20 + +ddcb69 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 e8 + 11 MC 0003 + 14 MR 0003 69 + 14 MC 0003 + 15 MC 0003 + 16 MC 33dc + 19 MR 33dc 4f + 19 MC 33dc +9f75 42b5 74fe 1116 0000 0000 0000 0000 33f4 46c2 0000 0004 +00 02 0 0 0 0 20 + +ddcb6a + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 33 + 11 MC 0003 + 14 MR 0003 6a + 14 MC 0003 + 15 MC 0003 + 16 MC 86e9 + 19 MR 86e9 1c + 19 MC 86e9 +4654 0bd8 0018 1ac3 0000 0000 0000 0000 86b6 1dd2 0000 0004 +00 02 0 0 0 0 20 + +ddcb6b + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 11 + 11 MC 0003 + 14 MR 0003 6b + 14 MC 0003 + 15 MC 0003 + 16 MC 188c + 19 MR 188c bc + 19 MC 188c +7a18 f79f a78e f867 0000 0000 0000 0000 187b 0023 0000 0004 +00 02 0 0 0 0 20 + +ddcb6c + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 5e + 11 MC 0003 + 14 MR 0003 6c + 14 MC 0003 + 15 MC 0003 + 16 MC 3e7f + 19 MR 3e7f 2a + 19 MC 3e7f +dd39 1f1e c1e1 0ea7 0000 0000 0000 0000 3e21 f544 0000 0004 +00 02 0 0 0 0 20 + +ddcb6d + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 dd + 11 MC 0003 + 14 MR 0003 6d + 14 MC 0003 + 15 MC 0003 + 16 MC e2f1 + 19 MR e2f1 41 + 19 MC e2f1 +de75 9ae4 fd24 b3c2 0000 0000 0000 0000 e314 ad84 0000 0004 +00 02 0 0 0 0 20 + +ddcb6e + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 b2 + 11 MC 0003 + 14 MR 0003 6e + 14 MC 0003 + 15 MC 0003 + 16 MC 3038 + 19 MR 3038 3f + 19 MC 3038 +ca31 9f16 c700 1dce 0000 0000 0000 0000 3086 d68e 0000 0004 +00 02 0 0 0 0 20 + +ddcb6f + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 be + 11 MC 0003 + 14 MR 0003 6f + 14 MC 0003 + 15 MC 0003 + 16 MC fbd9 + 19 MR fbd9 56 + 19 MC fbd9 +d47d 0b39 3e2e c06e 0000 0000 0000 0000 fc1b d592 0000 0004 +00 02 0 0 0 0 20 + +ddcb70 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 b5 + 11 MC 0003 + 14 MR 0003 70 + 14 MC 0003 + 15 MC 0003 + 16 MC 03e1 + 19 MR 03e1 74 + 19 MC 03e1 +f911 09b8 43f8 2a76 0000 0000 0000 0000 042c 7f2d 0000 0004 +00 02 0 0 0 0 20 + +ddcb71 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 f7 + 11 MC 0003 + 14 MR 0003 71 + 14 MC 0003 + 15 MC 0003 + 16 MC 1b2a + 19 MR 1b2a 08 + 19 MC 1b2a +ac5c 36ad 34cb f950 0000 0000 0000 0000 1b33 aa23 0000 0004 +00 02 0 0 0 0 20 + +ddcb72 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 22 + 11 MC 0003 + 14 MR 0003 72 + 14 MC 0003 + 15 MC 0003 + 16 MC ce47 + 19 MR ce47 08 + 19 MC ce47 +b15d f1e4 9984 c7fb 0000 0000 0000 0000 ce25 c5b6 0000 0004 +00 02 0 0 0 0 20 + +ddcb73 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 12 + 11 MC 0003 + 14 MR 0003 73 + 14 MC 0003 + 15 MC 0003 + 16 MC 6454 + 19 MR 6454 3c + 19 MC 6454 +2174 592d f406 e21f 0000 0000 0000 0000 6442 cf58 0000 0004 +00 02 0 0 0 0 20 + +ddcb74 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 08 + 11 MC 0003 + 14 MR 0003 74 + 14 MC 0003 + 15 MC 0003 + 16 MC 7dc9 + 19 MR 7dc9 be + 19 MC 7dc9 +667c 64c1 dbe5 eb48 0000 0000 0000 0000 7dc1 c1fb 0000 0004 +00 02 0 0 0 0 20 + +ddcb75 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 5b + 11 MC 0003 + 14 MR 0003 75 + 14 MC 0003 + 15 MC 0003 + 16 MC 6108 + 19 MR 6108 cf + 19 MC 6108 +8730 580e 00dd f4c6 0000 0000 0000 0000 60ad 9b60 0000 0004 +00 02 0 0 0 0 20 + +ddcb76 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 73 + 11 MC 0003 + 14 MR 0003 76 + 14 MC 0003 + 15 MC 0003 + 16 MC 7efd + 19 MR 7efd 1e + 19 MC 7efd +657c 5cc2 3058 e258 0000 0000 0000 0000 7e8a b296 0000 0004 +00 02 0 0 0 0 20 + +ddcb77 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 7f + 11 MC 0003 + 14 MR 0003 77 + 14 MC 0003 + 15 MC 0003 + 16 MC 05b6 + 19 MR 05b6 97 + 19 MC 05b6 +e354 47a0 c510 cf0a 0000 0000 0000 0000 0537 b242 0000 0004 +00 02 0 0 0 0 20 + +ddcb78 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 70 + 11 MC 0003 + 14 MR 0003 78 + 14 MC 0003 + 15 MC 0003 + 16 MC 9407 + 19 MR 9407 76 + 19 MC 9407 +4255 24f6 1632 8a4f 0000 0000 0000 0000 9397 846c 0000 0004 +00 02 0 0 0 0 20 + +ddcb79 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 c3 + 11 MC 0003 + 14 MR 0003 79 + 14 MC 0003 + 15 MC 0003 + 16 MC 41a1 + 19 MR 41a1 b8 + 19 MC 41a1 +e690 eeaa 41f7 5da2 0000 0000 0000 0000 41de 4189 0000 0004 +00 02 0 0 0 0 20 + +ddcb7a + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 3f + 11 MC 0003 + 14 MR 0003 7a + 14 MC 0003 + 15 MC 0003 + 16 MC 0ae8 + 19 MR 0ae8 eb + 19 MC 0ae8 +ca99 56aa 6a06 6cd7 0000 0000 0000 0000 0aa9 9812 0000 0004 +00 02 0 0 0 0 20 + +ddcb7b + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 88 + 11 MC 0003 + 14 MR 0003 7b + 14 MC 0003 + 15 MC 0003 + 16 MC 4fc8 + 19 MR 4fc8 22 + 19 MC 4fc8 +ae5d 0227 721f 52a1 0000 0000 0000 0000 5040 b98a 0000 0004 +00 02 0 0 0 0 20 + +ddcb7c + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 9e + 11 MC 0003 + 14 MR 0003 7c + 14 MC 0003 + 15 MC 0003 + 16 MC 6821 + 19 MR 6821 3a + 19 MC 6821 +8a7c a2f1 239a d5cc 0000 0000 0000 0000 6883 b050 0000 0004 +00 02 0 0 0 0 20 + +ddcb7d + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 29 + 11 MC 0003 + 14 MR 0003 7d + 14 MC 0003 + 15 MC 0003 + 16 MC b04a + 19 MR b04a 2c + 19 MC b04a +c375 cf33 1010 98e6 0000 0000 0000 0000 b021 0356 0000 0004 +00 02 0 0 0 0 20 + +ddcb7e + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 4f + 11 MC 0003 + 14 MR 0003 7e + 14 MC 0003 + 15 MC 0003 + 16 MC cf3f + 19 MR cf3f f2 + 19 MC cf3f +9a99 2f6e 0d0d a83f 0000 0000 0000 0000 cef0 8c15 0000 0004 +00 02 0 0 0 0 20 + +ddcb7f + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 75 + 11 MC 0003 + 14 MR 0003 7f + 14 MC 0003 + 15 MC 0003 + 16 MC 5f37 + 19 MR 5f37 a2 + 19 MC 5f37 +5399 1f4e 4837 21b6 0000 0000 0000 0000 5ec2 80c3 0000 0004 +00 02 0 0 0 0 20 + +ddcb80 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 70 + 11 MC 0003 + 14 MR 0003 80 + 14 MC 0003 + 15 MC 0003 + 16 MC ad35 + 19 MR ad35 30 + 19 MC ad35 + 20 MC ad35 + 23 MW ad35 30 +6319 30f9 c84b bcf2 0000 0000 0000 0000 acc5 a4ed 0000 0004 +00 02 0 0 0 0 23 + +ddcb81 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 2a + 11 MC 0003 + 14 MR 0003 81 + 14 MC 0003 + 15 MC 0003 + 16 MC bdfd + 19 MR bdfd 24 + 19 MC bdfd + 20 MC bdfd + 23 MW bdfd 24 +fae1 5a24 9502 dc9b 0000 0000 0000 0000 bdd3 1a52 0000 0004 +00 02 0 0 0 0 23 + +ddcb82 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 9a + 11 MC 0003 + 14 MR 0003 82 + 14 MC 0003 + 15 MC 0003 + 16 MC 5e0e + 19 MR 5e0e 51 + 19 MC 5e0e + 20 MC 5e0e + 23 MW 5e0e 50 +daf6 3260 50ac 1d47 0000 0000 0000 0000 5e74 35e2 0000 0004 +00 02 0 0 0 0 23 +5e0e 50 -1 + +ddcb83 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 0e + 11 MC 0003 + 14 MR 0003 83 + 14 MC 0003 + 15 MC 0003 + 16 MC 344f + 19 MR 344f 01 + 19 MC 344f + 20 MC 344f + 23 MW 344f 00 +8e7c 5586 8c00 fb00 0000 0000 0000 0000 3441 d365 0000 0004 +00 02 0 0 0 0 23 +344f 00 -1 + +ddcb84 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 47 + 11 MC 0003 + 14 MR 0003 84 + 14 MC 0003 + 15 MC 0003 + 16 MC 016a + 19 MR 016a b0 + 19 MC 016a + 20 MC 016a + 23 MW 016a b0 +c1b3 4874 c535 b01c 0000 0000 0000 0000 0123 dd28 0000 0004 +00 02 0 0 0 0 23 + +ddcb85 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 6c + 11 MC 0003 + 14 MR 0003 85 + 14 MC 0003 + 15 MC 0003 + 16 MC 0c0f + 19 MR 0c0f de + 19 MC 0c0f + 20 MC 0c0f + 23 MW 0c0f de +0928 b0db 4e07 a7de 0000 0000 0000 0000 0ba3 c61c 0000 0004 +00 02 0 0 0 0 23 + +ddcb86 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 5c + 11 MC 0003 + 14 MR 0003 86 + 14 MC 0003 + 15 MC 0003 + 16 MC 1121 + 19 MR 1121 7c + 19 MC 1121 + 20 MC 1121 + 23 MW 1121 7c +4515 de09 3ce7 1fde 0000 0000 0000 0000 10c5 33ed 0000 0004 +00 02 0 0 0 0 23 + +ddcb87 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 02 + 11 MC 0003 + 14 MR 0003 87 + 14 MC 0003 + 15 MC 0003 + 16 MC ede8 + 19 MR ede8 c4 + 19 MC ede8 + 20 MC ede8 + 23 MW ede8 c4 +c45e a733 d1dd 1603 0000 0000 0000 0000 ede6 e5fb 0000 0004 +00 02 0 0 0 0 23 + +ddcb88 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 9b + 11 MC 0003 + 14 MR 0003 88 + 14 MC 0003 + 15 MC 0003 + 16 MC 8729 + 19 MR 8729 7c + 19 MC 8729 + 20 MC 8729 + 23 MW 8729 7c +e4fa 7c25 c266 1b13 0000 0000 0000 0000 878e e695 0000 0004 +00 02 0 0 0 0 23 + +ddcb89 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 2b + 11 MC 0003 + 14 MR 0003 89 + 14 MC 0003 + 15 MC 0003 + 16 MC 8f69 + 19 MR 8f69 cf + 19 MC 8f69 + 20 MC 8f69 + 23 MW 8f69 cd +933b 6fcd a3a8 2634 0000 0000 0000 0000 8f3e 7727 0000 0004 +00 02 0 0 0 0 23 +8f69 cd -1 + +ddcb8a + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 0a + 11 MC 0003 + 14 MR 0003 8a + 14 MC 0003 + 15 MC 0003 + 16 MC 39b3 + 19 MR 39b3 ea + 19 MC 39b3 + 20 MC 39b3 + 23 MW 39b3 e8 +6759 ad1e e871 ce52 0000 0000 0000 0000 39a9 38a0 0000 0004 +00 02 0 0 0 0 23 +39b3 e8 -1 + +ddcb8b + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 62 + 11 MC 0003 + 14 MR 0003 8b + 14 MC 0003 + 15 MC 0003 + 16 MC 16e7 + 19 MR 16e7 8a + 19 MC 16e7 + 20 MC 16e7 + 23 MW 16e7 88 +3da2 1833 0388 07e9 0000 0000 0000 0000 1685 d790 0000 0004 +00 02 0 0 0 0 23 +16e7 88 -1 + +ddcb8c + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 e8 + 11 MC 0003 + 14 MR 0003 8c + 14 MC 0003 + 15 MC 0003 + 16 MC c68a + 19 MR c68a 3e + 19 MC c68a + 20 MC c68a + 23 MW c68a 3c +a625 ed31 3946 3cdc 0000 0000 0000 0000 c6a2 7ad6 0000 0004 +00 02 0 0 0 0 23 +c68a 3c -1 + +ddcb8d + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 cc + 11 MC 0003 + 14 MR 0003 8d + 14 MC 0003 + 15 MC 0003 + 16 MC 22b2 + 19 MR 22b2 9e + 19 MC 22b2 + 20 MC 22b2 + 23 MW 22b2 9c +016b 5802 a683 259c 0000 0000 0000 0000 22e6 33bb 0000 0004 +00 02 0 0 0 0 23 +22b2 9c -1 + +ddcb8e + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 0a + 11 MC 0003 + 14 MR 0003 8e + 14 MC 0003 + 15 MC 0003 + 16 MC d2f2 + 19 MR d2f2 03 + 19 MC d2f2 + 20 MC d2f2 + 23 MW d2f2 01 +f4f4 f3a8 2843 82cb 0000 0000 0000 0000 d2e8 d367 0000 0004 +00 02 0 0 0 0 23 +d2f2 01 -1 + +ddcb8f + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 7b + 11 MC 0003 + 14 MR 0003 8f + 14 MC 0003 + 15 MC 0003 + 16 MC 4079 + 19 MR 4079 96 + 19 MC 4079 + 20 MC 4079 + 23 MW 4079 94 +941a 8ae2 269b cb2f 0000 0000 0000 0000 3ffe 75dd 0000 0004 +00 02 0 0 0 0 23 +4079 94 -1 + +ddcb90 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 04 + 11 MC 0003 + 14 MR 0003 90 + 14 MC 0003 + 15 MC 0003 + 16 MC b505 + 19 MR b505 46 + 19 MC b505 + 20 MC b505 + 23 MW b505 42 +c167 42fc 42e7 9e14 0000 0000 0000 0000 b501 84fe 0000 0004 +00 02 0 0 0 0 23 +b505 42 -1 + +ddcb91 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 11 + 11 MC 0003 + 14 MR 0003 91 + 14 MC 0003 + 15 MC 0003 + 16 MC c998 + 19 MR c998 83 + 19 MC c998 + 20 MC c998 + 23 MW c998 83 +e85e cc83 d249 ea3b 0000 0000 0000 0000 c987 c4d1 0000 0004 +00 02 0 0 0 0 23 + +ddcb92 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 4b + 11 MC 0003 + 14 MR 0003 92 + 14 MC 0003 + 15 MC 0003 + 16 MC 91b1 + 19 MR 91b1 aa + 19 MC 91b1 + 20 MC 91b1 + 23 MW 91b1 aa +28a3 85ff aa28 47a5 0000 0000 0000 0000 9166 e755 0000 0004 +00 02 0 0 0 0 23 + +ddcb93 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 03 + 11 MC 0003 + 14 MR 0003 93 + 14 MC 0003 + 15 MC 0003 + 16 MC ac31 + 19 MR ac31 93 + 19 MC ac31 + 20 MC ac31 + 23 MW ac31 93 +58ac c88b 6d93 dbdd 0000 0000 0000 0000 ac2e 5199 0000 0004 +00 02 0 0 0 0 23 + +ddcb94 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 11 + 11 MC 0003 + 14 MR 0003 94 + 14 MC 0003 + 15 MC 0003 + 16 MC 5e95 + 19 MR 5e95 b7 + 19 MC 5e95 + 20 MC 5e95 + 23 MW 5e95 b3 +e38d 35a5 8d07 b3b8 0000 0000 0000 0000 5e84 5f24 0000 0004 +00 02 0 0 0 0 23 +5e95 b3 -1 + +ddcb95 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 e6 + 11 MC 0003 + 14 MR 0003 95 + 14 MC 0003 + 15 MC 0003 + 16 MC fb5a + 19 MR fb5a c6 + 19 MC fb5a + 20 MC fb5a + 23 MW fb5a c2 +41f4 9536 dd7d 49c2 0000 0000 0000 0000 fb74 f17d 0000 0004 +00 02 0 0 0 0 23 +fb5a c2 -1 + +ddcb96 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 d5 + 11 MC 0003 + 14 MR 0003 96 + 14 MC 0003 + 15 MC 0003 + 16 MC 7a56 + 19 MR 7a56 ae + 19 MC 7a56 + 20 MC 7a56 + 23 MW 7a56 aa +4a9e 42ef 32d7 18cf 0000 0000 0000 0000 7a81 bb1d 0000 0004 +00 02 0 0 0 0 23 +7a56 aa -1 + +ddcb97 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 92 + 11 MC 0003 + 14 MR 0003 97 + 14 MC 0003 + 15 MC 0003 + 16 MC 840e + 19 MR 840e 23 + 19 MC 840e + 20 MC 840e + 23 MW 840e 23 +23d3 89f0 73c7 0b1a 0000 0000 0000 0000 847c 4b86 0000 0004 +00 02 0 0 0 0 23 + +ddcb98 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 dc + 11 MC 0003 + 14 MR 0003 98 + 14 MC 0003 + 15 MC 0003 + 16 MC 03fa + 19 MR 03fa 58 + 19 MC 03fa + 20 MC 03fa + 23 MW 03fa 50 +6e22 50fd 9fdc 3aed 0000 0000 0000 0000 041e fd79 0000 0004 +00 02 0 0 0 0 23 +03fa 50 -1 + +ddcb99 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 6d + 11 MC 0003 + 14 MR 0003 99 + 14 MC 0003 + 15 MC 0003 + 16 MC 0a6a + 19 MR 0a6a ce + 19 MC 0a6a + 20 MC 0a6a + 23 MW 0a6a c6 +a132 38c6 1515 2830 0000 0000 0000 0000 09fd 0473 0000 0004 +00 02 0 0 0 0 23 +0a6a c6 -1 + +ddcb9a + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 8a + 11 MC 0003 + 14 MR 0003 9a + 14 MC 0003 + 15 MC 0003 + 16 MC 6832 + 19 MR 6832 a8 + 19 MC 6832 + 20 MC 6832 + 23 MW 6832 a0 +783d 8f69 a0c4 e38f 0000 0000 0000 0000 68a8 391d 0000 0004 +00 02 0 0 0 0 23 +6832 a0 -1 + +ddcb9b + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 97 + 11 MC 0003 + 14 MR 0003 9b + 14 MC 0003 + 15 MC 0003 + 16 MC 0686 + 19 MR 0686 62 + 19 MC 0686 + 20 MC 0686 + 23 MW 0686 62 +955a c7b0 5362 aec6 0000 0000 0000 0000 06ef e991 0000 0004 +00 02 0 0 0 0 23 + +ddcb9c + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 54 + 11 MC 0003 + 14 MR 0003 9c + 14 MC 0003 + 15 MC 0003 + 16 MC 84cf + 19 MR 84cf 1b + 19 MC 84cf + 20 MC 84cf + 23 MW 84cf 13 +af69 f896 e791 13ee 0000 0000 0000 0000 847b 59ed 0000 0004 +00 02 0 0 0 0 23 +84cf 13 -1 + +ddcb9d + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 0f + 11 MC 0003 + 14 MR 0003 9d + 14 MC 0003 + 15 MC 0003 + 16 MC e92f + 19 MR e92f e8 + 19 MC e92f + 20 MC e92f + 23 MW e92f e0 +7d1e 5009 1248 38e0 0000 0000 0000 0000 e920 4fe6 0000 0004 +00 02 0 0 0 0 23 +e92f e0 -1 + +ddcb9e + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 b5 + 11 MC 0003 + 14 MR 0003 9e + 14 MC 0003 + 15 MC 0003 + 16 MC d870 + 19 MR d870 ee + 19 MC d870 + 20 MC d870 + 23 MW d870 e6 +c207 b47c 0e16 e17f 0000 0000 0000 0000 d8bb bb99 0000 0004 +00 02 0 0 0 0 23 +d870 e6 -1 + +ddcb9f + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 b8 + 11 MC 0003 + 14 MR 0003 9f + 14 MC 0003 + 15 MC 0003 + 16 MC e5f4 + 19 MR e5f4 a6 + 19 MC e5f4 + 20 MC e5f4 + 23 MW e5f4 a6 +a66b 7537 46bb 13c0 0000 0000 0000 0000 e63c 1d98 0000 0004 +00 02 0 0 0 0 23 + +ddcba0 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 02 + 11 MC 0003 + 14 MR 0003 a0 + 14 MC 0003 + 15 MC 0003 + 16 MC a2f2 + 19 MR a2f2 39 + 19 MC a2f2 + 20 MC a2f2 + 23 MW a2f2 29 +0bbe 2900 8609 5352 0000 0000 0000 0000 a2f0 da02 0000 0004 +00 02 0 0 0 0 23 +a2f2 29 -1 + +ddcba1 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 f5 + 11 MC 0003 + 14 MR 0003 a1 + 14 MC 0003 + 15 MC 0003 + 16 MC 45b0 + 19 MR 45b0 d2 + 19 MC 45b0 + 20 MC 45b0 + 23 MW 45b0 c2 +ad0a aac2 0f2d 832c 0000 0000 0000 0000 45bb a22d 0000 0004 +00 02 0 0 0 0 23 +45b0 c2 -1 + +ddcba2 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 0e + 11 MC 0003 + 14 MR 0003 a2 + 14 MC 0003 + 15 MC 0003 + 16 MC 6299 + 19 MR 6299 a1 + 19 MC 6299 + 20 MC 6299 + 23 MW 6299 a1 +f586 4a7d a1ab 26fc 0000 0000 0000 0000 628b 6c4d 0000 0004 +00 02 0 0 0 0 23 + +ddcba3 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 2e + 11 MC 0003 + 14 MR 0003 a3 + 14 MC 0003 + 15 MC 0003 + 16 MC 043b + 19 MR 043b 04 + 19 MC 043b + 20 MC 043b + 23 MW 043b 04 +de5b a284 d404 c92d 0000 0000 0000 0000 040d 12c0 0000 0004 +00 02 0 0 0 0 23 + +ddcba4 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 03 + 11 MC 0003 + 14 MR 0003 a4 + 14 MC 0003 + 15 MC 0003 + 16 MC fe50 + 19 MR fe50 27 + 19 MC fe50 + 20 MC fe50 + 23 MW fe50 27 +dfaa ae40 02c3 27b5 0000 0000 0000 0000 fe4d faa3 0000 0004 +00 02 0 0 0 0 23 + +ddcba5 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 f6 + 11 MC 0003 + 14 MR 0003 a5 + 14 MC 0003 + 15 MC 0003 + 16 MC 7b1d + 19 MR 7b1d 6b + 19 MC 7b1d + 20 MC 7b1d + 23 MW 7b1d 6b +1a15 04cb 4352 ee6b 0000 0000 0000 0000 7b27 38a0 0000 0004 +00 02 0 0 0 0 23 + +ddcba6 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 27 + 11 MC 0003 + 14 MR 0003 a6 + 14 MC 0003 + 15 MC 0003 + 16 MC ae42 + 19 MR ae42 8f + 19 MC ae42 + 20 MC ae42 + 23 MW ae42 8f +5e46 b98a b822 04ca 0000 0000 0000 0000 ae1b 8730 0000 0004 +00 02 0 0 0 0 23 + +ddcba7 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 f2 + 11 MC 0003 + 14 MR 0003 a7 + 14 MC 0003 + 15 MC 0003 + 16 MC 5eba + 19 MR 5eba 87 + 19 MC 5eba + 20 MC 5eba + 23 MW 5eba 87 +87ed 7b11 8cb0 eb3d 0000 0000 0000 0000 5ec8 97cf 0000 0004 +00 02 0 0 0 0 23 + +ddcba8 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 d0 + 11 MC 0003 + 14 MR 0003 a8 + 14 MC 0003 + 15 MC 0003 + 16 MC e81f + 19 MR e81f 7e + 19 MC e81f + 20 MC e81f + 23 MW e81f 5e +5173 5e89 070d e8f9 0000 0000 0000 0000 e84f 55f0 0000 0004 +00 02 0 0 0 0 23 +e81f 5e -1 + +ddcba9 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 9d + 11 MC 0003 + 14 MR 0003 a9 + 14 MC 0003 + 15 MC 0003 + 16 MC 0f7a + 19 MR 0f7a 1f + 19 MC 0f7a + 20 MC 0f7a + 23 MW 0f7a 1f +4fb8 cc1f 3e9a 2673 0000 0000 0000 0000 0fdd aef2 0000 0004 +00 02 0 0 0 0 23 + +ddcbaa + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 9f + 11 MC 0003 + 14 MR 0003 aa + 14 MC 0003 + 15 MC 0003 + 16 MC 66e6 + 19 MR 66e6 50 + 19 MC 66e6 + 20 MC 66e6 + 23 MW 66e6 50 +fe76 6f96 50eb 0b21 0000 0000 0000 0000 6747 07ba 0000 0004 +00 02 0 0 0 0 23 + +ddcbab + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 16 + 11 MC 0003 + 14 MR 0003 ab + 14 MC 0003 + 15 MC 0003 + 16 MC 6698 + 19 MR 6698 eb + 19 MC 6698 + 20 MC 6698 + 23 MW 6698 cb +2eb4 36f1 8fcb 36af 0000 0000 0000 0000 6682 9d60 0000 0004 +00 02 0 0 0 0 23 +6698 cb -1 + +ddcbac + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 c4 + 11 MC 0003 + 14 MR 0003 ac + 14 MC 0003 + 15 MC 0003 + 16 MC a4a1 + 19 MR a4a1 44 + 19 MC a4a1 + 20 MC a4a1 + 23 MW a4a1 44 +af32 8ca8 6558 44d9 0000 0000 0000 0000 a4dd cd1f 0000 0004 +00 02 0 0 0 0 23 + +ddcbad + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 49 + 11 MC 0003 + 14 MR 0003 ad + 14 MC 0003 + 15 MC 0003 + 16 MC ef3e + 19 MR ef3e 76 + 19 MC ef3e + 20 MC ef3e + 23 MW ef3e 56 +fcc9 69a7 0eed ea56 0000 0000 0000 0000 eef5 3ed2 0000 0004 +00 02 0 0 0 0 23 +ef3e 56 -1 + +ddcbae + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 6e + 11 MC 0003 + 14 MR 0003 ae + 14 MC 0003 + 15 MC 0003 + 16 MC b374 + 19 MR b374 5a + 19 MC b374 + 20 MC b374 + 23 MW b374 5a +5f7a 9c20 f013 c4b7 0000 0000 0000 0000 b306 15dd 0000 0004 +00 02 0 0 0 0 23 + +ddcbaf + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 c2 + 11 MC 0003 + 14 MR 0003 af + 14 MC 0003 + 15 MC 0003 + 16 MC 35db + 19 MR 35db 15 + 19 MC 35db + 20 MC 35db + 23 MW 35db 15 +151e 2583 51fa d427 0000 0000 0000 0000 3619 9cef 0000 0004 +00 02 0 0 0 0 23 + +ddcbb0 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 47 + 11 MC 0003 + 14 MR 0003 b0 + 14 MC 0003 + 15 MC 0003 + 16 MC 591e + 19 MR 591e 1e + 19 MC 591e + 20 MC 591e + 23 MW 591e 1e +f43e 1e57 3bf3 0933 0000 0000 0000 0000 58d7 d89f 0000 0004 +00 02 0 0 0 0 23 + +ddcbb1 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 86 + 11 MC 0003 + 14 MR 0003 b1 + 14 MC 0003 + 15 MC 0003 + 16 MC ad58 + 19 MR ad58 46 + 19 MC ad58 + 20 MC ad58 + 23 MW ad58 06 +35ef bb06 db46 046c 0000 0000 0000 0000 add2 2b6e 0000 0004 +00 02 0 0 0 0 23 +ad58 06 -1 + +ddcbb2 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 70 + 11 MC 0003 + 14 MR 0003 b2 + 14 MC 0003 + 15 MC 0003 + 16 MC e840 + 19 MR e840 48 + 19 MC e840 + 20 MC e840 + 23 MW e840 08 +c26c fd32 087f ab6c 0000 0000 0000 0000 e7d0 501f 0000 0004 +00 02 0 0 0 0 23 +e840 08 -1 + +ddcbb3 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 de + 11 MC 0003 + 14 MR 0003 b3 + 14 MC 0003 + 15 MC 0003 + 16 MC 53d9 + 19 MR 53d9 06 + 19 MC 53d9 + 20 MC 53d9 + 23 MW 53d9 06 +36ca b434 e206 f805 0000 0000 0000 0000 53fb b191 0000 0004 +00 02 0 0 0 0 23 + +ddcbb4 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 6b + 11 MC 0003 + 14 MR 0003 b4 + 14 MC 0003 + 15 MC 0003 + 16 MC 50d1 + 19 MR 50d1 dd + 19 MC 50d1 + 20 MC 50d1 + 23 MW 50d1 9d +0a1c ab67 9ca1 9d98 0000 0000 0000 0000 5066 320c 0000 0004 +00 02 0 0 0 0 23 +50d1 9d -1 + +ddcbb5 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 ec + 11 MC 0003 + 14 MR 0003 b5 + 14 MC 0003 + 15 MC 0003 + 16 MC 145a + 19 MR 145a d6 + 19 MC 145a + 20 MC 145a + 23 MW 145a 96 +fd6d 51c9 16d6 1396 0000 0000 0000 0000 146e 2148 0000 0004 +00 02 0 0 0 0 23 +145a 96 -1 + +ddcbb6 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 15 + 11 MC 0003 + 14 MR 0003 b6 + 14 MC 0003 + 15 MC 0003 + 16 MC 8787 + 19 MR 8787 8c + 19 MC 8787 + 20 MC 8787 + 23 MW 8787 8c +1d0b 04e8 109e 1dde 0000 0000 0000 0000 8772 8661 0000 0004 +00 02 0 0 0 0 23 + +ddcbb7 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 d3 + 11 MC 0003 + 14 MR 0003 b7 + 14 MC 0003 + 15 MC 0003 + 16 MC 60f3 + 19 MR 60f3 54 + 19 MC 60f3 + 20 MC 60f3 + 23 MW 60f3 14 +1412 b87e 65ba a5c8 0000 0000 0000 0000 6120 789d 0000 0004 +00 02 0 0 0 0 23 +60f3 14 -1 + +ddcbb8 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 13 + 11 MC 0003 + 14 MR 0003 b8 + 14 MC 0003 + 15 MC 0003 + 16 MC 0c09 + 19 MR 0c09 87 + 19 MC 0c09 + 20 MC 0c09 + 23 MW 0c09 07 +8eae 0753 bfa1 5e7e 0000 0000 0000 0000 0bf6 1e35 0000 0004 +00 02 0 0 0 0 23 +0c09 07 -1 + +ddcbb9 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 56 + 11 MC 0003 + 14 MR 0003 b9 + 14 MC 0003 + 15 MC 0003 + 16 MC 05ba + 19 MR 05ba c8 + 19 MC 05ba + 20 MC 05ba + 23 MW 05ba 48 +5fb7 a848 e2d2 4117 0000 0000 0000 0000 0564 48a1 0000 0004 +00 02 0 0 0 0 23 +05ba 48 -1 + +ddcbba + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 86 + 11 MC 0003 + 14 MR 0003 ba + 14 MC 0003 + 15 MC 0003 + 16 MC f566 + 19 MR f566 30 + 19 MC f566 + 20 MC f566 + 23 MW f566 30 +7f6a 47fe 3045 75de 0000 0000 0000 0000 f5e0 032c 0000 0004 +00 02 0 0 0 0 23 + +ddcbbb + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 ef + 11 MC 0003 + 14 MR 0003 bb + 14 MC 0003 + 15 MC 0003 + 16 MC bd20 + 19 MR bd20 c9 + 19 MC bd20 + 20 MC bd20 + 23 MW bd20 49 +c7e3 e49e 9e49 07e7 0000 0000 0000 0000 bd31 9d5f 0000 0004 +00 02 0 0 0 0 23 +bd20 49 -1 + +ddcbbc + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 c0 + 11 MC 0003 + 14 MR 0003 bc + 14 MC 0003 + 15 MC 0003 + 16 MC 634e + 19 MR 634e 28 + 19 MC 634e + 20 MC 634e + 23 MW 634e 28 +b430 7ac7 b45f 28f7 0000 0000 0000 0000 638e 3173 0000 0004 +00 02 0 0 0 0 23 + +ddcbbd + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 b9 + 11 MC 0003 + 14 MR 0003 bd + 14 MC 0003 + 15 MC 0003 + 16 MC e37d + 19 MR e37d dd + 19 MC e37d + 20 MC e37d + 23 MW e37d 5d +4e71 6ffa a3f9 a25d 0000 0000 0000 0000 e3c4 02d4 0000 0004 +00 02 0 0 0 0 23 +e37d 5d -1 + +ddcbbe + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 4d + 11 MC 0003 + 14 MR 0003 be + 14 MC 0003 + 15 MC 0003 + 16 MC 5920 + 19 MR 5920 e8 + 19 MC 5920 + 20 MC 5920 + 23 MW 5920 68 +4af8 99a5 d6fd 7a16 0000 0000 0000 0000 58d3 ce54 0000 0004 +00 02 0 0 0 0 23 +5920 68 -1 + +ddcbbf + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 26 + 11 MC 0003 + 14 MR 0003 bf + 14 MC 0003 + 15 MC 0003 + 16 MC 175a + 19 MR 175a e2 + 19 MC 175a + 20 MC 175a + 23 MW 175a 62 +6231 0320 134b 77c3 0000 0000 0000 0000 1734 bc2d 0000 0004 +00 02 0 0 0 0 23 +175a 62 -1 + +ddcbc0 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 00 + 11 MC 0003 + 14 MR 0003 c0 + 14 MC 0003 + 15 MC 0003 + 16 MC 792e + 19 MR 792e 92 + 19 MC 792e + 20 MC 792e + 23 MW 792e 93 +75be 9393 093d 1128 0000 0000 0000 0000 792e 31f7 0000 0004 +00 02 0 0 0 0 23 +792e 93 -1 + +ddcbc1 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 f7 + 11 MC 0003 + 14 MR 0003 c1 + 14 MC 0003 + 15 MC 0003 + 16 MC dcc3 + 19 MR dcc3 1c + 19 MC dcc3 + 20 MC dcc3 + 23 MW dcc3 1d +313f 821d 5fcc 42c8 0000 0000 0000 0000 dccc d87b 0000 0004 +00 02 0 0 0 0 23 +dcc3 1d -1 + +ddcbc2 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 85 + 11 MC 0003 + 14 MR 0003 c2 + 14 MC 0003 + 15 MC 0003 + 16 MC 0c7f + 19 MR 0c7f 30 + 19 MC 0c7f + 20 MC 0c7f + 23 MW 0c7f 31 +a7e3 bf55 317b 0a9d 0000 0000 0000 0000 0cfa ea4e 0000 0004 +00 02 0 0 0 0 23 +0c7f 31 -1 + +ddcbc3 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 32 + 11 MC 0003 + 14 MR 0003 c3 + 14 MC 0003 + 15 MC 0003 + 16 MC 5458 + 19 MR 5458 dd + 19 MC 5458 + 20 MC 5458 + 23 MW 5458 dd +e076 2760 1edd 9968 0000 0000 0000 0000 5426 a1a0 0000 0004 +00 02 0 0 0 0 23 + +ddcbc4 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 ae + 11 MC 0003 + 14 MR 0003 c4 + 14 MC 0003 + 15 MC 0003 + 16 MC 7a7b + 19 MR 7a7b 27 + 19 MC 7a7b + 20 MC 7a7b + 23 MW 7a7b 27 +a679 cc05 3f4d 2799 0000 0000 0000 0000 7acd 48d7 0000 0004 +00 02 0 0 0 0 23 + +ddcbc5 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 9c + 11 MC 0003 + 14 MR 0003 c5 + 14 MC 0003 + 15 MC 0003 + 16 MC ba35 + 19 MR ba35 20 + 19 MC ba35 + 20 MC ba35 + 23 MW ba35 21 +ddfd 64d4 2671 3521 0000 0000 0000 0000 ba99 bd98 0000 0004 +00 02 0 0 0 0 23 +ba35 21 -1 + +ddcbc6 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 c4 + 11 MC 0003 + 14 MR 0003 c6 + 14 MC 0003 + 15 MC 0003 + 16 MC aaf0 + 19 MR aaf0 b8 + 19 MC aaf0 + 20 MC aaf0 + 23 MW aaf0 b9 +b324 dc0c 1e35 8cd5 0000 0000 0000 0000 ab2c b6f3 0000 0004 +00 02 0 0 0 0 23 +aaf0 b9 -1 + +ddcbc7 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 f8 + 11 MC 0003 + 14 MR 0003 c7 + 14 MC 0003 + 15 MC 0003 + 16 MC 64c3 + 19 MR 64c3 94 + 19 MC 64c3 + 20 MC 64c3 + 23 MW 64c3 95 +9554 9e56 6828 3189 0000 0000 0000 0000 64cb dfad 0000 0004 +00 02 0 0 0 0 23 +64c3 95 -1 + +ddcbc8 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 65 + 11 MC 0003 + 14 MR 0003 c8 + 14 MC 0003 + 15 MC 0003 + 16 MC 6edf + 19 MR 6edf 8f + 19 MC 6edf + 20 MC 6edf + 23 MW 6edf 8f +8aca 8f9e e652 248b 0000 0000 0000 0000 6e7a 189a 0000 0004 +00 02 0 0 0 0 23 + +ddcbc9 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 fb + 11 MC 0003 + 14 MR 0003 c9 + 14 MC 0003 + 15 MC 0003 + 16 MC b66b + 19 MR b66b b9 + 19 MC b66b + 20 MC b66b + 23 MW b66b bb +f15f 85bb a21f 8a59 0000 0000 0000 0000 b670 4f79 0000 0004 +00 02 0 0 0 0 23 +b66b bb -1 + +ddcbca + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 8a + 11 MC 0003 + 14 MR 0003 ca + 14 MC 0003 + 15 MC 0003 + 16 MC a811 + 19 MR a811 7e + 19 MC a811 + 20 MC a811 + 23 MW a811 7e +dfab a031 7e78 ad3a 0000 0000 0000 0000 a887 7334 0000 0004 +00 02 0 0 0 0 23 + +ddcbcb + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 a4 + 11 MC 0003 + 14 MR 0003 cb + 14 MC 0003 + 15 MC 0003 + 16 MC a3eb + 19 MR a3eb 73 + 19 MC a3eb + 20 MC a3eb + 23 MW a3eb 73 +ebd6 376e c373 b10c 0000 0000 0000 0000 a447 31d6 0000 0004 +00 02 0 0 0 0 23 + +ddcbcc + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 65 + 11 MC 0003 + 14 MR 0003 cc + 14 MC 0003 + 15 MC 0003 + 16 MC 1fbf + 19 MR 1fbf 72 + 19 MC 1fbf + 20 MC 1fbf + 23 MW 1fbf 72 +0212 dc46 8f41 724e 0000 0000 0000 0000 1f5a 07ca 0000 0004 +00 02 0 0 0 0 23 + +ddcbcd + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 e9 + 11 MC 0003 + 14 MR 0003 cd + 14 MC 0003 + 15 MC 0003 + 16 MC 535f + 19 MR 535f 1c + 19 MC 535f + 20 MC 535f + 23 MW 535f 1e +3344 d73c d6b8 921e 0000 0000 0000 0000 5376 6d3a 0000 0004 +00 02 0 0 0 0 23 +535f 1e -1 + +ddcbce + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 85 + 11 MC 0003 + 14 MR 0003 ce + 14 MC 0003 + 15 MC 0003 + 16 MC 0298 + 19 MR 0298 10 + 19 MC 0298 + 20 MC 0298 + 23 MW 0298 12 +9e47 fc93 9ffc aace 0000 0000 0000 0000 0313 7f66 0000 0004 +00 02 0 0 0 0 23 +0298 12 -1 + +ddcbcf + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 e2 + 11 MC 0003 + 14 MR 0003 cf + 14 MC 0003 + 15 MC 0003 + 16 MC c5b2 + 19 MR c5b2 b5 + 19 MC c5b2 + 20 MC c5b2 + 23 MW c5b2 b7 +b7e8 d379 87d5 10b0 0000 0000 0000 0000 c5d0 4f7f 0000 0004 +00 02 0 0 0 0 23 +c5b2 b7 -1 + +ddcbd0 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 7f + 11 MC 0003 + 14 MR 0003 d0 + 14 MC 0003 + 15 MC 0003 + 16 MC adc2 + 19 MR adc2 51 + 19 MC adc2 + 20 MC adc2 + 23 MW adc2 55 +3278 5514 d25d 1cf8 0000 0000 0000 0000 ad43 99fc 0000 0004 +00 02 0 0 0 0 23 +adc2 55 -1 + +ddcbd1 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 a6 + 11 MC 0003 + 14 MR 0003 d1 + 14 MC 0003 + 15 MC 0003 + 16 MC 1058 + 19 MR 1058 2c + 19 MC 1058 + 20 MC 1058 + 23 MW 1058 2c +c0b8 372c 6472 d92d 0000 0000 0000 0000 10b2 3074 0000 0004 +00 02 0 0 0 0 23 + +ddcbd2 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 9c + 11 MC 0003 + 14 MR 0003 d2 + 14 MC 0003 + 15 MC 0003 + 16 MC b93d + 19 MR b93d 9c + 19 MC b93d + 20 MC b93d + 23 MW b93d 9c +5bb6 caa8 9cdb af84 0000 0000 0000 0000 b9a1 7b5f 0000 0004 +00 02 0 0 0 0 23 + +ddcbd3 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 bd + 11 MC 0003 + 14 MR 0003 d3 + 14 MC 0003 + 15 MC 0003 + 16 MC d9f3 + 19 MR d9f3 60 + 19 MC d9f3 + 20 MC d9f3 + 23 MW d9f3 64 +db6a 4fe2 9e64 a034 0000 0000 0000 0000 da36 88a0 0000 0004 +00 02 0 0 0 0 23 +d9f3 64 -1 + +ddcbd4 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 58 + 11 MC 0003 + 14 MR 0003 d4 + 14 MC 0003 + 15 MC 0003 + 16 MC ef7e + 19 MR ef7e 5e + 19 MC ef7e + 20 MC ef7e + 23 MW ef7e 5e +cc1c b884 6ad2 5e21 0000 0000 0000 0000 ef26 41de 0000 0004 +00 02 0 0 0 0 23 + +ddcbd5 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 41 + 11 MC 0003 + 14 MR 0003 d5 + 14 MC 0003 + 15 MC 0003 + 16 MC 8dfd + 19 MR 8dfd 71 + 19 MC 8dfd + 20 MC 8dfd + 23 MW 8dfd 75 +c41d c8b0 cacb 7675 0000 0000 0000 0000 8dbc cc25 0000 0004 +00 02 0 0 0 0 23 +8dfd 75 -1 + +ddcbd6 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 ea + 11 MC 0003 + 14 MR 0003 d6 + 14 MC 0003 + 15 MC 0003 + 16 MC 5eed + 19 MR 5eed 73 + 19 MC 5eed + 20 MC 5eed + 23 MW 5eed 77 +09eb 769d 7e07 51f9 0000 0000 0000 0000 5f03 6280 0000 0004 +00 02 0 0 0 0 23 +5eed 77 -1 + +ddcbd7 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 80 + 11 MC 0003 + 14 MR 0003 d7 + 14 MC 0003 + 15 MC 0003 + 16 MC e6a5 + 19 MR e6a5 60 + 19 MC e6a5 + 20 MC e6a5 + 23 MW e6a5 64 +641b ee10 c152 2f6d 0000 0000 0000 0000 e725 c0d7 0000 0004 +00 02 0 0 0 0 23 +e6a5 64 -1 + +ddcbd8 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 4c + 11 MC 0003 + 14 MR 0003 d8 + 14 MC 0003 + 15 MC 0003 + 16 MC b35b + 19 MR b35b 96 + 19 MC b35b + 20 MC b35b + 23 MW b35b 9e +e3dc 9e81 c97b cb42 0000 0000 0000 0000 b30f b32a 0000 0004 +00 02 0 0 0 0 23 +b35b 9e -1 + +ddcbd9 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 52 + 11 MC 0003 + 14 MR 0003 d9 + 14 MC 0003 + 15 MC 0003 + 16 MC 2694 + 19 MR 2694 ef + 19 MC 2694 + 20 MC 2694 + 23 MW 2694 ef +e9a0 a7ef a476 6057 0000 0000 0000 0000 2642 58a0 0000 0004 +00 02 0 0 0 0 23 + +ddcbda + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 ea + 11 MC 0003 + 14 MR 0003 da + 14 MC 0003 + 15 MC 0003 + 16 MC 2d60 + 19 MR 2d60 82 + 19 MC 2d60 + 20 MC 2d60 + 23 MW 2d60 8a +6787 26a7 8a94 11d3 0000 0000 0000 0000 2d76 7f80 0000 0004 +00 02 0 0 0 0 23 +2d60 8a -1 + +ddcbdb + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 4d + 11 MC 0003 + 14 MR 0003 db + 14 MC 0003 + 15 MC 0003 + 16 MC 2bca + 19 MR 2bca 10 + 19 MC 2bca + 20 MC 2bca + 23 MW 2bca 18 +f986 6a4b 6518 d2c8 0000 0000 0000 0000 2b7d 5847 0000 0004 +00 02 0 0 0 0 23 +2bca 18 -1 + +ddcbdc + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 d3 + 11 MC 0003 + 14 MR 0003 dc + 14 MC 0003 + 15 MC 0003 + 16 MC 7ea7 + 19 MR 7ea7 45 + 19 MC 7ea7 + 20 MC 7ea7 + 23 MW 7ea7 4d +4c9e d94d 9760 4d07 0000 0000 0000 0000 7ed4 5cc5 0000 0004 +00 02 0 0 0 0 23 +7ea7 4d -1 + +ddcbdd + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 6f + 11 MC 0003 + 14 MR 0003 dd + 14 MC 0003 + 15 MC 0003 + 16 MC 5930 + 19 MR 5930 20 + 19 MC 5930 + 20 MC 5930 + 23 MW 5930 28 +4b3b d351 9be9 2328 0000 0000 0000 0000 58c1 e430 0000 0004 +00 02 0 0 0 0 23 +5930 28 -1 + +ddcbde + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 14 + 11 MC 0003 + 14 MR 0003 de + 14 MC 0003 + 15 MC 0003 + 16 MC 89e6 + 19 MR 89e6 5e + 19 MC 89e6 + 20 MC 89e6 + 23 MW 89e6 5e +3b62 ca1e a41a 227a 0000 0000 0000 0000 89d2 7011 0000 0004 +00 02 0 0 0 0 23 + +ddcbdf + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 ef + 11 MC 0003 + 14 MR 0003 df + 14 MC 0003 + 15 MC 0003 + 16 MC d216 + 19 MR d216 72 + 19 MC d216 + 20 MC d216 + 23 MW d216 7a +7a8a 5b42 50dd 4be0 0000 0000 0000 0000 d227 4913 0000 0004 +00 02 0 0 0 0 23 +d216 7a -1 + +ddcbe0 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 62 + 11 MC 0003 + 14 MR 0003 e0 + 14 MC 0003 + 15 MC 0003 + 16 MC 1cad + 19 MR 1cad 46 + 19 MC 1cad + 20 MC 1cad + 23 MW 1cad 56 +440a 563d acfc f762 0000 0000 0000 0000 1c4b b6ba 0000 0004 +00 02 0 0 0 0 23 +1cad 56 -1 + +ddcbe1 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 2e + 11 MC 0003 + 14 MR 0003 e1 + 14 MC 0003 + 15 MC 0003 + 16 MC b95f + 19 MR b95f 75 + 19 MC b95f + 20 MC b95f + 23 MW b95f 75 +c219 aa75 dfbf 6f10 0000 0000 0000 0000 b931 d3d6 0000 0004 +00 02 0 0 0 0 23 + +ddcbe2 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 85 + 11 MC 0003 + 14 MR 0003 e2 + 14 MC 0003 + 15 MC 0003 + 16 MC eed5 + 19 MR eed5 72 + 19 MC eed5 + 20 MC eed5 + 23 MW eed5 72 +66d7 abd0 7248 8054 0000 0000 0000 0000 ef50 9997 0000 0004 +00 02 0 0 0 0 23 + +ddcbe3 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 f4 + 11 MC 0003 + 14 MR 0003 e3 + 14 MC 0003 + 15 MC 0003 + 16 MC 7eba + 19 MR 7eba 34 + 19 MC 7eba + 20 MC 7eba + 23 MW 7eba 34 +7013 e7ed 7e34 57fb 0000 0000 0000 0000 7ec6 75eb 0000 0004 +00 02 0 0 0 0 23 + +ddcbe4 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 bf + 11 MC 0003 + 14 MR 0003 e4 + 14 MC 0003 + 15 MC 0003 + 16 MC 9586 + 19 MR 9586 34 + 19 MC 9586 + 20 MC 9586 + 23 MW 9586 34 +1108 6e70 f0af 340c 0000 0000 0000 0000 95c7 6501 0000 0004 +00 02 0 0 0 0 23 + +ddcbe5 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 f2 + 11 MC 0003 + 14 MR 0003 e5 + 14 MC 0003 + 15 MC 0003 + 16 MC 6aa2 + 19 MR 6aa2 2e + 19 MC 6aa2 + 20 MC 6aa2 + 23 MW 6aa2 3e +57cc 5511 2696 b83e 0000 0000 0000 0000 6ab0 0e90 0000 0004 +00 02 0 0 0 0 23 +6aa2 3e -1 + +ddcbe6 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 25 + 11 MC 0003 + 14 MR 0003 e6 + 14 MC 0003 + 15 MC 0003 + 16 MC d88b + 19 MR d88b 4c + 19 MC d88b + 20 MC d88b + 23 MW d88b 5c +207a a441 1e03 ac60 0000 0000 0000 0000 d866 5fdc 0000 0004 +00 02 0 0 0 0 23 +d88b 5c -1 + +ddcbe7 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 f3 + 11 MC 0003 + 14 MR 0003 e7 + 14 MC 0003 + 15 MC 0003 + 16 MC 2a0e + 19 MR 2a0e eb + 19 MC 2a0e + 20 MC 2a0e + 23 MW 2a0e fb +fbc5 7fa9 4e07 e02d 0000 0000 0000 0000 2a1b 55b7 0000 0004 +00 02 0 0 0 0 23 +2a0e fb -1 + +ddcbe8 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 f2 + 11 MC 0003 + 14 MR 0003 e8 + 14 MC 0003 + 15 MC 0003 + 16 MC 4bcc + 19 MR 4bcc ba + 19 MC 4bcc + 20 MC 4bcc + 23 MW 4bcc ba +6d1c bac4 93f0 a0b4 0000 0000 0000 0000 4bda 7761 0000 0004 +00 02 0 0 0 0 23 + +ddcbe9 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 8a + 11 MC 0003 + 14 MR 0003 e9 + 14 MC 0003 + 15 MC 0003 + 16 MC 7267 + 19 MR 7267 0a + 19 MC 7267 + 20 MC 7267 + 23 MW 7267 2a +ebe5 0c2a 1a2a 2720 0000 0000 0000 0000 72dd a354 0000 0004 +00 02 0 0 0 0 23 +7267 2a -1 + +ddcbea + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 04 + 11 MC 0003 + 14 MR 0003 ea + 14 MC 0003 + 15 MC 0003 + 16 MC a7ed + 19 MR a7ed 5f + 19 MC a7ed + 20 MC a7ed + 23 MW a7ed 7f +42d2 da7a 7f7f 6da6 0000 0000 0000 0000 a7e9 b933 0000 0004 +00 02 0 0 0 0 23 +a7ed 7f -1 + +ddcbeb + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 24 + 11 MC 0003 + 14 MR 0003 eb + 14 MC 0003 + 15 MC 0003 + 16 MC 1703 + 19 MR 1703 f3 + 19 MC 1703 + 20 MC 1703 + 23 MW 1703 f3 +e945 10aa f5f3 7647 0000 0000 0000 0000 16df 93fb 0000 0004 +00 02 0 0 0 0 23 + +ddcbec + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 60 + 11 MC 0003 + 14 MR 0003 ec + 14 MC 0003 + 15 MC 0003 + 16 MC dde8 + 19 MR dde8 00 + 19 MC dde8 + 20 MC dde8 + 23 MW dde8 20 +7180 bc85 7dd3 2067 0000 0000 0000 0000 dd88 6a41 0000 0004 +00 02 0 0 0 0 23 +dde8 20 -1 + +ddcbed + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 be + 11 MC 0003 + 14 MR 0003 ed + 14 MC 0003 + 15 MC 0003 + 16 MC f730 + 19 MR f730 6b + 19 MC f730 + 20 MC f730 + 23 MW f730 6b +6b2f 9762 1f0a db6b 0000 0000 0000 0000 f772 33e3 0000 0004 +00 02 0 0 0 0 23 + +ddcbee + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 de + 11 MC 0003 + 14 MR 0003 ee + 14 MC 0003 + 15 MC 0003 + 16 MC 6c06 + 19 MR 6c06 bd + 19 MC 6c06 + 20 MC 6c06 + 23 MW 6c06 bd +79ea dc8a 7887 3baa 0000 0000 0000 0000 6c28 abbc 0000 0004 +00 02 0 0 0 0 23 + +ddcbef + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 30 + 11 MC 0003 + 14 MR 0003 ef + 14 MC 0003 + 15 MC 0003 + 16 MC cc98 + 19 MR cc98 11 + 19 MC cc98 + 20 MC cc98 + 23 MW cc98 31 +31c3 2fc2 8690 a836 0000 0000 0000 0000 cc68 a8ce 0000 0004 +00 02 0 0 0 0 23 +cc98 31 -1 + +ddcbf0 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 2f + 11 MC 0003 + 14 MR 0003 f0 + 14 MC 0003 + 15 MC 0003 + 16 MC 13ef + 19 MR 13ef ad + 19 MC 13ef + 20 MC 13ef + 23 MW 13ef ed +b330 ed69 362b b515 0000 0000 0000 0000 13c0 6479 0000 0004 +00 02 0 0 0 0 23 +13ef ed -1 + +ddcbf1 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 40 + 11 MC 0003 + 14 MR 0003 f1 + 14 MC 0003 + 15 MC 0003 + 16 MC 47fa + 19 MR 47fa 78 + 19 MC 47fa + 20 MC 47fa + 23 MW 47fa 78 +94c0 9a78 a0fd 7c1d 0000 0000 0000 0000 47ba 8c81 0000 0004 +00 02 0 0 0 0 23 + +ddcbf2 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 0f + 11 MC 0003 + 14 MR 0003 f2 + 14 MC 0003 + 15 MC 0003 + 16 MC c956 + 19 MR c956 21 + 19 MC c956 + 20 MC c956 + 23 MW c956 61 +5302 9204 61ec d640 0000 0000 0000 0000 c947 4ef1 0000 0004 +00 02 0 0 0 0 23 +c956 61 -1 + +ddcbf3 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 06 + 11 MC 0003 + 14 MR 0003 f3 + 14 MC 0003 + 15 MC 0003 + 16 MC 1d9c + 19 MR 1d9c e4 + 19 MC 1d9c + 20 MC 1d9c + 23 MW 1d9c e4 +9950 a3d2 50e4 5ccc 0000 0000 0000 0000 1d96 7c75 0000 0004 +00 02 0 0 0 0 23 + +ddcbf4 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 3b + 11 MC 0003 + 14 MR 0003 f4 + 14 MC 0003 + 15 MC 0003 + 16 MC 173d + 19 MR 173d e1 + 19 MC 173d + 20 MC 173d + 23 MW 173d e1 +3712 1f99 4863 e1de 0000 0000 0000 0000 1702 c042 0000 0004 +00 02 0 0 0 0 23 + +ddcbf5 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 64 + 11 MC 0003 + 14 MR 0003 f5 + 14 MC 0003 + 15 MC 0003 + 16 MC eba3 + 19 MR eba3 c5 + 19 MC eba3 + 20 MC eba3 + 23 MW eba3 c5 +d83f 1ec9 d0da 41c5 0000 0000 0000 0000 eb3f 1ead 0000 0004 +00 02 0 0 0 0 23 + +ddcbf6 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 7b + 11 MC 0003 + 14 MR 0003 f6 + 14 MC 0003 + 15 MC 0003 + 16 MC dcd5 + 19 MR dcd5 a2 + 19 MC dcd5 + 20 MC dcd5 + 23 MW dcd5 e2 +4d6c 93ac 810d cfe1 0000 0000 0000 0000 dc5a c33c 0000 0004 +00 02 0 0 0 0 23 +dcd5 e2 -1 + +ddcbf7 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 c3 + 11 MC 0003 + 14 MR 0003 f7 + 14 MC 0003 + 15 MC 0003 + 16 MC 2fe1 + 19 MR 2fe1 a9 + 19 MC 2fe1 + 20 MC 2fe1 + 23 MW 2fe1 e9 +e940 7887 b9de c013 0000 0000 0000 0000 301e 9710 0000 0004 +00 02 0 0 0 0 23 +2fe1 e9 -1 + +ddcbf8 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 59 + 11 MC 0003 + 14 MR 0003 f8 + 14 MC 0003 + 15 MC 0003 + 16 MC 42d8 + 19 MR 42d8 28 + 19 MC 42d8 + 20 MC 42d8 + 23 MW 42d8 a8 +8278 a8a4 1e5c 4952 0000 0000 0000 0000 427f 41e1 0000 0004 +00 02 0 0 0 0 23 +42d8 a8 -1 + +ddcbf9 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 55 + 11 MC 0003 + 14 MR 0003 f9 + 14 MC 0003 + 15 MC 0003 + 16 MC d8e4 + 19 MR d8e4 14 + 19 MC d8e4 + 20 MC d8e4 + 23 MW d8e4 94 +b2df e994 56c3 16ff 0000 0000 0000 0000 d88f 0bab 0000 0004 +00 02 0 0 0 0 23 +d8e4 94 -1 + +ddcbfa + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 74 + 11 MC 0003 + 14 MR 0003 fa + 14 MC 0003 + 15 MC 0003 + 16 MC 9494 + 19 MR 9494 fe + 19 MC 9494 + 20 MC 9494 + 23 MW 9494 fe +01f1 bc0d fe76 1510 0000 0000 0000 0000 9420 93a3 0000 0004 +00 02 0 0 0 0 23 + +ddcbfb + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 af + 11 MC 0003 + 14 MR 0003 fb + 14 MC 0003 + 15 MC 0003 + 16 MC 3402 + 19 MR 3402 02 + 19 MC 3402 + 20 MC 3402 + 23 MW 3402 82 +709b 14eb ec82 b844 0000 0000 0000 0000 3453 f2b0 0000 0004 +00 02 0 0 0 0 23 +3402 82 -1 + +ddcbfc + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 a1 + 11 MC 0003 + 14 MR 0003 fc + 14 MC 0003 + 15 MC 0003 + 16 MC 60da + 19 MR 60da 10 + 19 MC 60da + 20 MC 60da + 23 MW 60da 90 +6c89 a96e d27b 90a7 0000 0000 0000 0000 6139 b4c1 0000 0004 +00 02 0 0 0 0 23 +60da 90 -1 + +ddcbfd + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 28 + 11 MC 0003 + 14 MR 0003 fd + 14 MC 0003 + 15 MC 0003 + 16 MC 3ef8 + 19 MR 3ef8 c2 + 19 MC 3ef8 + 20 MC 3ef8 + 23 MW 3ef8 c2 +fb3f 83f6 2094 33c2 0000 0000 0000 0000 3ed0 6f0e 0000 0004 +00 02 0 0 0 0 23 + +ddcbfe + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 ec + 11 MC 0003 + 14 MR 0003 fe + 14 MC 0003 + 15 MC 0003 + 16 MC 41a1 + 19 MR 41a1 a1 + 19 MC 41a1 + 20 MC 41a1 + 23 MW 41a1 a1 +fc42 50b7 e98d 3e45 0000 0000 0000 0000 41b5 3410 0000 0004 +00 02 0 0 0 0 23 + +ddcbff + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 d3 + 11 MC 0003 + 14 MR 0003 ff + 14 MC 0003 + 15 MC 0003 + 16 MC 0628 + 19 MR 0628 2b + 19 MC 0628 + 20 MC 0628 + 23 MW 0628 ab +ab66 94d2 ac90 8f45 0000 0000 0000 0000 0655 ba29 0000 0004 +00 02 0 0 0 0 23 +0628 ab -1 + +dde1 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 e1 + 8 MC 595f + 11 MR 595f 9a + 11 MC 5960 + 14 MR 5960 09 +8a15 6bf0 0106 3dd0 0000 0000 0000 0000 099a 8716 5961 0002 +00 02 0 0 0 0 14 + +dde3 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 e3 + 8 MC 57bd + 11 MR 57bd 15 + 11 MC 57be + 14 MR 57be 3f + 14 MC 57be + 15 MC 57be + 18 MW 57be be + 18 MC 57bd + 21 MW 57bd 05 + 21 MC 57bd + 22 MC 57bd +068e 58e6 2713 500f 0000 0000 0000 0000 3f15 4308 57bd 0002 +00 02 0 0 0 0 23 +57bd 05 be -1 + +dde5 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 e5 + 8 MC 0002 + 9 MC 0760 + 12 MW 0760 b2 + 12 MC 075f + 15 MW 075f 82 +7462 9b6c bfe5 0330 0000 0000 0000 0000 b282 e272 075f 0002 +00 02 0 0 0 0 15 +075f 82 b2 -1 + +dde9 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 e9 +75a7 139b f9a3 94bb 0000 0000 0000 0000 64f0 3433 0000 64f0 +00 02 0 0 0 0 8 + +ddf9 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 f9 + 8 MC 0002 + 9 MC 0002 +8709 15dd 7fa6 3c5c 0000 0000 0000 0000 d3a7 1d7b d3a7 0002 +00 02 0 0 0 0 10 + +ddfd00 + 0 MC 0000 + 4 MR 0000 dd + 4 MC 0001 + 8 MR 0001 fd + 8 MC 0002 + 12 MR 0002 00 + 12 MC 0003 + 16 MR 0003 00 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0004 +00 04 0 0 0 0 16 + +de + 0 MC 0000 + 4 MR 0000 de + 4 MC 0001 + 7 MR 0001 a1 +4502 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 + +df + 0 MC 6d33 + 4 MR 6d33 df + 4 MC 0001 + 5 MC 5506 + 8 MW 5506 6d + 8 MC 5505 + 11 MW 5505 34 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 5505 0018 +00 01 0 0 0 0 11 +5505 34 6d -1 + +e0_1 + 0 MC 0000 + 4 MR 0000 e0 + 4 MC 0001 + 5 MC 43f7 + 8 MR 43f7 e9 + 8 MC 43f8 + 11 MR 43f8 af +0098 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f9 afe9 +00 01 0 0 0 0 11 + +e0_2 + 0 MC 0000 + 4 MR 0000 e0 + 4 MC 0001 +009c 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0001 +00 01 0 0 0 0 5 + +e1 + 0 MC 0000 + 4 MR 0000 e1 + 4 MC 4143 + 7 MR 4143 ce + 7 MC 4144 + 10 MR 4144 e8 +0000 0000 0000 e8ce 0000 0000 0000 0000 0000 0000 4145 0001 +00 01 0 0 0 0 10 + +e2_1 + 0 MC 0000 + 4 MR 0000 e2 + 4 MC 0001 + 7 MR 0001 1b + 7 MC 0002 + 10 MR 0002 e1 +0083 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 e11b +00 01 0 0 0 0 10 + +e2_2 + 0 MC 0000 + 4 MR 0000 e2 + 4 MC 0001 + 7 MC 0002 +0087 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0003 +00 01 0 0 0 0 10 + +e3 + 0 MC 0000 + 4 MR 0000 e3 + 4 MC 0373 + 7 MR 0373 8e + 7 MC 0374 + 10 MR 0374 e1 + 10 MC 0374 + 11 MC 0374 + 14 MW 0374 4d + 14 MC 0373 + 17 MW 0373 22 + 17 MC 0373 + 18 MC 0373 +0000 0000 0000 e18e 0000 0000 0000 0000 0000 0000 0373 0001 +00 01 0 0 0 0 19 +0373 22 4d -1 + +e4_1 + 0 MC 0000 + 4 MR 0000 e4 + 4 MC 0001 + 7 MR 0001 61 + 7 MC 0002 + 10 MR 0002 9c + 10 MC 0002 + 11 MC 5697 + 14 MW 5697 00 + 14 MC 5696 + 17 MW 5696 03 +000a 0000 0000 0000 0000 0000 0000 0000 0000 0000 5696 9c61 +00 01 0 0 0 0 17 +5696 03 00 -1 + +e4_2 + 0 MC 0000 + 4 MR 0000 e4 + 4 MC 0001 + 7 MC 0002 +000e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0003 +00 01 0 0 0 0 10 + +e5 + 0 MC 0000 + 4 MR 0000 e5 + 4 MC 0001 + 5 MC ec11 + 8 MW ec11 1a + 8 MC ec10 + 11 MW ec10 2f +53e3 1459 775f 1a2f 0000 0000 0000 0000 0000 0000 ec10 0001 +00 01 0 0 0 0 11 +ec10 2f 1a -1 + +e6 + 0 MC 0000 + 4 MR 0000 e6 + 4 MC 0001 + 7 MR 0001 49 +4114 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 + +e7 + 0 MC 6d33 + 4 MR 6d33 e7 + 4 MC 0001 + 5 MC 5506 + 8 MW 5506 6d + 8 MC 5505 + 11 MW 5505 34 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 5505 0020 +00 01 0 0 0 0 11 +5505 34 6d -1 + +e8_1 + 0 MC 0000 + 4 MR 0000 e8 + 4 MC 0001 +0098 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0001 +00 01 0 0 0 0 5 + +e8_2 + 0 MC 0000 + 4 MR 0000 e8 + 4 MC 0001 + 5 MC 43f7 + 8 MR 43f7 e9 + 8 MC 43f8 + 11 MR 43f8 af +009c 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f9 afe9 +00 01 0 0 0 0 11 + +e9 + 0 MC 0000 + 4 MR 0000 e9 +0000 0000 0000 caba 0000 0000 0000 0000 0000 0000 0000 caba +00 01 0 0 0 0 4 + +ea_1 + 0 MC 0000 + 4 MR 0000 ea + 4 MC 0001 + 7 MR 0001 1b + 7 MC 0002 + 10 MR 0002 e1 +0087 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 e11b +00 01 0 0 0 0 10 + +ea_2 + 0 MC 0000 + 4 MR 0000 ea + 4 MC 0001 + 7 MC 0002 +0083 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0003 +00 01 0 0 0 0 10 + +eb + 0 MC 0000 + 4 MR 0000 eb +0000 0000 942e b879 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +ec_1 + 0 MC 0000 + 4 MR 0000 ec + 4 MC 0001 + 7 MR 0001 61 + 7 MC 0002 + 10 MR 0002 9c + 10 MC 0002 + 11 MC 5697 + 14 MW 5697 00 + 14 MC 5696 + 17 MW 5696 03 +000e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5696 9c61 +00 01 0 0 0 0 17 +5696 03 00 -1 + +ec_2 + 0 MC 0000 + 4 MR 0000 ec + 4 MC 0001 + 7 MC 0002 +000a 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0003 +00 01 0 0 0 0 10 + +ed40 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 40 + 9 PR 296b 29 +8329 296b 7034 1f2f 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 + +ed41 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 41 + 9 PW 0881 08 +29a2 0881 d7dd ff4e 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 + +ed42 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 42 + 8 MC 0002 + 9 MC 0002 + 10 MC 0002 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 +cb12 1c8f d456 14ce 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 + +ed43 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 43 + 8 MC 0002 + 11 MR 0002 c6 + 11 MC 0003 + 14 MR 0003 54 + 14 MC 54c6 + 17 MW 54c6 32 + 17 MC 54c7 + 20 MW 54c7 27 +da36 2732 91cc 9798 0000 0000 0000 0000 0000 0000 5f73 0004 +00 02 0 0 0 0 20 +54c6 32 27 -1 + +ed44 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 44 +0213 040f deb6 afc3 0000 0000 0000 0000 0000 0000 5ca8 0002 +00 02 0 0 0 0 8 + +ed45 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 45 + 8 MC 3100 + 11 MR 3100 1f + 11 MC 3101 + 14 MR 3101 22 +001d 5b63 a586 1451 0000 0000 0000 0000 0000 0000 3102 221f +00 02 1 1 0 0 14 + +ed46 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 46 +b6ec 8afb ce09 70a1 0000 0000 0000 0000 0000 0000 8dea 0002 +00 02 0 0 0 0 8 + +ed47 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 47 + 8 MC 0002 +9a99 9e5a 9913 cacc 0000 0000 0000 0000 0000 0000 0000 0002 +9a 02 0 0 0 0 9 + +ed48 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 48 + 8 PC 7d1b + 9 PR 7d1b 7d + 9 PC 7d1b + 10 PC 7d1b + 11 PC 7d1b +db2d 7d7d 141d 5fb4 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 + +ed49 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 49 + 8 PC 59ec + 9 PW 59ec ec + 9 PC 59ec +07a5 59ec f459 4316 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 + +ed4a + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 4a + 8 MC 0002 + 9 MC 0002 + 10 MC 0002 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 +57a8 24b5 83d2 bf7e 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 + +ed4b + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 4b + 8 MC 0002 + 11 MR 0002 1a + 11 MC 0003 + 14 MR 0003 a4 + 14 MC a41a + 17 MR a41a f3 + 17 MC a41b + 20 MR a41b d4 +650c d4f3 0448 a3b9 0000 0000 0000 0000 0000 0000 b554 0004 +00 02 0 0 0 0 20 + +ed4c + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 4c +aabb 7dde b049 939d 0000 0000 0000 0000 0000 0000 c7bb 0002 +00 02 0 0 0 0 8 + +ed4d + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 4d + 8 MC 680e + 11 MR 680e 03 + 11 MC 680f + 14 MR 680f 7c +1bed c358 5fd5 6093 0000 0000 0000 0000 0000 0000 6810 7c03 +00 02 0 0 0 0 14 + +ed4e + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 4e +8e01 e7c6 880f d2a2 0000 0000 0000 0000 0000 0000 85da 0002 +00 02 0 0 0 0 8 + +ed4f + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 4f + 8 MC 0002 +2ae3 c115 eff8 9f6d 0000 0000 0000 0000 0000 0000 0000 0002 +00 2a 0 0 0 0 9 + +ed50 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 50 + 9 PR bbcc bb + 9 PC bbcc +85ac bbcc bba8 f219 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 + +ed51 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 51 + 9 PW c0a4 53 + 9 PC c0a4 +2c4c c0a4 5303 bc25 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 + +ed52 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 52 + 8 MC 0002 + 9 MC 0002 + 10 MC 0002 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 +fc82 1fc8 47b6 92c5 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 + +ed53 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 53 + 8 MC 0002 + 11 MR 0002 ff + 11 MC 0003 + 14 MR 0003 21 + 14 MC 21ff + 17 MW 21ff b2 + 17 MC 2200 + 20 MW 2200 5c +1f88 4692 5cb2 4915 0000 0000 0000 0000 0000 0000 7d8c 0004 +00 02 0 0 0 0 20 +21ff b2 5c -1 + +ed54 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 54 +5313 5661 547c c322 0000 0000 0000 0000 0000 0000 d9eb 0002 +00 02 0 0 0 0 8 + +ed55 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 55 + 8 MC d4b4 + 11 MR d4b4 ea + 11 MC d4b5 + 14 MR d4b5 c9 +b05b 5e84 d6e9 cb3e 0000 0000 0000 0000 0000 0000 d4b6 c9ea +00 02 0 0 0 0 14 + +ed56 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 56 +5cc0 9100 356b 4bfd 0000 0000 0000 0000 0000 0000 2c93 0002 +00 02 0 0 1 0 8 + +ed57 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 57 + 8 MC 1e19 +1e08 dfc7 a621 1022 0000 0000 0000 0000 0000 0000 0000 0002 +1e 19 0 0 0 0 9 + +ed58 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 58 + 8 PC 4091 + 9 PR 4091 40 + 9 PC 4091 + 10 PC 4091 + 11 PC 4091 +c900 4091 9e40 873a 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 + +ed59 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 59 + 9 PW d512 c5 + 9 PC d512 +388a d512 ecc5 93af 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 + +ed5a + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 5a + 8 MC 0002 + 9 MC 0002 + 10 MC 0002 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 +a408 751c 19ce 1e62 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 + +ed5b + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 5b + 8 MC 0002 + 11 MR 0002 04 + 11 MC 0003 + 14 MR 0003 9f + 14 MC 9f04 + 17 MR 9f04 84 + 17 MC 9f05 + 20 MR 9f05 4d +5df1 982e 4d84 adb9 0000 0000 0000 0000 0000 0000 f398 0004 +00 02 0 0 0 0 20 + +ed5c + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 5c +efbb b86c 2042 c958 0000 0000 0000 0000 0000 0000 93dc 0002 +00 02 0 0 0 0 8 + +ed5d + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 5d + 8 MC 5308 + 11 MR 5308 26 + 11 MC 5309 + 14 MR 5309 e0 +1152 1d20 3f86 64fc 0000 0000 0000 0000 0000 0000 530a e026 +00 02 0 0 0 0 14 + +ed5e + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 5e +611a c8cf f215 d92b 0000 0000 0000 0000 0000 0000 4d86 0002 +00 02 0 0 2 0 8 + +ed5f + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 5f + 8 MC d7f5 +f5a1 fc09 2dfa bab9 0000 0000 0000 0000 0000 0000 0000 0002 +d7 f5 0 0 0 0 9 + +ed60 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 60 + 9 PR 0dae 0d + 9 PC 0dae +2c08 0dae 621e 0d66 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 + +ed61 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 61 + 9 PW 90ca d8 + 9 PC 90ca +ffa8 90ca 0340 d847 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 + +ed62 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 62 + 8 MC 0002 + 9 MC 0002 + 10 MC 0002 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 +a6bb d9aa 6623 ffff 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 + +ed63 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 63 + 8 MC 0002 + 11 MR 0002 67 + 11 MC 0003 + 14 MR 0003 65 + 14 MC 6567 + 17 MW 6567 d3 + 17 MC 6568 + 20 MW 6568 e4 +5222 88f9 9d9a e4d3 0000 0000 0000 0000 0000 0000 a2f0 0004 +00 02 0 0 0 0 20 +6567 d3 e4 -1 + +ed64 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 64 +df9b e425 66ac b2a3 0000 0000 0000 0000 0000 0000 43f2 0002 +00 02 0 0 0 0 8 + +ed65 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 65 + 8 MC f207 + 11 MR f207 eb + 11 MC f208 + 14 MR f208 0e +63d2 1fa1 0788 881c 0000 0000 0000 0000 0000 0000 f209 0eeb +00 02 1 1 0 0 14 + +ed66 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 66 +4088 a7e1 3ffd 919b 0000 0000 0000 0000 0000 0000 d193 0002 +00 02 0 0 0 0 8 + +ed67 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 67 + 8 MC b9de + 11 MR b9de 93 + 11 MC b9de + 12 MC b9de + 13 MC b9de + 14 MC b9de + 15 MC b9de + 18 MW b9de 69 +3324 b16a a4db b9de 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 18 +b9de 69 -1 + +ed68 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 68 + 8 PC 624b + 9 PR 624b 62 + 9 PC 624b + 10 PC 624b + 11 PC 624b +5320 624b 7311 3162 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 + +ed69 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 69 + 9 PW 8d2f d6 +abd8 8d2f 89c7 c3d6 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 + +ed6a + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 6a + 8 MC 0002 + 9 MC 0002 + 10 MC 0002 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 +bb9c 6fed 59bb 9c80 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 + +ed6b + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 6b + 8 MC 0002 + 11 MR 0002 98 + 11 MC 0003 + 14 MR 0003 61 + 14 MC 6198 + 17 MR 6198 3f + 17 MC 6199 + 20 MR 6199 be +9e35 d240 1998 be3f 0000 0000 0000 0000 0000 0000 9275 0004 +00 02 0 0 0 0 20 + +ed6c + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 6c +f1b3 7d5b cadb 0893 0000 0000 0000 0000 0000 0000 d983 0002 +00 02 0 0 0 0 8 + +ed6d + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 6d + 8 MC 5cd3 + 11 MR 5cd3 a9 + 11 MC 5cd4 + 14 MR 5cd4 73 +3860 42da 5935 dc10 0000 0000 0000 0000 0000 0000 5cd5 73a9 +00 02 0 0 0 0 14 + +ed6e + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 6e +7752 bec3 0457 8c95 0000 0000 0000 0000 0000 0000 a787 0002 +00 02 0 0 0 0 8 + +ed6f + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 6f + 8 MC 403c + 11 MR 403c c4 + 11 MC 403c + 12 MC 403c + 13 MC 403c + 14 MC 403c + 15 MC 403c + 18 MW 403c 45 +6c2d 7a7a ecf0 403c 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 18 +403c 45 -1 + +ed70 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 70 + 9 PR f7d6 f7 + 9 PC f7d6 +c6a1 f7d6 a3cb 288d 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 + +ed71 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 71 + 9 PW 20b3 00 +afa0 20b3 7b33 4ac1 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 + +ed72 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 72 + 8 MC 0002 + 9 MC 0002 + 10 MC 0002 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 +5f3e 05cb 0c6c 7daf 0000 0000 0000 0000 0000 0000 53db 0002 +00 02 0 0 0 0 15 + +ed73 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 73 + 8 MC 0002 + 11 MR 0002 2a + 11 MC 0003 + 14 MR 0003 79 + 14 MC 792a + 17 MW 792a d5 + 17 MC 792b + 20 MW 792b ae +41c4 763a ecb0 ee62 0000 0000 0000 0000 0000 0000 aed5 0004 +00 02 0 0 0 0 20 +792a d5 ae -1 + +ed74 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 74 +bcbb f2d2 8340 7e76 0000 0000 0000 0000 0000 0000 0323 0002 +00 02 0 0 0 0 8 + +ed75 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 75 + 8 MC 7d00 + 11 MR 7d00 fd + 11 MC 7d01 + 14 MR 7d01 4f +7ca4 1615 5d2a a95b 0000 0000 0000 0000 0000 0000 7d02 4ffd +00 02 1 1 0 0 14 + +ed76 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 76 +cabf ff9a b98c a8e6 0000 0000 0000 0000 0000 0000 fe8e 0002 +00 02 0 0 1 0 8 + +ed78 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 78 + 9 PR f206 f2 + 9 PC f206 +f2a1 f206 2d6a af16 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 + +ed79 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 79 + 8 PC 4243 + 9 PW 4243 e0 + 9 PC 4243 + 10 PC 4243 + 11 PC 4243 +e000 4243 8f7f ed90 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 + +ed7a + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 7a + 8 MC 0002 + 9 MC 0002 + 10 MC 0002 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 +32b8 d819 d873 eaf2 0000 0000 0000 0000 0000 0000 5d22 0002 +00 02 0 0 0 0 15 + +ed7b + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 7b + 8 MC 0002 + 11 MR 0002 50 + 11 MC 0003 + 14 MR 0003 8c + 14 MC 8c50 + 17 MR 8c50 d8 + 17 MC 8c51 + 20 MR 8c51 48 +4f97 24b7 e105 1bf2 0000 0000 0000 0000 0000 0000 48d8 0004 +00 02 0 0 0 0 20 + +ed7c + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 7c +2d3b 29ca 9622 b452 0000 0000 0000 0000 0000 0000 0be6 0002 +00 02 0 0 0 0 8 + +ed7d + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 7d + 8 MC 66f0 + 11 MR 66f0 4f + 11 MC 66f1 + 14 MR 66f1 fb +ecb6 073e dc1e 38d9 0000 0000 0000 0000 0000 0000 66f2 fb4f +00 02 1 1 0 0 14 + +ed7e + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 7e +b246 1a1a 933a 4b8b 0000 0000 0000 0000 0000 0000 2242 0002 +00 02 0 0 2 0 8 + +eda0 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 a0 + 8 MC d097 + 11 MR d097 b7 + 11 MC 95c1 + 14 MW 95c1 b7 + 14 MC 95c1 + 15 MC 95c1 +1be5 3d10 95c2 d098 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +95c1 b7 -1 + +eda1 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 a1 + 8 MC 3bc3 + 11 MR 3bc3 b4 + 11 MC 3bc3 + 12 MC 3bc3 + 13 MC 3bc3 + 14 MC 3bc3 + 15 MC 3bc3 +ec0f 7665 537f 3bc4 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 + +eda2 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 a2 + 8 MC 0002 + 10 PR 9a82 9a + 10 PC 9a82 + 13 MC 2666 + 16 MW 2666 9a +019f 9982 5bbd 2667 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +2666 9a -1 + +eda2_01 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 a2 + 8 MC 0002 + 10 PR 0200 02 + 10 PC 0200 + 13 MC 8000 + 16 MW 8000 02 +0000 0100 0000 8001 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +8000 02 -1 + +eda2_02 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 a2 + 8 MC 0002 + 9 PC 569a + 10 PR 569a 56 + 10 PC 569a + 13 MC 8000 + 16 MW 8000 56 +0000 559a 0000 8001 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +8000 56 -1 + +eda2_03 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 a2 + 8 MC 0002 + 10 PR abcc ab + 10 PC abcc + 13 MC 8000 + 16 MW 8000 ab +00bf aacc 0000 8001 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +8000 ab -1 + +eda3 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 a3 + 8 MC 0002 + 9 MC 32fa + 12 MR 32fa b3 + 12 PC 6234 + 13 PW 6234 b3 + 13 PC 6234 +4233 6234 1e28 32fb 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 + +eda3_01 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 a3 + 8 MC 0002 + 9 MC 01ff + 12 MR 01ff 00 + 13 PW 0000 00 + 13 PC 0000 +0044 0000 0000 0200 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 + +eda3_02 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 a3 + 8 MC 0002 + 9 MC 0100 + 12 MR 0100 00 + 13 PW 0000 00 + 13 PC 0000 +0040 0000 0000 0101 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 + +eda3_03 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 a3 + 8 MC 0002 + 9 MC 0107 + 12 MR 0107 00 + 13 PW 0000 00 + 13 PC 0000 +0044 0000 0000 0108 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 + +eda3_04 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 a3 + 8 MC 0002 + 9 MC 01ff + 12 MR 01ff 80 + 13 PW 0000 80 + 13 PC 0000 +0046 0000 0000 0200 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 + +eda3_05 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 a3 + 8 MC 0002 + 9 MC 01fd + 12 MR 01fd 12 + 13 PW 0000 12 + 13 PC 0000 +0055 0000 0000 01fe 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 + +eda3_06 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 a3 + 8 MC 0002 + 9 MC 01fe + 12 MR 01fe 12 + 13 PW 0000 12 + 13 PC 0000 +0051 0000 0000 01ff 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 + +eda3_07 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 a3 + 8 MC 0002 + 9 MC 01ff + 12 MR 01ff 00 + 13 PW 0100 00 + 13 PC 0100 +0000 0100 0000 0200 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 + +eda3_08 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 a3 + 8 MC 0002 + 9 MC 01fe + 12 MR 01fe 00 + 13 PW 0700 00 + 13 PC 0700 +0004 0700 0000 01ff 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 + +eda3_09 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 a3 + 8 MC 0002 + 9 MC 01ff + 12 MR 01ff 00 + 13 PW 8000 00 + 13 PC 8000 +0080 8000 0000 0200 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 + +eda3_10 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 a3 + 8 MC 0002 + 9 MC 01ff + 12 MR 01ff 00 + 13 PW 8100 00 + 13 PC 8100 +0084 8100 0000 0200 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 + +eda3_11 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 a3 + 8 MC 0002 + 9 MC 01ff + 12 MR 01ff 00 + 13 PW a800 00 + 13 PC a800 +00a8 a800 0000 0200 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 + +eda8 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 a8 + 8 MC 12e8 + 11 MR 12e8 d8 + 11 MC 5938 + 14 MW 5938 d8 + 14 MC 5938 + 15 MC 5938 +2aa4 1606 5937 12e7 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +5938 d8 -1 + +eda9 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 a9 + 8 MC 0dbe + 11 MR 0dbe 89 + 11 MC 0dbe + 12 MC 0dbe + 13 MC 0dbe + 14 MC 0dbe + 15 MC 0dbe +14bf fb41 0466 0dbd 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 + +edaa + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 aa + 8 MC 0002 + 10 PR d791 d7 + 13 MC a533 + 16 MW a533 d7 +2097 d691 a912 a532 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +a533 d7 -1 + +edaa_01 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 aa + 8 MC 0002 + 10 PR 0101 01 + 13 MC 8000 + 16 MW 8000 01 +0040 0001 0000 7fff 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +8000 01 -1 + +edaa_02 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 aa + 8 MC 0002 + 9 PC 56aa + 10 PR 56aa 56 + 10 PC 56aa + 13 MC 8000 + 16 MW 8000 56 +0000 55aa 0000 7fff 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +8000 56 -1 + +edaa_03 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 aa + 8 MC 0002 + 10 PR abcc ab + 10 PC abcc + 13 MC 8000 + 16 MW 8000 ab +00bf aacc 0000 7fff 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +8000 ab -1 + +edab + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 ab + 8 MC 0002 + 9 MC 199f + 12 MR 199f 49 + 13 PW f234 49 + 13 PC f234 +00a4 f234 d3e1 199e 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 + +edab_01 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 ab + 8 MC 0002 + 9 MC 007a + 12 MR 007a 7f + 12 PC 5700 + 13 PW 5700 7f + 13 PC 5700 +0000 5700 0000 0079 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 + +edab_02 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 ab + 8 MC 0002 + 9 MC 00f1 + 12 MR 00f1 cd + 13 PW aa00 cd + 13 PC aa00 +00bf aa00 0000 00f0 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 + +edb0 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 b0 + 8 MC 558e + 11 MR 558e 53 + 11 MC aad8 + 14 MW aad8 53 + 14 MC aad8 + 15 MC aad8 + 16 MC aad8 + 17 MC aad8 + 18 MC aad8 + 19 MC aad8 + 20 MC aad8 + 21 MC 0000 + 25 MR 0000 ed + 25 MC 0001 + 29 MR 0001 b0 + 29 MC 558f + 32 MR 558f 94 + 32 MC aad9 + 35 MW aad9 94 + 35 MC aad9 + 36 MC aad9 + 37 MC aad9 + 38 MC aad9 + 39 MC aad9 + 40 MC aad9 + 41 MC aad9 + 42 MC 0000 + 46 MR 0000 ed + 46 MC 0001 + 50 MR 0001 b0 + 50 MC 5590 + 53 MR 5590 30 + 53 MC aada + 56 MW aada 30 + 56 MC aada + 57 MC aada + 58 MC aada + 59 MC aada + 60 MC aada + 61 MC aada + 62 MC aada + 63 MC 0000 + 67 MR 0000 ed + 67 MC 0001 + 71 MR 0001 b0 + 71 MC 5591 + 74 MR 5591 05 + 74 MC aadb + 77 MW aadb 05 + 77 MC aadb + 78 MC aadb + 79 MC aadb + 80 MC aadb + 81 MC aadb + 82 MC aadb + 83 MC aadb + 84 MC 0000 + 88 MR 0000 ed + 88 MC 0001 + 92 MR 0001 b0 + 92 MC 5592 + 95 MR 5592 44 + 95 MC aadc + 98 MW aadc 44 + 98 MC aadc + 99 MC aadc + 100 MC aadc + 101 MC aadc + 102 MC aadc + 103 MC aadc + 104 MC aadc + 105 MC 0000 + 109 MR 0000 ed + 109 MC 0001 + 113 MR 0001 b0 + 113 MC 5593 + 116 MR 5593 24 + 116 MC aadd + 119 MW aadd 24 + 119 MC aadd + 120 MC aadd + 121 MC aadd + 122 MC aadd + 123 MC aadd + 124 MC aadd + 125 MC aadd + 126 MC 0000 + 130 MR 0000 ed + 130 MC 0001 + 134 MR 0001 b0 + 134 MC 5594 + 137 MR 5594 22 + 137 MC aade + 140 MW aade 22 + 140 MC aade + 141 MC aade + 142 MC aade + 143 MC aade + 144 MC aade + 145 MC aade + 146 MC aade + 147 MC 0000 + 151 MR 0000 ed + 151 MC 0001 + 155 MR 0001 b0 + 155 MC 5595 + 158 MR 5595 b9 + 158 MC aadf + 161 MW aadf b9 + 161 MC aadf + 162 MC aadf + 163 MC aadf + 164 MC aadf + 165 MC aadf + 166 MC aadf + 167 MC aadf + 168 MC 0000 + 172 MR 0000 ed + 172 MC 0001 + 176 MR 0001 b0 + 176 MC 5596 + 179 MR 5596 e9 + 179 MC aae0 + 182 MW aae0 e9 + 182 MC aae0 + 183 MC aae0 + 184 MC aae0 + 185 MC aae0 + 186 MC aae0 + 187 MC aae0 + 188 MC aae0 + 189 MC 0000 + 193 MR 0000 ed + 193 MC 0001 + 197 MR 0001 b0 + 197 MC 5597 + 200 MR 5597 77 + 200 MC aae1 + 203 MW aae1 77 + 203 MC aae1 + 204 MC aae1 + 205 MC aae1 + 206 MC aae1 + 207 MC aae1 + 208 MC aae1 + 209 MC aae1 + 210 MC 0000 + 214 MR 0000 ed + 214 MC 0001 + 218 MR 0001 b0 + 218 MC 5598 + 221 MR 5598 23 + 221 MC aae2 + 224 MW aae2 23 + 224 MC aae2 + 225 MC aae2 + 226 MC aae2 + 227 MC aae2 + 228 MC aae2 + 229 MC aae2 + 230 MC aae2 + 231 MC 0000 + 235 MR 0000 ed + 235 MC 0001 + 239 MR 0001 b0 + 239 MC 5599 + 242 MR 5599 71 + 242 MC aae3 + 245 MW aae3 71 + 245 MC aae3 + 246 MC aae3 + 247 MC aae3 + 248 MC aae3 + 249 MC aae3 + 250 MC aae3 + 251 MC aae3 + 252 MC 0000 + 256 MR 0000 ed + 256 MC 0001 + 260 MR 0001 b0 + 260 MC 559a + 263 MR 559a e2 + 263 MC aae4 + 266 MW aae4 e2 + 266 MC aae4 + 267 MC aae4 + 268 MC aae4 + 269 MC aae4 + 270 MC aae4 + 271 MC aae4 + 272 MC aae4 + 273 MC 0000 + 277 MR 0000 ed + 277 MC 0001 + 281 MR 0001 b0 + 281 MC 559b + 284 MR 559b 5c + 284 MC aae5 + 287 MW aae5 5c + 287 MC aae5 + 288 MC aae5 + 289 MC aae5 + 290 MC aae5 + 291 MC aae5 + 292 MC aae5 + 293 MC aae5 + 294 MC 0000 + 298 MR 0000 ed + 298 MC 0001 + 302 MR 0001 b0 + 302 MC 559c + 305 MR 559c fb + 305 MC aae6 + 308 MW aae6 fb + 308 MC aae6 + 309 MC aae6 + 310 MC aae6 + 311 MC aae6 + 312 MC aae6 + 313 MC aae6 + 314 MC aae6 + 315 MC 0000 + 319 MR 0000 ed + 319 MC 0001 + 323 MR 0001 b0 + 323 MC 559d + 326 MR 559d 49 + 326 MC aae7 + 329 MW aae7 49 + 329 MC aae7 + 330 MC aae7 +1049 0000 aae8 559e 0000 0000 0000 0000 0000 0000 0000 0002 +00 20 0 0 0 0 331 +aad8 53 94 30 05 44 24 22 b9 e9 77 23 71 e2 5c fb 49 -1 + +edb1 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 b1 + 8 MC 9825 + 11 MR 9825 50 + 11 MC 9825 + 12 MC 9825 + 13 MC 9825 + 14 MC 9825 + 15 MC 9825 + 16 MC 9825 + 17 MC 9825 + 18 MC 9825 + 19 MC 9825 + 20 MC 9825 + 21 MC 0000 + 25 MR 0000 ed + 25 MC 0001 + 29 MR 0001 b1 + 29 MC 9826 + 32 MR 9826 e5 + 32 MC 9826 + 33 MC 9826 + 34 MC 9826 + 35 MC 9826 + 36 MC 9826 + 37 MC 9826 + 38 MC 9826 + 39 MC 9826 + 40 MC 9826 + 41 MC 9826 + 42 MC 0000 + 46 MR 0000 ed + 46 MC 0001 + 50 MR 0001 b1 + 50 MC 9827 + 53 MR 9827 41 + 53 MC 9827 + 54 MC 9827 + 55 MC 9827 + 56 MC 9827 + 57 MC 9827 + 58 MC 9827 + 59 MC 9827 + 60 MC 9827 + 61 MC 9827 + 62 MC 9827 + 63 MC 0000 + 67 MR 0000 ed + 67 MC 0001 + 71 MR 0001 b1 + 71 MC 9828 + 74 MR 9828 f4 + 74 MC 9828 + 75 MC 9828 + 76 MC 9828 + 77 MC 9828 + 78 MC 9828 +f447 0004 e4e0 9829 0000 0000 0000 0000 0000 0000 0000 0002 +00 08 0 0 0 0 79 + +edb2 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 b2 + 8 MC 0002 + 10 PR 0a40 0a + 10 PC 0a40 + 13 MC 37ce + 16 MW 37ce 0a + 16 MC 37ce + 17 MC 37ce + 18 MC 37ce + 19 MC 37ce + 20 MC 37ce + 21 MC 0000 + 25 MR 0000 ed + 25 MC 0001 + 29 MR 0001 b2 + 29 MC 0004 + 31 PR 0940 09 + 31 PC 0940 + 34 MC 37cf + 37 MW 37cf 09 + 37 MC 37cf + 38 MC 37cf + 39 MC 37cf + 40 MC 37cf + 41 MC 37cf + 42 MC 0000 + 46 MR 0000 ed + 46 MC 0001 + 50 MR 0001 b2 + 50 MC 0006 + 52 PR 0840 08 + 52 PC 0840 + 55 MC 37d0 + 58 MW 37d0 08 + 58 MC 37d0 + 59 MC 37d0 + 60 MC 37d0 + 61 MC 37d0 + 62 MC 37d0 + 63 MC 0000 + 67 MR 0000 ed + 67 MC 0001 + 71 MR 0001 b2 + 71 MC 0008 + 73 PR 0740 07 + 73 PC 0740 + 76 MC 37d1 + 79 MW 37d1 07 + 79 MC 37d1 + 80 MC 37d1 + 81 MC 37d1 + 82 MC 37d1 + 83 MC 37d1 + 84 MC 0000 + 88 MR 0000 ed + 88 MC 0001 + 92 MR 0001 b2 + 92 MC 000a + 94 PR 0640 06 + 94 PC 0640 + 97 MC 37d2 + 100 MW 37d2 06 + 100 MC 37d2 + 101 MC 37d2 + 102 MC 37d2 + 103 MC 37d2 + 104 MC 37d2 + 105 MC 0000 + 109 MR 0000 ed + 109 MC 0001 + 113 MR 0001 b2 + 113 MC 000c + 115 PR 0540 05 + 115 PC 0540 + 118 MC 37d3 + 121 MW 37d3 05 + 121 MC 37d3 + 122 MC 37d3 + 123 MC 37d3 + 124 MC 37d3 + 125 MC 37d3 + 126 MC 0000 + 130 MR 0000 ed + 130 MC 0001 + 134 MR 0001 b2 + 134 MC 000e + 136 PR 0440 04 + 136 PC 0440 + 139 MC 37d4 + 142 MW 37d4 04 + 142 MC 37d4 + 143 MC 37d4 + 144 MC 37d4 + 145 MC 37d4 + 146 MC 37d4 + 147 MC 0000 + 151 MR 0000 ed + 151 MC 0001 + 155 MR 0001 b2 + 155 MC 0010 + 157 PR 0340 03 + 157 PC 0340 + 160 MC 37d5 + 163 MW 37d5 03 + 163 MC 37d5 + 164 MC 37d5 + 165 MC 37d5 + 166 MC 37d5 + 167 MC 37d5 + 168 MC 0000 + 172 MR 0000 ed + 172 MC 0001 + 176 MR 0001 b2 + 176 MC 0012 + 178 PR 0240 02 + 178 PC 0240 + 181 MC 37d6 + 184 MW 37d6 02 + 184 MC 37d6 + 185 MC 37d6 + 186 MC 37d6 + 187 MC 37d6 + 188 MC 37d6 + 189 MC 0000 + 193 MR 0000 ed + 193 MC 0001 + 197 MR 0001 b2 + 197 MC 0014 + 199 PR 0140 01 + 199 PC 0140 + 202 MC 37d7 + 205 MW 37d7 01 +8a40 0040 d98c 37d8 0000 0000 0000 0000 0000 0000 0000 0002 +00 14 0 0 0 0 205 +37ce 0a 09 08 07 06 05 04 03 02 01 -1 + +edb3 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 b3 + 8 MC 0002 + 9 MC 1d7c + 12 MR 1d7c 9d + 13 PW 02e0 9d + 13 PC 02e0 + 16 MC 02e0 + 17 MC 02e0 + 18 MC 02e0 + 19 MC 02e0 + 20 MC 02e0 + 21 MC 0000 + 25 MR 0000 ed + 25 MC 0001 + 29 MR 0001 b3 + 29 MC 0004 + 30 MC 1d7d + 33 MR 1d7d 24 + 34 PW 01e0 24 + 34 PC 01e0 + 37 MC 01e0 + 38 MC 01e0 + 39 MC 01e0 + 40 MC 01e0 + 41 MC 01e0 + 42 MC 0000 + 46 MR 0000 ed + 46 MC 0001 + 50 MR 0001 b3 + 50 MC 0006 + 51 MC 1d7e + 54 MR 1d7e aa + 55 PW 00e0 aa + 55 PC 00e0 +3453 00e0 41b9 1d7f 0000 0000 0000 0000 0000 0000 0000 0002 +00 06 0 0 0 0 58 + +edb8 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 b8 + 8 MC 4dcf + 11 MR 4dcf 0a + 11 MC 68e8 + 14 MW 68e8 0a + 14 MC 68e8 + 15 MC 68e8 + 16 MC 68e8 + 17 MC 68e8 + 18 MC 68e8 + 19 MC 68e8 + 20 MC 68e8 + 21 MC 0000 + 25 MR 0000 ed + 25 MC 0001 + 29 MR 0001 b8 + 29 MC 4dce + 32 MR 4dce 23 + 32 MC 68e7 + 35 MW 68e7 23 + 35 MC 68e7 + 36 MC 68e7 + 37 MC 68e7 + 38 MC 68e7 + 39 MC 68e7 + 40 MC 68e7 + 41 MC 68e7 + 42 MC 0000 + 46 MR 0000 ed + 46 MC 0001 + 50 MR 0001 b8 + 50 MC 4dcd + 53 MR 4dcd 74 + 53 MC 68e6 + 56 MW 68e6 74 + 56 MC 68e6 + 57 MC 68e6 + 58 MC 68e6 + 59 MC 68e6 + 60 MC 68e6 + 61 MC 68e6 + 62 MC 68e6 + 63 MC 0000 + 67 MR 0000 ed + 67 MC 0001 + 71 MR 0001 b8 + 71 MC 4dcc + 74 MR 4dcc 55 + 74 MC 68e5 + 77 MW 68e5 55 + 77 MC 68e5 + 78 MC 68e5 + 79 MC 68e5 + 80 MC 68e5 + 81 MC 68e5 + 82 MC 68e5 + 83 MC 68e5 + 84 MC 0000 + 88 MR 0000 ed + 88 MC 0001 + 92 MR 0001 b8 + 92 MC 4dcb + 95 MR 4dcb c3 + 95 MC 68e4 + 98 MW 68e4 c3 + 98 MC 68e4 + 99 MC 68e4 + 100 MC 68e4 + 101 MC 68e4 + 102 MC 68e4 + 103 MC 68e4 + 104 MC 68e4 + 105 MC 0000 + 109 MR 0000 ed + 109 MC 0001 + 113 MR 0001 b8 + 113 MC 4dca + 116 MR 4dca a7 + 116 MC 68e3 + 119 MW 68e3 a7 + 119 MC 68e3 + 120 MC 68e3 + 121 MC 68e3 + 122 MC 68e3 + 123 MC 68e3 + 124 MC 68e3 + 125 MC 68e3 + 126 MC 0000 + 130 MR 0000 ed + 130 MC 0001 + 134 MR 0001 b8 + 134 MC 4dc9 + 137 MR 4dc9 85 + 137 MC 68e2 + 140 MW 68e2 85 + 140 MC 68e2 + 141 MC 68e2 + 142 MC 68e2 + 143 MC 68e2 + 144 MC 68e2 + 145 MC 68e2 + 146 MC 68e2 + 147 MC 0000 + 151 MR 0000 ed + 151 MC 0001 + 155 MR 0001 b8 + 155 MC 4dc8 + 158 MR 4dc8 29 + 158 MC 68e1 + 161 MW 68e1 29 + 161 MC 68e1 + 162 MC 68e1 +e569 0000 68e0 4dc7 0000 0000 0000 0000 0000 0000 0000 0002 +00 10 0 0 0 0 163 +68e1 29 85 a7 c3 55 74 23 0a -1 + +edb9 + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 b9 + 8 MC c749 + 11 MR c749 6c + 11 MC c749 + 12 MC c749 + 13 MC c749 + 14 MC c749 + 15 MC c749 + 16 MC c749 + 17 MC c749 + 18 MC c749 + 19 MC c749 + 20 MC c749 + 21 MC 0000 + 25 MR 0000 ed + 25 MC 0001 + 29 MR 0001 b9 + 29 MC c748 + 32 MR c748 4e + 32 MC c748 + 33 MC c748 + 34 MC c748 + 35 MC c748 + 36 MC c748 + 37 MC c748 + 38 MC c748 + 39 MC c748 + 40 MC c748 + 41 MC c748 + 42 MC 0000 + 46 MR 0000 ed + 46 MC 0001 + 50 MR 0001 b9 + 50 MC c747 + 53 MR c747 01 + 53 MC c747 + 54 MC c747 + 55 MC c747 + 56 MC c747 + 57 MC c747 + 58 MC c747 + 59 MC c747 + 60 MC c747 + 61 MC c747 + 62 MC c747 + 63 MC 0000 + 67 MR 0000 ed + 67 MC 0001 + 71 MR 0001 b9 + 71 MC c746 + 74 MR c746 5a + 74 MC c746 + 75 MC c746 + 76 MC c746 + 77 MC c746 + 78 MC c746 + 79 MC c746 + 80 MC c746 + 81 MC c746 + 82 MC c746 + 83 MC c746 + 84 MC 0000 + 88 MR 0000 ed + 88 MC 0001 + 92 MR 0001 b9 + 92 MC c745 + 95 MR c745 ec + 95 MC c745 + 96 MC c745 + 97 MC c745 + 98 MC c745 + 99 MC c745 + 100 MC c745 + 101 MC c745 + 102 MC c745 + 103 MC c745 + 104 MC c745 + 105 MC 0000 + 109 MR 0000 ed + 109 MC 0001 + 113 MR 0001 b9 + 113 MC c744 + 116 MR c744 85 + 116 MC c744 + 117 MC c744 + 118 MC c744 + 119 MC c744 + 120 MC c744 + 121 MC c744 + 122 MC c744 + 123 MC c744 + 124 MC c744 + 125 MC c744 + 126 MC 0000 + 130 MR 0000 ed + 130 MC 0001 + 134 MR 0001 b9 + 134 MC c743 + 137 MR c743 09 + 137 MC c743 + 138 MC c743 + 139 MC c743 + 140 MC c743 + 141 MC c743 + 142 MC c743 + 143 MC c743 + 144 MC c743 + 145 MC c743 + 146 MC c743 + 147 MC 0000 + 151 MR 0000 ed + 151 MC 0001 + 155 MR 0001 b9 + 155 MC c742 + 158 MR c742 c6 + 158 MC c742 + 159 MC c742 + 160 MC c742 + 161 MC c742 + 162 MC c742 +ff0b 0000 a171 c741 0000 0000 0000 0000 0000 0000 0000 0002 +00 10 0 0 0 0 163 + +edba + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 ba + 8 MC 0002 + 10 PR 069f 06 + 13 MC 6b55 + 16 MW 6b55 06 + 16 MC 6b55 + 17 MC 6b55 + 18 MC 6b55 + 19 MC 6b55 + 20 MC 6b55 + 21 MC 0000 + 25 MR 0000 ed + 25 MC 0001 + 29 MR 0001 ba + 29 MC 0004 + 31 PR 059f 05 + 34 MC 6b54 + 37 MW 6b54 05 + 37 MC 6b54 + 38 MC 6b54 + 39 MC 6b54 + 40 MC 6b54 + 41 MC 6b54 + 42 MC 0000 + 46 MR 0000 ed + 46 MC 0001 + 50 MR 0001 ba + 50 MC 0006 + 52 PR 049f 04 + 55 MC 6b53 + 58 MW 6b53 04 + 58 MC 6b53 + 59 MC 6b53 + 60 MC 6b53 + 61 MC 6b53 + 62 MC 6b53 + 63 MC 0000 + 67 MR 0000 ed + 67 MC 0001 + 71 MR 0001 ba + 71 MC 0008 + 73 PR 039f 03 + 76 MC 6b52 + 79 MW 6b52 03 + 79 MC 6b52 + 80 MC 6b52 + 81 MC 6b52 + 82 MC 6b52 + 83 MC 6b52 + 84 MC 0000 + 88 MR 0000 ed + 88 MC 0001 + 92 MR 0001 ba + 92 MC 000a + 94 PR 029f 02 + 97 MC 6b51 + 100 MW 6b51 02 + 100 MC 6b51 + 101 MC 6b51 + 102 MC 6b51 + 103 MC 6b51 + 104 MC 6b51 + 105 MC 0000 + 109 MR 0000 ed + 109 MC 0001 + 113 MR 0001 ba + 113 MC 000c + 115 PR 019f 01 + 118 MC 6b50 + 121 MW 6b50 01 +2540 009f d40d 6b4f 0000 0000 0000 0000 0000 0000 0000 0002 +00 0c 0 0 0 0 121 +6b50 01 02 03 04 05 06 -1 + +edbb + 0 MC 0000 + 4 MR 0000 ed + 4 MC 0001 + 8 MR 0001 bb + 8 MC 0002 + 9 MC 1dd0 + 12 MR 1dd0 b6 + 13 PW 033b b6 + 16 MC 033b + 17 MC 033b + 18 MC 033b + 19 MC 033b + 20 MC 033b + 21 MC 0000 + 25 MR 0000 ed + 25 MC 0001 + 29 MR 0001 bb + 29 MC 0004 + 30 MC 1dcf + 33 MR 1dcf c5 + 34 PW 023b c5 + 37 MC 023b + 38 MC 023b + 39 MC 023b + 40 MC 023b + 41 MC 023b + 42 MC 0000 + 46 MR 0000 ed + 46 MC 0001 + 50 MR 0001 bb + 50 MC 0006 + 51 MC 1dce + 54 MR 1dce 71 + 55 PW 013b 71 + 58 MC 013b + 59 MC 013b + 60 MC 013b + 61 MC 013b + 62 MC 013b + 63 MC 0000 + 67 MR 0000 ed + 67 MC 0001 + 71 MR 0001 bb + 71 MC 0008 + 72 MC 1dcd + 75 MR 1dcd f9 + 76 PW 003b f9 +0957 003b be49 1dcc 0000 0000 0000 0000 0000 0000 0000 0002 +00 08 0 0 0 0 79 + +ee + 0 MC 0000 + 4 MR 0000 ee + 4 MC 0001 + 7 MR 0001 d0 +eeac 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 + +ef + 0 MC 6d33 + 4 MR 6d33 ef + 4 MC 0001 + 5 MC 5506 + 8 MW 5506 6d + 8 MC 5505 + 11 MW 5505 34 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 5505 0028 +00 01 0 0 0 0 11 +5505 34 6d -1 + +f0_1 + 0 MC 0000 + 4 MR 0000 f0 + 4 MC 0001 + 5 MC 43f7 + 8 MR 43f7 e9 + 8 MC 43f8 + 11 MR 43f8 af +0018 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f9 afe9 +00 01 0 0 0 0 11 + +f0_2 + 0 MC 0000 + 4 MR 0000 f0 + 4 MC 0001 +0098 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0001 +00 01 0 0 0 0 5 + +f1 + 0 MC 0000 + 4 MR 0000 f1 + 4 MC 4143 + 7 MR 4143 ce + 7 MC 4144 + 10 MR 4144 e8 +e8ce 0000 0000 0000 0000 0000 0000 0000 0000 0000 4145 0001 +00 01 0 0 0 0 10 + +f2_1 + 0 MC 0000 + 4 MR 0000 f2 + 4 MC 0001 + 7 MR 0001 1b + 7 MC 0002 + 10 MR 0002 e1 +0007 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 e11b +00 01 0 0 0 0 10 + +f2_2 + 0 MC 0000 + 4 MR 0000 f2 + 4 MC 0001 + 7 MC 0002 +0087 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0003 +00 01 0 0 0 0 10 + +f3 + 0 MC 0000 + 4 MR 0000 f3 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 + +f4_1 + 0 MC 0000 + 4 MR 0000 f4 + 4 MC 0001 + 7 MR 0001 61 + 7 MC 0002 + 10 MR 0002 9c + 10 MC 0002 + 11 MC 5697 + 14 MW 5697 00 + 14 MC 5696 + 17 MW 5696 03 +000e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5696 9c61 +00 01 0 0 0 0 17 +5696 03 00 -1 + +f4_2 + 0 MC 0000 + 4 MR 0000 f4 + 4 MC 0001 + 7 MC 0002 +008e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0003 +00 01 0 0 0 0 10 + +f5 + 0 MC 0000 + 4 MR 0000 f5 + 4 MC 0001 + 5 MC ec11 + 8 MW ec11 53 + 8 MC ec10 + 11 MW ec10 e3 +53e3 1459 775f 1a2f 0000 0000 0000 0000 0000 0000 ec10 0001 +00 01 0 0 0 0 11 +ec10 e3 53 -1 + +f6 + 0 MC 0000 + 4 MR 0000 f6 + 4 MC 0001 + 7 MR 0001 a7 +a7a0 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 + +f7 + 0 MC 6d33 + 4 MR 6d33 f7 + 4 MC 0001 + 5 MC 5506 + 8 MW 5506 6d + 8 MC 5505 + 11 MW 5505 34 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 5505 0030 +00 01 0 0 0 0 11 +5505 34 6d -1 + +f8_1 + 0 MC 0000 + 4 MR 0000 f8 + 4 MC 0001 +0018 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0001 +00 01 0 0 0 0 5 + +f8_2 + 0 MC 0000 + 4 MR 0000 f8 + 4 MC 0001 + 5 MC 43f7 + 8 MR 43f7 e9 + 8 MC 43f8 + 11 MR 43f8 af +0098 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f9 afe9 +00 01 0 0 0 0 11 + +f9 + 0 MC 0000 + 4 MR 0000 f9 + 4 MC 0001 + 5 MC 0001 +0000 0000 0000 ce32 0000 0000 0000 0000 0000 0000 ce32 0001 +00 01 0 0 0 0 6 + +fa_1 + 0 MC 0000 + 4 MR 0000 fa + 4 MC 0001 + 7 MR 0001 1b + 7 MC 0002 + 10 MR 0002 e1 +0087 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 e11b +00 01 0 0 0 0 10 + +fa_2 + 0 MC 0000 + 4 MR 0000 fa + 4 MC 0001 + 7 MC 0002 +0007 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0003 +00 01 0 0 0 0 10 + +fb + 0 MC 0000 + 4 MR 0000 fb +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 1 1 0 0 4 + +fc_1 + 0 MC 0000 + 4 MR 0000 fc + 4 MC 0001 + 7 MR 0001 61 + 7 MC 0002 + 10 MR 0002 9c + 10 MC 0002 + 11 MC 5697 + 14 MW 5697 00 + 14 MC 5696 + 17 MW 5696 03 +008e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5696 9c61 +00 01 0 0 0 0 17 +5696 03 00 -1 + +fc_2 + 0 MC 0000 + 4 MR 0000 fc + 4 MC 0001 + 7 MC 0002 +000e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0003 +00 01 0 0 0 0 10 + +fd09 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 09 + 8 MC 0002 + 9 MC 0002 + 10 MC 0002 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 +4649 a623 bab2 d788 0000 0000 0000 0000 c9e8 9cbb 0000 0002 +00 02 0 0 0 0 15 + +fd19 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 19 + 8 MC 0002 + 9 MC 0002 + 10 MC 0002 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 +b3ec 5336 76cb 54e2 0000 0000 0000 0000 b9ce fcef 0000 0002 +00 02 0 0 0 0 15 + +fd21 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 21 + 8 MC 0002 + 11 MR 0002 46 + 11 MC 0003 + 14 MR 0003 47 +c924 5c83 e0e2 eddb 0000 0000 0000 0000 6e9f 4746 0000 0004 +00 02 0 0 0 0 14 + +fd22 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 22 + 8 MC 0002 + 11 MR 0002 9a + 11 MC 0003 + 14 MR 0003 e2 + 14 MC e29a + 17 MW e29a e4 + 17 MC e29b + 20 MW e29b 81 +1235 f0b6 b74c cc9f 0000 0000 0000 0000 8b00 81e4 0000 0004 +00 02 0 0 0 0 20 +e29a e4 81 -1 + +fd23 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 23 + 8 MC 0002 + 9 MC 0002 +69f2 c1d3 0f6f 2169 0000 0000 0000 0000 e39e 2606 0000 0002 +00 02 0 0 0 0 10 + +fd24 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 24 +5520 9684 d36a dac3 0000 0000 0000 0000 7803 6534 0000 0002 +00 02 0 0 0 0 8 + +fd25 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 25 +cd03 b5e4 a754 9526 0000 0000 0000 0000 3dcb 02b2 0000 0002 +00 02 0 0 0 0 8 + +fd26 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 26 + 8 MC 0002 + 11 MR 0002 77 +2452 300b b4a1 929d 0000 0000 0000 0000 c259 7730 0000 0003 +00 02 0 0 0 0 11 + +fd29 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 29 + 8 MC 0002 + 9 MC 0002 + 10 MC 0002 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 +5830 49d0 ec95 011c 0000 0000 0000 0000 ec6c b298 0000 0002 +00 02 0 0 0 0 15 + +fd2a + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 2a + 8 MC 0002 + 11 MR 0002 91 + 11 MC 0003 + 14 MR 0003 f9 + 14 MC f991 + 17 MR f991 92 + 17 MC f992 + 20 MR f992 bf +0f82 3198 87e3 7c1c 0000 0000 0000 0000 1bb4 bf92 0000 0004 +00 02 0 0 0 0 20 + +fd2b + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 2b + 8 MC 0002 + 9 MC 0002 +ab27 942f 82fa 6f2f 0000 0000 0000 0000 9438 ebbb 0000 0002 +00 02 0 0 0 0 10 + +fd2c + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 2c +66a9 0ab1 5656 e5a9 0000 0000 0000 0000 5fb9 4df8 0000 0002 +00 02 0 0 0 0 8 + +fd2d + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 2d +320b f78a b906 31d0 0000 0000 0000 0000 c72a e91b 0000 0002 +00 02 0 0 0 0 8 + +fd2e + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 2e + 8 MC 0002 + 11 MR 0002 49 +2114 4923 6e65 006c 0000 0000 0000 0000 da39 c049 0000 0003 +00 02 0 0 0 0 11 + +fd34 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 34 + 8 MC 0002 + 11 MR 0002 b8 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC ef7c + 19 MR ef7c e0 + 19 MC ef7c + 20 MC ef7c + 23 MW ef7c e1 +d5a0 6f24 7df7 74f0 0000 0000 0000 0000 365a efc4 0000 0003 +00 02 0 0 0 0 23 +ef7c e1 -1 + +fd35 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 35 + 8 MC 0002 + 11 MR 0002 ab + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC ae71 + 19 MR ae71 a6 + 19 MC ae71 + 20 MC ae71 + 23 MW ae71 a5 +8ca2 35d8 7c1a 1c0a 0000 0000 0000 0000 62bb aec6 0000 0003 +00 02 0 0 0 0 23 +ae71 a5 -1 + +fd36 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 36 + 8 MC 0002 + 11 MR 0002 81 + 11 MC 0003 + 14 MR 0003 c5 + 14 MC 0003 + 15 MC 0003 + 16 MC bd55 + 19 MW bd55 c5 +e0f9 ae1f 4aef c9d5 0000 0000 0000 0000 c0db bdd4 0000 0004 +00 02 0 0 0 0 19 +bd55 c5 -1 + +fd39 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 39 + 8 MC 0002 + 9 MC 0002 + 10 MC 0002 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 +2631 726f 9c7f cd46 0000 0000 0000 0000 dc45 312c dc57 0002 +00 02 0 0 0 0 15 + +fd44 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 44 +0e58 6892 3580 9be4 0000 0000 0000 0000 1b79 685e 0000 0002 +00 02 0 0 0 0 8 + +fd45 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 45 +6555 7788 5ae8 c948 0000 0000 0000 0000 d7b8 a177 0000 0002 +00 02 0 0 0 0 8 + +fd46 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 46 + 8 MC 0002 + 11 MR 0002 4d + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC 3b49 + 19 MR 3b49 c9 +87f3 c9d5 5eea 830b 0000 0000 0000 0000 dcee 3afc 0000 0003 +00 02 0 0 0 0 19 + +fd4c + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 4c +7e6b bd01 24b6 ff94 0000 0000 0000 0000 862d 01d0 0000 0002 +00 02 0 0 0 0 8 + +fd4d + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 4d +50cf e3c9 998e dba2 0000 0000 0000 0000 c4f5 c7c9 0000 0002 +00 02 0 0 0 0 8 + +fd4e + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 4e + 8 MC 0002 + 11 MR 0002 67 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC bc01 + 19 MR bc01 9d +2c0f 699d 748a 9290 0000 0000 0000 0000 904f bb9a 0000 0003 +00 02 0 0 0 0 19 + +fd54 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 54 +d7f9 f65b d401 d4c4 0000 0000 0000 0000 4b8e d437 0000 0002 +00 02 0 0 0 0 8 + +fd55 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 55 +ab98 fdab a94a 010e 0000 0000 0000 0000 126b 13a9 0000 0002 +00 02 0 0 0 0 8 + +fd56 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 56 + 8 MC 0002 + 11 MR 0002 ce + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC fd70 + 19 MR fd70 78 +d3e8 df10 7842 b641 0000 0000 0000 0000 a5a0 fda2 0000 0003 +00 02 0 0 0 0 19 + +fd5c + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 5c +11d5 c489 e2d8 434e 0000 0000 0000 0000 3244 d8bb 0000 0002 +00 02 0 0 0 0 8 + +fd5d + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 5d +e945 dbae 324e 4f7e 0000 0000 0000 0000 fa56 074e 0000 0002 +00 02 0 0 0 0 8 + +fd5e + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 5e + 8 MC 0002 + 11 MR 0002 c6 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC 8a70 + 19 MR 8a70 8c +6f3b e9dc 7a8c 14f3 0000 0000 0000 0000 ec76 8aaa 0000 0003 +00 02 0 0 0 0 19 + +fd60 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 60 +8579 005d d9ee faee 0000 0000 0000 0000 382d 0095 0000 0002 +00 02 0 0 0 0 8 + +fd61 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 61 +5682 dbc3 b495 9799 0000 0000 0000 0000 85b2 c31e 0000 0002 +00 02 0 0 0 0 8 + +fd62 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 62 +906b f52e f3d8 1e8c 0000 0000 0000 0000 ddba f302 0000 0002 +00 02 0 0 0 0 8 + +fd63 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 63 +9d59 beb9 d826 0eaa 0000 0000 0000 0000 4290 26b9 0000 0002 +00 02 0 0 0 0 8 + +fd64 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 64 +7b0e e394 8a25 cddf 0000 0000 0000 0000 9784 2116 0000 0002 +00 02 0 0 0 0 8 + +fd65 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 65 +b827 eb4f f666 c52a 0000 0000 0000 0000 6206 1f1f 0000 0002 +00 02 0 0 0 0 8 + +fd66 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 66 + 8 MC 0002 + 11 MR 0002 80 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC 5aa4 + 19 MR 5aa4 77 +9129 e4ee e3a3 77ca 0000 0000 0000 0000 4d93 5b24 0000 0003 +00 02 0 0 0 0 19 + +fd67 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 67 +db7a b40b 7b58 49fd 0000 0000 0000 0000 266f db7b 0000 0002 +00 02 0 0 0 0 8 + +fd68 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 68 +4d1d 4fd9 783e 0745 0000 0000 0000 0000 0c3d 824f 0000 0002 +00 02 0 0 0 0 8 + +fd69 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 69 +1589 5ceb b5db 922a 0000 0000 0000 0000 3c3a dceb 0000 0002 +00 02 0 0 0 0 8 + +fd6a + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 6a +607a e035 5bb9 dac0 0000 0000 0000 0000 fc04 b55b 0000 0002 +00 02 0 0 0 0 8 + +fd6b + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 6b +db2a e244 1182 096f 0000 0000 0000 0000 198e 9182 0000 0002 +00 02 0 0 0 0 8 + +fd6c + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 6c +a0be 34ef 8fcd 40a7 0000 0000 0000 0000 4481 c2c2 0000 0002 +00 02 0 0 0 0 8 + +fd6d + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 6d +fdfc 727a b839 50a6 0000 0000 0000 0000 e782 02e5 0000 0002 +00 02 0 0 0 0 8 + +fd6e + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 6e + 8 MC 0002 + 11 MR 0002 78 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC b11b + 19 MR b11b f8 +cfd4 6ef1 c07d ebf8 0000 0000 0000 0000 b0f9 b0a3 0000 0003 +00 02 0 0 0 0 19 + +fd6f + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 6f +8e1d a138 f20a 298e 0000 0000 0000 0000 b600 0c8e 0000 0002 +00 02 0 0 0 0 8 + +fd70 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 70 + 8 MC 0002 + 11 MR 0002 53 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC 23f4 + 19 MW 23f4 33 +2677 33c5 c0dc 262f 0000 0000 0000 0000 d3dc 23a1 0000 0003 +00 02 0 0 0 0 19 +23f4 33 -1 + +fd71 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 71 + 8 MC 0002 + 11 MR 0002 b4 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC bf5f + 19 MW bf5f ae +892e 04ae d67f 81ec 0000 0000 0000 0000 7757 bfab 0000 0003 +00 02 0 0 0 0 19 +bf5f ae -1 + +fd72 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 72 + 8 MC 0002 + 11 MR 0002 e3 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC 7c63 + 19 MW 7c63 dd +d2dc c23c dd54 6559 0000 0000 0000 0000 b32b 7c80 0000 0003 +00 02 0 0 0 0 19 +7c63 dd -1 + +fd73 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 73 + 8 MC 0002 + 11 MR 0002 17 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC 8779 + 19 MW 8779 09 +49ef bff2 8409 02dd 0000 0000 0000 0000 af95 8762 0000 0003 +00 02 0 0 0 0 19 +8779 09 -1 + +fd74 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 74 + 8 MC 0002 + 11 MR 0002 f6 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC 92d1 + 19 MW 92d1 1f +9479 9817 fa2e 1fe0 0000 0000 0000 0000 a395 92db 0000 0003 +00 02 0 0 0 0 19 +92d1 1f -1 + +fd75 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 75 + 8 MC 0002 + 11 MR 0002 ab + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC 16cf + 19 MW 16cf 7b +c8d6 6aa4 180e e37b 0000 0000 0000 0000 02cf 1724 0000 0003 +00 02 0 0 0 0 19 +16cf 7b -1 + +fd77 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 77 + 8 MC 0002 + 11 MR 0002 f7 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC 6b44 + 19 MW 6b44 6f +6f9e 7475 78ad 2b8c 0000 0000 0000 0000 c6b7 6b4d 0000 0003 +00 02 0 0 0 0 19 +6b44 6f -1 + +fd7c + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 7c +c628 93fc a3d4 dc9e 0000 0000 0000 0000 21ac c617 0000 0002 +00 02 0 0 0 0 8 + +fd7d + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 7d +b9e5 3cbe 02c3 26c2 0000 0000 0000 0000 ca81 92b9 0000 0002 +00 02 0 0 0 0 8 + +fd7e + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 7e + 8 MC 0002 + 11 MR 0002 e4 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC d443 + 19 MR d443 aa +aa96 daba 147b f362 0000 0000 0000 0000 7110 d45f 0000 0003 +00 02 0 0 0 0 19 + +fd84 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 84 +7f2d 7cae c4da 7aee 0000 0000 0000 0000 43ee c08e 0000 0002 +00 02 0 0 0 0 8 + +fd85 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 85 +eba8 1dea 324f 84e7 0000 0000 0000 0000 e7a8 f799 0000 0002 +00 02 0 0 0 0 8 + +fd86 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 86 + 8 MC 0002 + 11 MR 0002 ce + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC 8b01 + 19 MR 8b01 e1 +dd89 b882 43f9 3e15 0000 0000 0000 0000 9781 8b33 0000 0003 +00 02 0 0 0 0 19 + +fd8c + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 8c +3839 42b1 5e8a 081c 0000 0000 0000 0000 cb58 3b4e 0000 0002 +00 02 0 0 0 0 8 + +fd8d + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 8d +8f89 7750 8ad6 295c 0000 0000 0000 0000 695c 99fb 0000 0002 +00 02 0 0 0 0 8 + +fd8e + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 8e + 8 MC 0002 + 11 MR 0002 78 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC 1b1a + 19 MR 1b1a c0 +0101 398f f6dc 06f3 0000 0000 0000 0000 f34a 1aa2 0000 0003 +00 02 0 0 0 0 19 + +fd94 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 94 +2f3b d255 b9d6 20bb 0000 0000 0000 0000 1e6a d5ef 0000 0002 +00 02 0 0 0 0 8 + +fd95 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 95 +f4a3 b455 2388 ec1e 0000 0000 0000 0000 7637 cb97 0000 0002 +00 02 0 0 0 0 8 + +fd96 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 96 + 8 MC 0002 + 11 MR 0002 55 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC c0e0 + 19 MR c0e0 7b +2536 22ac 0413 4b13 0000 0000 0000 0000 b44e c08b 0000 0003 +00 02 0 0 0 0 19 + +fd9c + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 9c +f3a3 3ecf ced3 66ec 0000 0000 0000 0000 4bff b133 0000 0002 +00 02 0 0 0 0 8 + +fd9d + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 9d +fdbb 8bd0 131b 3094 0000 0000 0000 0000 afc3 7409 0000 0002 +00 02 0 0 0 0 8 + +fd9e + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 9e + 8 MC 0002 + 11 MR 0002 f9 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC f665 + 19 MR f665 f3 +c583 981f bb8e d6d5 0000 0000 0000 0000 5c3b f66c 0000 0003 +00 02 0 0 0 0 19 + +fda4 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 a4 +0054 79c0 2c7c 3e06 0000 0000 0000 0000 7399 037a 0000 0002 +00 02 0 0 0 0 8 + +fda5 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 a5 +0054 654d 9653 2b33 0000 0000 0000 0000 61a4 8f88 0000 0002 +00 02 0 0 0 0 8 + +fda6 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 a6 + 8 MC 0002 + 11 MR 0002 53 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC 65ee + 19 MR 65ee 95 +9594 40bb 3742 6ff1 0000 0000 0000 0000 ad28 659b 0000 0003 +00 02 0 0 0 0 19 + +fdac + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 ac +2724 72e3 dd4d 1b62 0000 0000 0000 0000 4753 5d63 0000 0002 +00 02 0 0 0 0 8 + +fdad + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 ad +eca8 2573 19cc 78fb 0000 0000 0000 0000 5248 8391 0000 0002 +00 02 0 0 0 0 8 + +fdae + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 ae + 8 MC 0002 + 11 MR 0002 09 + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC 8201 + 19 MR 8201 cb +6b28 bc27 257b 5489 0000 0000 0000 0000 fa59 81f8 0000 0003 +00 02 0 0 0 0 19 + +fdb4 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 b4 +cf8c 3461 f173 8ad3 0000 0000 0000 0000 c1a2 8265 0000 0002 +00 02 0 0 0 0 8 + +fdb5 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 b5 +3720 e6ea f919 327c 0000 0000 0000 0000 4299 9733 0000 0002 +00 02 0 0 0 0 8 + +fdb6 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 b6 + 8 MC 0002 + 11 MR 0002 4b + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC dfb8 + 19 MR dfb8 64 +ffac 3509 d6ca b16a 0000 0000 0000 0000 a099 df6d 0000 0003 +00 02 0 0 0 0 19 + +fdbc + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 bc +b49a 9302 e35d 31bc 0000 0000 0000 0000 5c12 1c92 0000 0002 +00 02 0 0 0 0 8 + +fdbd + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 bd +391a 7b82 dfeb 03ee 0000 0000 0000 0000 be7b b30f 0000 0002 +00 02 0 0 0 0 8 + +fdbe + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 be + 8 MC 0002 + 11 MR 0002 6b + 11 MC 0002 + 12 MC 0002 + 13 MC 0002 + 14 MC 0002 + 15 MC 0002 + 16 MC a9d6 + 19 MR a9d6 c0 +0903 0b31 f4ad 9d4c 0000 0000 0000 0000 b95a a96b 0000 0003 +00 02 0 0 0 0 19 + +fdcb00 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 0b + 11 MC 0003 + 14 MR 0003 00 + 14 MC 0003 + 15 MC 0003 + 16 MC 2781 + 19 MR 2781 50 + 19 MC 2781 + 20 MC 2781 + 23 MW 2781 a0 +85a4 a0d0 a135 20c5 0000 0000 0000 0000 b8de 2776 0000 0004 +00 02 0 0 0 0 23 +2781 a0 -1 + +fdcb01 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 c8 + 11 MC 0003 + 14 MR 0003 01 + 14 MC 0003 + 15 MC 0003 + 16 MC 5bfd + 19 MR 5bfd cb + 19 MC 5bfd + 20 MC 5bfd + 23 MW 5bfd 97 +5781 2b97 3576 280a 0000 0000 0000 0000 ae22 5c35 0000 0004 +00 02 0 0 0 0 23 +5bfd 97 -1 + +fdcb02 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 14 + 11 MC 0003 + 14 MR 0003 02 + 14 MC 0003 + 15 MC 0003 + 16 MC 3e06 + 19 MR 3e06 58 + 19 MC 3e06 + 20 MC 3e06 + 23 MW 3e06 b0 +dca0 2b37 b0c8 5dd9 0000 0000 0000 0000 b2d2 3df2 0000 0004 +00 02 0 0 0 0 23 +3e06 b0 -1 + +fdcb03 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 3a + 11 MC 0003 + 14 MR 0003 03 + 14 MC 0003 + 15 MC 0003 + 16 MC 5821 + 19 MR 5821 1a + 19 MC 5821 + 20 MC 5821 + 23 MW 5821 34 +5720 c179 b234 7058 0000 0000 0000 0000 3f2e 57e7 0000 0004 +00 02 0 0 0 0 23 +5821 34 -1 + +fdcb04 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 67 + 11 MC 0003 + 14 MR 0003 04 + 14 MC 0003 + 15 MC 0003 + 16 MC 50d8 + 19 MR 50d8 92 + 19 MC 50d8 + 20 MC 50d8 + 23 MW 50d8 25 +ed21 3f03 3327 255a 0000 0000 0000 0000 cbf2 5071 0000 0004 +00 02 0 0 0 0 23 +50d8 25 -1 + +fdcb05 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 1e + 11 MC 0003 + 14 MR 0003 05 + 14 MC 0003 + 15 MC 0003 + 16 MC b279 + 19 MR b279 66 + 19 MC b279 + 20 MC b279 + 23 MW b279 cc +7a8c 0858 db6c dbcc 0000 0000 0000 0000 157a b25b 0000 0004 +00 02 0 0 0 0 23 +b279 cc -1 + +fdcb06 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 72 + 11 MC 0003 + 14 MR 0003 06 + 14 MC 0003 + 15 MC 0003 + 16 MC ff99 + 19 MR ff99 f1 + 19 MC ff99 + 20 MC ff99 + 23 MW ff99 e3 +f2a1 89a2 e78f ef74 0000 0000 0000 0000 140d ff27 0000 0004 +00 02 0 0 0 0 23 +ff99 e3 -1 + +fdcb07 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 24 + 11 MC 0003 + 14 MR 0003 07 + 14 MC 0003 + 15 MC 0003 + 16 MC 080f + 19 MR 080f ae + 19 MC 080f + 20 MC 080f + 23 MW 080f 5d +5d09 f3a7 3a6e 8f0a 0000 0000 0000 0000 8423 07eb 0000 0004 +00 02 0 0 0 0 23 +080f 5d -1 + +fdcb08 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 25 + 11 MC 0003 + 14 MR 0003 08 + 14 MC 0003 + 15 MC 0003 + 16 MC 615c + 19 MR 615c 83 + 19 MC 615c + 20 MC 615c + 23 MW 615c c1 +a681 c1ec c958 7bda 0000 0000 0000 0000 194d 6137 0000 0004 +00 02 0 0 0 0 23 +615c c1 -1 + +fdcb09 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 a0 + 11 MC 0003 + 14 MR 0003 09 + 14 MC 0003 + 15 MC 0003 + 16 MC 197a + 19 MR 197a 27 + 19 MC 197a + 20 MC 197a + 23 MW 197a 93 +5485 fa93 84e8 4fa5 0000 0000 0000 0000 1ad3 19da 0000 0004 +00 02 0 0 0 0 23 +197a 93 -1 + +fdcb0a + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 e1 + 11 MC 0003 + 14 MR 0003 0a + 14 MC 0003 + 15 MC 0003 + 16 MC eed7 + 19 MR eed7 19 + 19 MC eed7 + 20 MC eed7 + 23 MW eed7 8c +b389 a2bb 8cd6 9617 0000 0000 0000 0000 f946 eef6 0000 0004 +00 02 0 0 0 0 23 +eed7 8c -1 + +fdcb0b + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 0c + 11 MC 0003 + 14 MR 0003 0b + 14 MC 0003 + 15 MC 0003 + 16 MC c69b + 19 MR c69b f2 + 19 MC c69b + 20 MC c69b + 23 MW c69b 79 +ae28 8c4e e179 1c54 0000 0000 0000 0000 e108 c68f 0000 0004 +00 02 0 0 0 0 23 +c69b 79 -1 + +fdcb0c + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 d7 + 11 MC 0003 + 14 MR 0003 0c + 14 MC 0003 + 15 MC 0003 + 16 MC 8c74 + 19 MR 8c74 ae + 19 MC 8c74 + 20 MC 8c74 + 23 MW 8c74 57 +8700 6b16 4c3b 570a 0000 0000 0000 0000 175a 8c9d 0000 0004 +00 02 0 0 0 0 23 +8c74 57 -1 + +fdcb0d + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 11 + 11 MC 0003 + 14 MR 0003 0d + 14 MC 0003 + 15 MC 0003 + 16 MC fe3e + 19 MR fe3e 1b + 19 MC fe3e + 20 MC fe3e + 23 MW fe3e 8d +128d e0cb 3ab1 248d 0000 0000 0000 0000 1de4 fe2d 0000 0004 +00 02 0 0 0 0 23 +fe3e 8d -1 + +fdcb0e + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 0c + 11 MC 0003 + 14 MR 0003 0e + 14 MC 0003 + 15 MC 0003 + 16 MC f22f + 19 MR f22f f7 + 19 MC f22f + 20 MC f22f + 23 MW f22f fb +8da9 8f91 fc5a 5e2c 0000 0000 0000 0000 b2f2 f223 0000 0004 +00 02 0 0 0 0 23 +f22f fb -1 + +fdcb0f + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 15 + 11 MC 0003 + 14 MR 0003 0f + 14 MC 0003 + 15 MC 0003 + 16 MC ce4d + 19 MR ce4d 44 + 19 MC ce4d + 20 MC ce4d + 23 MW ce4d 22 +2224 2ac9 ec6b 6511 0000 0000 0000 0000 c93a ce38 0000 0004 +00 02 0 0 0 0 23 +ce4d 22 -1 + +fdcb10 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 7a + 11 MC 0003 + 14 MR 0003 10 + 14 MC 0003 + 15 MC 0003 + 16 MC 431c + 19 MR 431c 1c + 19 MC 431c + 20 MC 431c + 23 MW 431c 39 +252c 3952 590d ac66 0000 0000 0000 0000 144f 42a2 0000 0004 +00 02 0 0 0 0 23 +431c 39 -1 + +fdcb11 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 7b + 11 MC 0003 + 14 MR 0003 11 + 14 MC 0003 + 15 MC 0003 + 16 MC 9d0b + 19 MR 9d0b 5e + 19 MC 9d0b + 20 MC 9d0b + 23 MW 9d0b bc +bca8 61bc f5f8 af24 0000 0000 0000 0000 4019 9c90 0000 0004 +00 02 0 0 0 0 23 +9d0b bc -1 + +fdcb12 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 61 + 11 MC 0003 + 14 MR 0003 12 + 14 MC 0003 + 15 MC 0003 + 16 MC 8598 + 19 MR 8598 a7 + 19 MC 8598 + 20 MC 8598 + 23 MW 8598 4f +4e09 3a25 4f17 bcc7 0000 0000 0000 0000 0d7e 8537 0000 0004 +00 02 0 0 0 0 23 +8598 4f -1 + +fdcb13 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 b3 + 11 MC 0003 + 14 MR 0003 13 + 14 MC 0003 + 15 MC 0003 + 16 MC e74b + 19 MR e74b b3 + 19 MC e74b + 20 MC e74b + 23 MW e74b 66 +b225 b79b 8466 ff7d 0000 0000 0000 0000 414c e798 0000 0004 +00 02 0 0 0 0 23 +e74b 66 -1 + +fdcb14 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 c4 + 11 MC 0003 + 14 MR 0003 14 + 14 MC 0003 + 15 MC 0003 + 16 MC d900 + 19 MR d900 06 + 19 MC d900 + 20 MC d900 + 23 MW d900 0d +ab08 451a fc65 0da1 0000 0000 0000 0000 0f4d d93c 0000 0004 +00 02 0 0 0 0 23 +d900 0d -1 + +fdcb15 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 17 + 11 MC 0003 + 14 MR 0003 15 + 14 MC 0003 + 15 MC 0003 + 16 MC 2d92 + 19 MR 2d92 12 + 19 MC 2d92 + 20 MC 2d92 + 23 MW 2d92 24 +2824 9532 8631 7524 0000 0000 0000 0000 e327 2d7b 0000 0004 +00 02 0 0 0 0 23 +2d92 24 -1 + +fdcb16 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 23 + 11 MC 0003 + 14 MR 0003 16 + 14 MC 0003 + 15 MC 0003 + 16 MC f0d7 + 19 MR f0d7 89 + 19 MC f0d7 + 20 MC f0d7 + 23 MW f0d7 12 +0c05 dcd7 adcc 196d 0000 0000 0000 0000 87e2 f0b4 0000 0004 +00 02 0 0 0 0 23 +f0d7 12 -1 + +fdcb17 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 8a + 11 MC 0003 + 14 MR 0003 17 + 14 MC 0003 + 15 MC 0003 + 16 MC 1f9d + 19 MR 1f9d b8 + 19 MC 1f9d + 20 MC 1f9d + 23 MW 1f9d 71 +7125 d016 066e 6638 0000 0000 0000 0000 5e92 2013 0000 0004 +00 02 0 0 0 0 23 +1f9d 71 -1 + +fdcb18 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 c0 + 11 MC 0003 + 14 MR 0003 18 + 14 MC 0003 + 15 MC 0003 + 16 MC 31d6 + 19 MR 31d6 fa + 19 MC 31d6 + 20 MC 31d6 + 23 MW 31d6 fd +23a8 fd17 16e0 6894 0000 0000 0000 0000 b908 3216 0000 0004 +00 02 0 0 0 0 23 +31d6 fd -1 + +fdcb19 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 a2 + 11 MC 0003 + 14 MR 0003 19 + 14 MC 0003 + 15 MC 0003 + 16 MC 4cd0 + 19 MR 4cd0 4b + 19 MC 4cd0 + 20 MC 4cd0 + 23 MW 4cd0 a5 +11a5 c2a5 a9f3 2014 0000 0000 0000 0000 6db0 4d2e 0000 0004 +00 02 0 0 0 0 23 +4cd0 a5 -1 + +fdcb1a + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 78 + 11 MC 0003 + 14 MR 0003 1a + 14 MC 0003 + 15 MC 0003 + 16 MC 414b + 19 MR 414b 44 + 19 MC 414b + 20 MC 414b + 23 MW 414b 22 +bc24 6168 2241 b630 0000 0000 0000 0000 0207 40d3 0000 0004 +00 02 0 0 0 0 23 +414b 22 -1 + +fdcb1b + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 16 + 11 MC 0003 + 14 MR 0003 1b + 14 MC 0003 + 15 MC 0003 + 16 MC 71c6 + 19 MR 71c6 b8 + 19 MC 71c6 + 20 MC 71c6 + 23 MW 71c6 5c +7a0c 1286 fe5c c42d 0000 0000 0000 0000 e290 71b0 0000 0004 +00 02 0 0 0 0 23 +71c6 5c -1 + +fdcb1c + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 86 + 11 MC 0003 + 14 MR 0003 1c + 14 MC 0003 + 15 MC 0003 + 16 MC dee8 + 19 MR dee8 8f + 19 MC dee8 + 20 MC dee8 + 23 MW dee8 c7 +9381 097b 6928 c7a3 0000 0000 0000 0000 ff2d df62 0000 0004 +00 02 0 0 0 0 23 +dee8 c7 -1 + +fdcb1d + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 27 + 11 MC 0003 + 14 MR 0003 1d + 14 MC 0003 + 15 MC 0003 + 16 MC d68e + 19 MR d68e b7 + 19 MC d68e + 20 MC d68e + 23 MW d68e db +978d 2b30 2645 04db 0000 0000 0000 0000 186a d667 0000 0004 +00 02 0 0 0 0 23 +d68e db -1 + +fdcb1e + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 3a + 11 MC 0003 + 14 MR 0003 1e + 14 MC 0003 + 15 MC 0003 + 16 MC da72 + 19 MR da72 25 + 19 MC da72 + 20 MC da72 + 23 MW da72 92 +2f81 2470 b521 6ca3 0000 0000 0000 0000 1066 da38 0000 0004 +00 02 0 0 0 0 23 +da72 92 -1 + +fdcb1f + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 7b + 11 MC 0003 + 14 MR 0003 1f + 14 MC 0003 + 15 MC 0003 + 16 MC 2110 + 19 MR 2110 04 + 19 MC 2110 + 20 MC 2110 + 23 MW 2110 82 +8284 49a3 da18 3afd 0000 0000 0000 0000 a4f1 2095 0000 0004 +00 02 0 0 0 0 23 +2110 82 -1 + +fdcb20 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 7a + 11 MC 0003 + 14 MR 0003 20 + 14 MC 0003 + 15 MC 0003 + 16 MC da9f + 19 MR da9f 89 + 19 MC da9f + 20 MC da9f + 23 MW da9f 12 +3d05 128f 206f 8894 0000 0000 0000 0000 ddab da25 0000 0004 +00 02 0 0 0 0 23 +da9f 12 -1 + +fdcb21 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 7b + 11 MC 0003 + 14 MR 0003 21 + 14 MC 0003 + 15 MC 0003 + 16 MC deb1 + 19 MR deb1 23 + 19 MC deb1 + 20 MC deb1 + 23 MW deb1 46 +1600 6046 641a 6598 0000 0000 0000 0000 473b de36 0000 0004 +00 02 0 0 0 0 23 +deb1 46 -1 + +fdcb22 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 9a + 11 MC 0003 + 14 MR 0003 22 + 14 MC 0003 + 15 MC 0003 + 16 MC 88c0 + 19 MR 88c0 d4 + 19 MC 88c0 + 20 MC 88c0 + 23 MW 88c0 a8 +ada9 efb2 a803 e732 0000 0000 0000 0000 c11d 8926 0000 0004 +00 02 0 0 0 0 23 +88c0 a8 -1 + +fdcb23 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 f5 + 11 MC 0003 + 14 MR 0003 23 + 14 MC 0003 + 15 MC 0003 + 16 MC 524a + 19 MR 524a 65 + 19 MC 524a + 20 MC 524a + 23 MW 524a ca +218c d678 a7ca 25d7 0000 0000 0000 0000 4ca8 5255 0000 0004 +00 02 0 0 0 0 23 +524a ca -1 + +fdcb24 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 b4 + 11 MC 0003 + 14 MR 0003 24 + 14 MC 0003 + 15 MC 0003 + 16 MC afb2 + 19 MR afb2 7e + 19 MC afb2 + 20 MC afb2 + 23 MW afb2 fc +1cac da3e cc7c fc19 0000 0000 0000 0000 572c affe 0000 0004 +00 02 0 0 0 0 23 +afb2 fc -1 + +fdcb25 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 a6 + 11 MC 0003 + 14 MR 0003 25 + 14 MC 0003 + 15 MC 0003 + 16 MC 238f + 19 MR 238f 26 + 19 MC 238f + 20 MC 238f + 23 MW 238f 4c +9508 097c a341 894c 0000 0000 0000 0000 435d 23e9 0000 0004 +00 02 0 0 0 0 23 +238f 4c -1 + +fdcb26 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 bd + 11 MC 0003 + 14 MR 0003 26 + 14 MC 0003 + 15 MC 0003 + 16 MC d4a1 + 19 MR d4a1 bf + 19 MC d4a1 + 20 MC d4a1 + 23 MW d4a1 7e +582d 0e19 d277 bf7f 0000 0000 0000 0000 6504 d4e4 0000 0004 +00 02 0 0 0 0 23 +d4a1 7e -1 + +fdcb27 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 59 + 11 MC 0003 + 14 MR 0003 27 + 14 MC 0003 + 15 MC 0003 + 16 MC 8d9b + 19 MR 8d9b a7 + 19 MC 8d9b + 20 MC 8d9b + 23 MW 8d9b 4e +4e0d 8c06 2c4c d7c8 0000 0000 0000 0000 9239 8d42 0000 0004 +00 02 0 0 0 0 23 +8d9b 4e -1 + +fdcb28 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 83 + 11 MC 0003 + 14 MR 0003 28 + 14 MC 0003 + 15 MC 0003 + 16 MC aac6 + 19 MR aac6 5d + 19 MC aac6 + 20 MC aac6 + 23 MW aac6 2e +412d 2e9b 7745 76f5 0000 0000 0000 0000 a1bb ab43 0000 0004 +00 02 0 0 0 0 23 +aac6 2e -1 + +fdcb29 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 7d + 11 MC 0003 + 14 MR 0003 29 + 14 MC 0003 + 15 MC 0003 + 16 MC 03c0 + 19 MR 03c0 84 + 19 MC 03c0 + 20 MC 03c0 + 23 MW 03c0 c2 +0b80 afc2 fea6 9478 0000 0000 0000 0000 32bb 0343 0000 0004 +00 02 0 0 0 0 23 +03c0 c2 -1 + +fdcb2a + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 f9 + 11 MC 0003 + 14 MR 0003 2a + 14 MC 0003 + 15 MC 0003 + 16 MC abe0 + 19 MR abe0 dd + 19 MC abe0 + 20 MC abe0 + 23 MW abe0 ee +f2ad 8c31 ee32 7feb 0000 0000 0000 0000 7db7 abe7 0000 0004 +00 02 0 0 0 0 23 +abe0 ee -1 + +fdcb2b + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 4b + 11 MC 0003 + 14 MR 0003 2b + 14 MC 0003 + 15 MC 0003 + 16 MC 4adf + 19 MR 4adf 49 + 19 MC 4adf + 20 MC 4adf + 23 MW 4adf 24 +2425 6945 dc24 d643 0000 0000 0000 0000 5be1 4a94 0000 0004 +00 02 0 0 0 0 23 +4adf 24 -1 + +fdcb2c + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 e6 + 11 MC 0003 + 14 MR 0003 2c + 14 MC 0003 + 15 MC 0003 + 16 MC ccb7 + 19 MR ccb7 3c + 19 MC ccb7 + 20 MC ccb7 + 23 MW ccb7 1e +110c b32b e530 1e5a 0000 0000 0000 0000 2416 ccd1 0000 0004 +00 02 0 0 0 0 23 +ccb7 1e -1 + +fdcb2d + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 5f + 11 MC 0003 + 14 MR 0003 2d + 14 MC 0003 + 15 MC 0003 + 16 MC e545 + 19 MR e545 78 + 19 MC e545 + 20 MC e545 + 23 MW e545 3c +d02c 344b 1bb0 3e3c 0000 0000 0000 0000 fe11 e4e6 0000 0004 +00 02 0 0 0 0 23 +e545 3c -1 + +fdcb2e + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 06 + 11 MC 0003 + 14 MR 0003 2e + 14 MC 0003 + 15 MC 0003 + 16 MC 4303 + 19 MR 4303 ad + 19 MC 4303 + 20 MC 4303 + 23 MW 4303 d6 +f481 b832 4b7f e2b7 0000 0000 0000 0000 9386 42fd 0000 0004 +00 02 0 0 0 0 23 +4303 d6 -1 + +fdcb2f + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 29 + 11 MC 0003 + 14 MR 0003 2f + 14 MC 0003 + 15 MC 0003 + 16 MC 16e1 + 19 MR 16e1 18 + 19 MC 16e1 + 20 MC 16e1 + 23 MW 16e1 0c +0c0c f2c2 9f2f c946 0000 0000 0000 0000 5fe0 16b8 0000 0004 +00 02 0 0 0 0 23 +16e1 0c -1 + +fdcb30 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 1b + 11 MC 0003 + 14 MR 0003 30 + 14 MC 0003 + 15 MC 0003 + 16 MC d661 + 19 MR d661 a5 + 19 MC d661 + 20 MC d661 + 23 MW d661 4b +ac0d 4b32 f9ed cabc 0000 0000 0000 0000 fabd d646 0000 0004 +00 02 0 0 0 0 23 +d661 4b -1 + +fdcb31 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 f0 + 11 MC 0003 + 14 MR 0003 31 + 14 MC 0003 + 15 MC 0003 + 16 MC bfd0 + 19 MR bfd0 f1 + 19 MC bfd0 + 20 MC bfd0 + 23 MW bfd0 e3 +2ba1 51e3 83a7 7eee 0000 0000 0000 0000 7750 bfe0 0000 0004 +00 02 0 0 0 0 23 +bfd0 e3 -1 + +fdcb32 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 c5 + 11 MC 0003 + 14 MR 0003 32 + 14 MC 0003 + 15 MC 0003 + 16 MC 5aa3 + 19 MR 5aa3 59 + 19 MC 5aa3 + 20 MC 5aa3 + 23 MW 5aa3 b3 +b2a0 a4b1 b385 f66e 0000 0000 0000 0000 a9a1 5ade 0000 0004 +00 02 0 0 0 0 23 +5aa3 b3 -1 + +fdcb33 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 7f + 11 MC 0003 + 14 MR 0003 33 + 14 MC 0003 + 15 MC 0003 + 16 MC 19e3 + 19 MR 19e3 da + 19 MC 19e3 + 20 MC 19e3 + 23 MW 19e3 b5 +9ca1 2c90 d0b5 2be3 0000 0000 0000 0000 2691 1964 0000 0004 +00 02 0 0 0 0 23 +19e3 b5 -1 + +fdcb34 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 d2 + 11 MC 0003 + 14 MR 0003 34 + 14 MC 0003 + 15 MC 0003 + 16 MC 5668 + 19 MR 5668 d4 + 19 MC 5668 + 20 MC 5668 + 23 MW 5668 a9 +60ad fbcd 5348 a947 0000 0000 0000 0000 5338 5696 0000 0004 +00 02 0 0 0 0 23 +5668 a9 -1 + +fdcb35 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 71 + 11 MC 0003 + 14 MR 0003 35 + 14 MC 0003 + 15 MC 0003 + 16 MC 0169 + 19 MR 0169 0b + 19 MC 0169 + 20 MC 0169 + 23 MW 0169 17 +9604 21c6 4cb6 b417 0000 0000 0000 0000 673a 00f8 0000 0004 +00 02 0 0 0 0 23 +0169 17 -1 + +fdcb36 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 da + 11 MC 0003 + 14 MR 0003 36 + 14 MC 0003 + 15 MC 0003 + 16 MC 1ab8 + 19 MR 1ab8 3c + 19 MC 1ab8 + 20 MC 1ab8 + 23 MW 1ab8 79 +dc28 0892 3cc7 1494 0000 0000 0000 0000 8598 1ade 0000 0004 +00 02 0 0 0 0 23 +1ab8 79 -1 + +fdcb37 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 cb + 11 MC 0003 + 14 MR 0003 37 + 14 MC 0003 + 15 MC 0003 + 16 MC e7b7 + 19 MR e7b7 9f + 19 MC e7b7 + 20 MC e7b7 + 23 MW e7b7 3f +3f2d 4524 208f 076f 0000 0000 0000 0000 ad10 e7ec 0000 0004 +00 02 0 0 0 0 23 +e7b7 3f -1 + +fdcb38 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 8e + 11 MC 0003 + 14 MR 0003 38 + 14 MC 0003 + 15 MC 0003 + 16 MC d024 + 19 MR d024 0d + 19 MC d024 + 20 MC d024 + 23 MW d024 06 +4f05 0650 40c6 4fb7 0000 0000 0000 0000 f37e d096 0000 0004 +00 02 0 0 0 0 23 +d024 06 -1 + +fdcb39 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 7f + 11 MC 0003 + 14 MR 0003 39 + 14 MC 0003 + 15 MC 0003 + 16 MC f4b2 + 19 MR f4b2 f5 + 19 MC f4b2 + 20 MC f4b2 + 23 MW f4b2 7a +bc29 f57a 8dee e514 0000 0000 0000 0000 48bc f433 0000 0004 +00 02 0 0 0 0 23 +f4b2 7a -1 + +fdcb3a + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 1d + 11 MC 0003 + 14 MR 0003 3a + 14 MC 0003 + 15 MC 0003 + 16 MC cb20 + 19 MR cb20 a8 + 19 MC cb20 + 20 MC cb20 + 23 MW cb20 54 +d000 2ef5 5410 9ca5 0000 0000 0000 0000 b155 cb03 0000 0004 +00 02 0 0 0 0 23 +cb20 54 -1 + +fdcb3b + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 05 + 11 MC 0003 + 14 MR 0003 3b + 14 MC 0003 + 15 MC 0003 + 16 MC d268 + 19 MR d268 b2 + 19 MC d268 + 20 MC d268 + 23 MW d268 59 +500c a85b cf59 de8c 0000 0000 0000 0000 9c5b d263 0000 0004 +00 02 0 0 0 0 23 +d268 59 -1 + +fdcb3c + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 ae + 11 MC 0003 + 14 MR 0003 3c + 14 MC 0003 + 15 MC 0003 + 16 MC a7bd + 19 MR a7bd 96 + 19 MC a7bd + 20 MC a7bd + 23 MW a7bd 4b +970c 4456 0b52 4bad 0000 0000 0000 0000 6d2a a80f 0000 0004 +00 02 0 0 0 0 23 +a7bd 4b -1 + +fdcb3d + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 13 + 11 MC 0003 + 14 MR 0003 3d + 14 MC 0003 + 15 MC 0003 + 16 MC e53d + 19 MR e53d fb + 19 MC e53d + 20 MC e53d + 23 MW e53d 7d +7d2d 9303 e12b bf7d 0000 0000 0000 0000 4c0f e52a 0000 0004 +00 02 0 0 0 0 23 +e53d 7d -1 + +fdcb3e + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 2e + 11 MC 0003 + 14 MR 0003 3e + 14 MC 0003 + 15 MC 0003 + 16 MC b2ff + 19 MR b2ff 50 + 19 MC b2ff + 20 MC b2ff + 23 MW b2ff 28 +0d2c 3e02 8f74 0f82 0000 0000 0000 0000 85df b2d1 0000 0004 +00 02 0 0 0 0 23 +b2ff 28 -1 + +fdcb3f + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 21 + 11 MC 0003 + 14 MR 0003 3f + 14 MC 0003 + 15 MC 0003 + 16 MC c1cd + 19 MR c1cd 78 + 19 MC c1cd + 20 MC c1cd + 23 MW c1cd 3c +3c2c 12f6 426c 52d4 0000 0000 0000 0000 d9f7 c1ac 0000 0004 +00 02 0 0 0 0 23 +c1cd 3c -1 + +fdcb40 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 3b + 11 MC 0003 + 14 MR 0003 40 + 14 MC 0003 + 15 MC 0003 + 16 MC 41d0 + 19 MR 41d0 0d + 19 MC 41d0 +5410 2c34 6784 b376 0000 0000 0000 0000 8ff9 4195 0000 0004 +00 02 0 0 0 0 20 + +fdcb41 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 cc + 11 MC 0003 + 14 MR 0003 41 + 14 MC 0003 + 15 MC 0003 + 16 MC 0397 + 19 MR 0397 e9 + 19 MC 0397 +8c11 5a58 b71c 6777 0000 0000 0000 0000 deca 03cb 0000 0004 +00 02 0 0 0 0 20 + +fdcb42 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 01 + 11 MC 0003 + 14 MR 0003 42 + 14 MC 0003 + 15 MC 0003 + 16 MC 9f57 + 19 MR 9f57 a8 + 19 MC 9f57 +555d 9c29 2feb 97ff 0000 0000 0000 0000 7f17 9f56 0000 0004 +00 02 0 0 0 0 20 + +fdcb43 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 08 + 11 MC 0003 + 14 MR 0003 43 + 14 MC 0003 + 15 MC 0003 + 16 MC 1fd9 + 19 MR 1fd9 aa + 19 MC 1fd9 +b45c e58c e62e 2a32 0000 0000 0000 0000 7130 1fd1 0000 0004 +00 02 0 0 0 0 20 + +fdcb44 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 03 + 11 MC 0003 + 14 MR 0003 44 + 14 MC 0003 + 15 MC 0003 + 16 MC f4f6 + 19 MR f4f6 89 + 19 MC f4f6 +a930 68f4 9fa4 7f66 0000 0000 0000 0000 0209 f4f3 0000 0004 +00 02 0 0 0 0 20 + +fdcb45 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 8d + 11 MC 0003 + 14 MR 0003 45 + 14 MC 0003 + 15 MC 0003 + 16 MC 937a + 19 MR 937a 8d + 19 MC 937a +7311 8dde 5e4f 84a7 0000 0000 0000 0000 4e24 93ed 0000 0004 +00 02 0 0 0 0 20 + +fdcb46 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 8c + 11 MC 0003 + 14 MR 0003 46 + 14 MC 0003 + 15 MC 0003 + 16 MC 633d + 19 MR 633d fe + 19 MC 633d +0e74 b1f9 475f ebfc 0000 0000 0000 0000 7765 63b1 0000 0004 +00 02 0 0 0 0 20 + +fdcb47 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 96 + 11 MC 0003 + 14 MR 0003 47 + 14 MC 0003 + 15 MC 0003 + 16 MC 6da4 + 19 MR 6da4 d6 + 19 MC 6da4 +9b7d 7f38 0753 d5e7 0000 0000 0000 0000 b9c3 6e0e 0000 0004 +00 02 0 0 0 0 20 + +fdcb48 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 44 + 11 MC 0003 + 14 MR 0003 48 + 14 MC 0003 + 15 MC 0003 + 16 MC abed + 19 MR abed b0 + 19 MC abed +7d7c 50a9 2511 8f9f 0000 0000 0000 0000 b612 aba9 0000 0004 +00 02 0 0 0 0 20 + +fdcb49 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 4e + 11 MC 0003 + 14 MR 0003 49 + 14 MC 0003 + 15 MC 0003 + 16 MC 3e6f + 19 MR 3e6f a9 + 19 MC 3e6f +697c 3a39 b834 74b6 0000 0000 0000 0000 0eb7 3e21 0000 0004 +00 02 0 0 0 0 20 + +fdcb4a + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 52 + 11 MC 0003 + 14 MR 0003 4a + 14 MC 0003 + 15 MC 0003 + 16 MC e82d + 19 MR e82d da + 19 MC e82d +3139 68e0 fe2f a2c4 0000 0000 0000 0000 ac96 e7db 0000 0004 +00 02 0 0 0 0 20 + +fdcb4b + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 ea + 11 MC 0003 + 14 MR 0003 4b + 14 MC 0003 + 15 MC 0003 + 16 MC 8829 + 19 MR 8829 4e + 19 MC 8829 +0919 2453 9186 a32a 0000 0000 0000 0000 71af 883f 0000 0004 +00 02 0 0 0 0 20 + +fdcb4c + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 ee + 11 MC 0003 + 14 MR 0003 4c + 14 MC 0003 + 15 MC 0003 + 16 MC 7f10 + 19 MR 7f10 70 + 19 MC 7f10 +4a7c 1e5b be2e 3ee4 0000 0000 0000 0000 af79 7f22 0000 0004 +00 02 0 0 0 0 20 + +fdcb4d + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 29 + 11 MC 0003 + 14 MR 0003 4d + 14 MC 0003 + 15 MC 0003 + 16 MC a799 + 19 MR a799 78 + 19 MC a799 +9f75 6c8f 34f4 5a79 0000 0000 0000 0000 d3cc a770 0000 0004 +00 02 0 0 0 0 20 + +fdcb4e + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 20 + 11 MC 0003 + 14 MR 0003 4e + 14 MC 0003 + 15 MC 0003 + 16 MC e1e8 + 19 MR e1e8 aa + 19 MC e1e8 +3031 5626 52bc 5503 0000 0000 0000 0000 303b e1c8 0000 0004 +00 02 0 0 0 0 20 + +fdcb4f + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 9d + 11 MC 0003 + 14 MR 0003 4f + 14 MC 0003 + 15 MC 0003 + 16 MC 1c95 + 19 MR 1c95 18 + 19 MC 1c95 +605c e079 7152 671f 0000 0000 0000 0000 8c22 1cf8 0000 0004 +00 02 0 0 0 0 20 + +fdcb50 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 6b + 11 MC 0003 + 14 MR 0003 50 + 14 MC 0003 + 15 MC 0003 + 16 MC c7ca + 19 MR c7ca fe + 19 MC c7ca +8c10 1409 6d69 e5b2 0000 0000 0000 0000 4a0c c75f 0000 0004 +00 02 0 0 0 0 20 + +fdcb51 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 86 + 11 MC 0003 + 14 MR 0003 51 + 14 MC 0003 + 15 MC 0003 + 16 MC 341b + 19 MR 341b 13 + 19 MC 341b +8f75 40cb 9543 9b3a 0000 0000 0000 0000 1942 3495 0000 0004 +00 02 0 0 0 0 20 + +fdcb52 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 e6 + 11 MC 0003 + 14 MR 0003 52 + 14 MC 0003 + 15 MC 0003 + 16 MC 8af3 + 19 MR 8af3 87 + 19 MC 8af3 +8919 3e41 7ab4 37f6 0000 0000 0000 0000 f82d 8b0d 0000 0004 +00 02 0 0 0 0 20 + +fdcb53 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 d1 + 11 MC 0003 + 14 MR 0003 53 + 14 MC 0003 + 15 MC 0003 + 16 MC 7eb2 + 19 MR 7eb2 e4 + 19 MC 7eb2 +ef38 e345 09a3 f0b2 0000 0000 0000 0000 c378 7ee1 0000 0004 +00 02 0 0 0 0 20 + +fdcb54 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 08 + 11 MC 0003 + 14 MR 0003 54 + 14 MC 0003 + 15 MC 0003 + 16 MC 5b73 + 19 MR 5b73 07 + 19 MC 5b73 +7218 cb82 d966 2fc6 0000 0000 0000 0000 3c00 5b6b 0000 0004 +00 02 0 0 0 0 20 + +fdcb55 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 54 + 11 MC 0003 + 14 MR 0003 55 + 14 MC 0003 + 15 MC 0003 + 16 MC b506 + 19 MR b506 46 + 19 MC b506 +8530 c23b 6aab 9b00 0000 0000 0000 0000 fe93 b4b2 0000 0004 +00 02 0 0 0 0 20 + +fdcb56 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 6f + 11 MC 0003 + 14 MR 0003 56 + 14 MC 0003 + 15 MC 0003 + 16 MC 69a1 + 19 MR 69a1 df + 19 MC 69a1 +f539 f9f6 1e8c 9e08 0000 0000 0000 0000 716a 6932 0000 0004 +00 02 0 0 0 0 20 + +fdcb57 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 3c + 11 MC 0003 + 14 MR 0003 57 + 14 MC 0003 + 15 MC 0003 + 16 MC a3f7 + 19 MR a3f7 6c + 19 MC a3f7 +3731 b7dc be1c 38ea 0000 0000 0000 0000 5e82 a3bb 0000 0004 +00 02 0 0 0 0 20 + +fdcb58 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 4e + 11 MC 0003 + 14 MR 0003 58 + 14 MC 0003 + 15 MC 0003 + 16 MC 1ee2 + 19 MR 1ee2 f6 + 19 MC 1ee2 +755c 7296 3ea5 1143 0000 0000 0000 0000 d7cc 1e94 0000 0004 +00 02 0 0 0 0 20 + +fdcb59 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 2e + 11 MC 0003 + 14 MR 0003 59 + 14 MC 0003 + 15 MC 0003 + 16 MC fb01 + 19 MR fb01 6f + 19 MC fb01 +8038 bf2a 1809 ed31 0000 0000 0000 0000 fe2b fad3 0000 0004 +00 02 0 0 0 0 20 + +fdcb5a + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 88 + 11 MC 0003 + 14 MR 0003 5a + 14 MC 0003 + 15 MC 0003 + 16 MC 7b40 + 19 MR 7b40 6e + 19 MC 7b40 +cc38 a108 65d4 6f66 0000 0000 0000 0000 0008 7bb8 0000 0004 +00 02 0 0 0 0 20 + +fdcb5b + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 e7 + 11 MC 0003 + 14 MR 0003 5b + 14 MC 0003 + 15 MC 0003 + 16 MC 3143 + 19 MR 3143 b1 + 19 MC 3143 +5c75 b3bd 25bd 98cf 0000 0000 0000 0000 2ba1 315c 0000 0004 +00 02 0 0 0 0 20 + +fdcb5c + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 74 + 11 MC 0003 + 14 MR 0003 5c + 14 MC 0003 + 15 MC 0003 + 16 MC 54b2 + 19 MR 54b2 e3 + 19 MC 54b2 +b354 d43d d9c0 b04d 0000 0000 0000 0000 21a9 543e 0000 0004 +00 02 0 0 0 0 20 + +fdcb5d + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 dc + 11 MC 0003 + 14 MR 0003 5d + 14 MC 0003 + 15 MC 0003 + 16 MC 3b60 + 19 MR 3b60 ef + 19 MC 3b60 +9f39 43dd ccb3 085a 0000 0000 0000 0000 f130 3b84 0000 0004 +00 02 0 0 0 0 20 + +fdcb5e + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 e2 + 11 MC 0003 + 14 MR 0003 5e + 14 MC 0003 + 15 MC 0003 + 16 MC e147 + 19 MR e147 17 + 19 MC e147 +6f75 eff5 993b 22b5 0000 0000 0000 0000 0f30 e165 0000 0004 +00 02 0 0 0 0 20 + +fdcb5f + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 ab + 11 MC 0003 + 14 MR 0003 5f + 14 MC 0003 + 15 MC 0003 + 16 MC f7c6 + 19 MR f7c6 e2 + 19 MC f7c6 +d774 a57a aca6 667e 0000 0000 0000 0000 5c33 f81b 0000 0004 +00 02 0 0 0 0 20 + +fdcb60 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 85 + 11 MC 0003 + 14 MR 0003 60 + 14 MC 0003 + 15 MC 0003 + 16 MC 8bc9 + 19 MR 8bc9 b9 + 19 MC 8bc9 +1519 8d30 43f4 c65e 0000 0000 0000 0000 1e34 8c44 0000 0004 +00 02 0 0 0 0 20 + +fdcb61 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 be + 11 MC 0003 + 14 MR 0003 61 + 14 MC 0003 + 15 MC 0003 + 16 MC 92a2 + 19 MR 92a2 28 + 19 MC 92a2 +7b55 d421 5570 cb85 0000 0000 0000 0000 32ec 92e4 0000 0004 +00 02 0 0 0 0 20 + +fdcb62 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 9d + 11 MC 0003 + 14 MR 0003 62 + 14 MC 0003 + 15 MC 0003 + 16 MC 7e4e + 19 MR 7e4e 1a + 19 MC 7e4e +ba39 4fbb 67a7 c5db 0000 0000 0000 0000 470b 7eb1 0000 0004 +00 02 0 0 0 0 20 + +fdcb63 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 f4 + 11 MC 0003 + 14 MR 0003 63 + 14 MC 0003 + 15 MC 0003 + 16 MC 1707 + 19 MR 1707 3b + 19 MC 1707 +c011 2cc2 ce12 e77c 0000 0000 0000 0000 71c5 1713 0000 0004 +00 02 0 0 0 0 20 + +fdcb64 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 35 + 11 MC 0003 + 14 MR 0003 64 + 14 MC 0003 + 15 MC 0003 + 16 MC b36b + 19 MR b36b 8c + 19 MC b36b +0c75 7847 2494 71eb 0000 0000 0000 0000 315c b336 0000 0004 +00 02 0 0 0 0 20 + +fdcb65 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 37 + 11 MC 0003 + 14 MR 0003 65 + 14 MC 0003 + 15 MC 0003 + 16 MC 8a2b + 19 MR 8a2b 08 + 19 MC 8a2b +525d a82d 1112 8f09 0000 0000 0000 0000 672a 89f4 0000 0004 +00 02 0 0 0 0 20 + +fdcb66 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 9d + 11 MC 0003 + 14 MR 0003 66 + 14 MC 0003 + 15 MC 0003 + 16 MC 68e5 + 19 MR 68e5 90 + 19 MC 68e5 +5839 c13e b136 6bc5 0000 0000 0000 0000 3ef9 6948 0000 0004 +00 02 0 0 0 0 20 + +fdcb67 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 cb + 11 MC 0003 + 14 MR 0003 67 + 14 MC 0003 + 15 MC 0003 + 16 MC 653d + 19 MR 653d 15 + 19 MC 653d +3130 0f7d 48b5 cc5f 0000 0000 0000 0000 2103 6572 0000 0004 +00 02 0 0 0 0 20 + +fdcb68 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 ca + 11 MC 0003 + 14 MR 0003 68 + 14 MC 0003 + 15 MC 0003 + 16 MC 0388 + 19 MR 0388 83 + 19 MC 0388 +e354 39fb a03a 59bc 0000 0000 0000 0000 e04a 03be 0000 0004 +00 02 0 0 0 0 20 + +fdcb69 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 e2 + 11 MC 0003 + 14 MR 0003 69 + 14 MC 0003 + 15 MC 0003 + 16 MC a5e5 + 19 MR a5e5 01 + 19 MC a5e5 +1874 5bc2 d4d9 4e8a 0000 0000 0000 0000 3716 a603 0000 0004 +00 02 0 0 0 0 20 + +fdcb6a + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 ae + 11 MC 0003 + 14 MR 0003 6a + 14 MC 0003 + 15 MC 0003 + 16 MC 936c + 19 MR 936c 33 + 19 MC 936c +5b11 0099 34f8 3e96 0000 0000 0000 0000 f251 93be 0000 0004 +00 02 0 0 0 0 20 + +fdcb6b + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 1f + 11 MC 0003 + 14 MR 0003 6b + 14 MC 0003 + 15 MC 0003 + 16 MC aa4e + 19 MR aa4e 7c + 19 MC aa4e +bb39 9e6c abd1 515f 0000 0000 0000 0000 73db aa2f 0000 0004 +00 02 0 0 0 0 20 + +fdcb6c + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 0d + 11 MC 0003 + 14 MR 0003 6c + 14 MC 0003 + 15 MC 0003 + 16 MC 86c7 + 19 MR 86c7 25 + 19 MC 86c7 +1411 3af2 8f80 7be5 0000 0000 0000 0000 c379 86ba 0000 0004 +00 02 0 0 0 0 20 + +fdcb6d + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 f0 + 11 MC 0003 + 14 MR 0003 6d + 14 MC 0003 + 15 MC 0003 + 16 MC 62b8 + 19 MR 62b8 e3 + 19 MC 62b8 +6330 d077 668d 6e4a 0000 0000 0000 0000 b0a8 62c8 0000 0004 +00 02 0 0 0 0 20 + +fdcb6e + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 93 + 11 MC 0003 + 14 MR 0003 6e + 14 MC 0003 + 15 MC 0003 + 16 MC 41a3 + 19 MR 41a3 1e + 19 MC 41a3 +2d54 f872 692d 92c4 0000 0000 0000 0000 36b5 4210 0000 0004 +00 02 0 0 0 0 20 + +fdcb6f + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 20 + 11 MC 0003 + 14 MR 0003 6f + 14 MC 0003 + 15 MC 0003 + 16 MC 006e + 19 MR 006e 37 + 19 MC 006e +df11 c7aa 9002 86b8 0000 0000 0000 0000 1347 004e 0000 0004 +00 02 0 0 0 0 20 + +fdcb70 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 d9 + 11 MC 0003 + 14 MR 0003 70 + 14 MC 0003 + 15 MC 0003 + 16 MC 3e41 + 19 MR 3e41 c9 + 19 MC 3e41 +6e39 018d 5075 cf4e 0000 0000 0000 0000 cd2b 3e68 0000 0004 +00 02 0 0 0 0 20 + +fdcb71 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 27 + 11 MC 0003 + 14 MR 0003 71 + 14 MC 0003 + 15 MC 0003 + 16 MC 99c1 + 19 MR 99c1 3e + 19 MC 99c1 +1b5c e3af 94d5 0996 0000 0000 0000 0000 cad5 999a 0000 0004 +00 02 0 0 0 0 20 + +fdcb72 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 98 + 11 MC 0003 + 14 MR 0003 72 + 14 MC 0003 + 15 MC 0003 + 16 MC fcc9 + 19 MR fcc9 4f + 19 MC fcc9 +e839 26b1 8608 f3cb 0000 0000 0000 0000 6323 fd31 0000 0004 +00 02 0 0 0 0 20 + +fdcb73 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 7a + 11 MC 0003 + 14 MR 0003 73 + 14 MC 0003 + 15 MC 0003 + 16 MC f652 + 19 MR f652 31 + 19 MC f652 +1075 446c c2f9 b9b1 0000 0000 0000 0000 0820 f5d8 0000 0004 +00 02 0 0 0 0 20 + +fdcb74 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 4b + 11 MC 0003 + 14 MR 0003 74 + 14 MC 0003 + 15 MC 0003 + 16 MC 5e95 + 19 MR 5e95 fe + 19 MC 5e95 +6819 38c2 0ea4 0825 0000 0000 0000 0000 d255 5e4a 0000 0004 +00 02 0 0 0 0 20 + +fdcb75 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 57 + 11 MC 0003 + 14 MR 0003 75 + 14 MC 0003 + 15 MC 0003 + 16 MC 6115 + 19 MR 6115 21 + 19 MC 6115 +5674 c034 6e11 d35e 0000 0000 0000 0000 e702 60be 0000 0004 +00 02 0 0 0 0 20 + +fdcb76 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 53 + 11 MC 0003 + 14 MR 0003 76 + 14 MC 0003 + 15 MC 0003 + 16 MC 6676 + 19 MR 6676 3a + 19 MC 6676 +7375 caff dd80 c8ed 0000 0000 0000 0000 7e39 6623 0000 0004 +00 02 0 0 0 0 20 + +fdcb77 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 02 + 11 MC 0003 + 14 MR 0003 77 + 14 MC 0003 + 15 MC 0003 + 16 MC 8843 + 19 MR 8843 d8 + 19 MC 8843 +ab18 983e 0bdc 3b46 0000 0000 0000 0000 ae51 8841 0000 0004 +00 02 0 0 0 0 20 + +fdcb78 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 7d + 11 MC 0003 + 14 MR 0003 78 + 14 MC 0003 + 15 MC 0003 + 16 MC ff48 + 19 MR ff48 ec + 19 MC ff48 +27b9 ce2f 4824 6930 0000 0000 0000 0000 ae69 fecb 0000 0004 +00 02 0 0 0 0 20 + +fdcb79 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 23 + 11 MC 0003 + 14 MR 0003 79 + 14 MC 0003 + 15 MC 0003 + 16 MC 1cd1 + 19 MR 1cd1 87 + 19 MC 1cd1 +b498 6355 7896 8a7c 0000 0000 0000 0000 9090 1cae 0000 0004 +00 02 0 0 0 0 20 + +fdcb7a + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 42 + 11 MC 0003 + 14 MR 0003 7a + 14 MC 0003 + 15 MC 0003 + 16 MC d965 + 19 MR d965 b3 + 19 MC d965 +5998 ca21 1482 3fae 0000 0000 0000 0000 c6c9 d923 0000 0004 +00 02 0 0 0 0 20 + +fdcb7b + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 17 + 11 MC 0003 + 14 MR 0003 7b + 14 MC 0003 + 15 MC 0003 + 16 MC 0a9a + 19 MR 0a9a bd + 19 MC 0a9a +6398 0240 5efa 5e7b 0000 0000 0000 0000 3e50 0a83 0000 0004 +00 02 0 0 0 0 20 + +fdcb7c + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 f1 + 11 MC 0003 + 14 MR 0003 7c + 14 MC 0003 + 15 MC 0003 + 16 MC d362 + 19 MR d362 1b + 19 MC d362 +2254 aff4 b89b 4dca 0000 0000 0000 0000 0ac2 d371 0000 0004 +00 02 0 0 0 0 20 + +fdcb7d + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 9f + 11 MC 0003 + 14 MR 0003 7d + 14 MC 0003 + 15 MC 0003 + 16 MC abda + 19 MR abda 8a + 19 MC abda +1cb9 d615 825a 5e64 0000 0000 0000 0000 32fb ac3b 0000 0004 +00 02 0 0 0 0 20 + +fdcb7e + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 40 + 11 MC 0003 + 14 MR 0003 7e + 14 MC 0003 + 15 MC 0003 + 16 MC 94c4 + 19 MR 94c4 9e + 19 MC 94c4 +5090 8dfe 1019 6778 0000 0000 0000 0000 f7df 9484 0000 0004 +00 02 0 0 0 0 20 + +fdcb7f + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 a2 + 11 MC 0003 + 14 MR 0003 7f + 14 MC 0003 + 15 MC 0003 + 16 MC ce0b + 19 MR ce0b 47 + 19 MC ce0b +1b5d 9ec3 14be 5ebe 0000 0000 0000 0000 1178 ce69 0000 0004 +00 02 0 0 0 0 20 + +fdcb80 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 8b + 11 MC 0003 + 14 MR 0003 80 + 14 MC 0003 + 15 MC 0003 + 16 MC 9198 + 19 MR 9198 a9 + 19 MC 9198 + 20 MC 9198 + 23 MW 9198 a8 +e196 a8ea 507e 6457 0000 0000 0000 0000 ab75 920d 0000 0004 +00 02 0 0 0 0 23 +9198 a8 -1 + +fdcb81 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 55 + 11 MC 0003 + 14 MR 0003 81 + 14 MC 0003 + 15 MC 0003 + 16 MC 82fa + 19 MR 82fa fa + 19 MC 82fa + 20 MC 82fa + 23 MW 82fa fa +3d3d b2fa 8759 0cb0 0000 0000 0000 0000 e078 82a5 0000 0004 +00 02 0 0 0 0 23 + +fdcb82 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 9c + 11 MC 0003 + 14 MR 0003 82 + 14 MC 0003 + 15 MC 0003 + 16 MC 5d74 + 19 MR 5d74 9d + 19 MC 5d74 + 20 MC 5d74 + 23 MW 5d74 9c +4e10 5d8d 9ca0 ffff 0000 0000 0000 0000 ee0a 5dd8 0000 0004 +00 02 0 0 0 0 23 +5d74 9c -1 + +fdcb83 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 28 + 11 MC 0003 + 14 MR 0003 83 + 14 MC 0003 + 15 MC 0003 + 16 MC 3772 + 19 MR 3772 d5 + 19 MC 3772 + 20 MC 3772 + 23 MW 3772 d4 +3c7f fd81 47d4 9f12 0000 0000 0000 0000 cbf9 374a 0000 0004 +00 02 0 0 0 0 23 +3772 d4 -1 + +fdcb84 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 aa + 11 MC 0003 + 14 MR 0003 84 + 14 MC 0003 + 15 MC 0003 + 16 MC f16d + 19 MR f16d ea + 19 MC f16d + 20 MC f16d + 23 MW f16d ea +6872 81b1 1e7a ea7e 0000 0000 0000 0000 9b4c f1c3 0000 0004 +00 02 0 0 0 0 23 + +fdcb85 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 6c + 11 MC 0003 + 14 MR 0003 85 + 14 MC 0003 + 15 MC 0003 + 16 MC 049f + 19 MR 049f e0 + 19 MC 049f + 20 MC 049f + 23 MW 049f e0 +25b3 5694 57cd f3e0 0000 0000 0000 0000 8ed2 0433 0000 0004 +00 02 0 0 0 0 23 + +fdcb86 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 7e + 11 MC 0003 + 14 MR 0003 86 + 14 MC 0003 + 15 MC 0003 + 16 MC 2ace + 19 MR 2ace 36 + 19 MC 2ace + 20 MC 2ace + 23 MW 2ace 36 +152b 8ce1 818d 40f2 0000 0000 0000 0000 9b7a 2a50 0000 0004 +00 02 0 0 0 0 23 + +fdcb87 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 59 + 11 MC 0003 + 14 MR 0003 87 + 14 MC 0003 + 15 MC 0003 + 16 MC 24c3 + 19 MR 24c3 65 + 19 MC 24c3 + 20 MC 24c3 + 23 MW 24c3 64 +641d 5353 618d 3266 0000 0000 0000 0000 1a53 246a 0000 0004 +00 02 0 0 0 0 23 +24c3 64 -1 + +fdcb88 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 d4 + 11 MC 0003 + 14 MR 0003 88 + 14 MC 0003 + 15 MC 0003 + 16 MC c5e1 + 19 MR c5e1 d6 + 19 MC c5e1 + 20 MC c5e1 + 23 MW c5e1 d4 +7d14 d4ec 1e47 76e1 0000 0000 0000 0000 3871 c60d 0000 0004 +00 02 0 0 0 0 23 +c5e1 d4 -1 + +fdcb89 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 c3 + 11 MC 0003 + 14 MR 0003 89 + 14 MC 0003 + 15 MC 0003 + 16 MC 09c4 + 19 MR 09c4 b0 + 19 MC 09c4 + 20 MC 09c4 + 23 MW 09c4 b0 +86c3 50b0 8592 d6ca 0000 0000 0000 0000 947b 0a01 0000 0004 +00 02 0 0 0 0 23 + +fdcb8a + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 f9 + 11 MC 0003 + 14 MR 0003 8a + 14 MC 0003 + 15 MC 0003 + 16 MC d4cb + 19 MR d4cb d8 + 19 MC d4cb + 20 MC d4cb + 23 MW d4cb d8 +599c 961a d8f9 8470 0000 0000 0000 0000 d2a5 d4d2 0000 0004 +00 02 0 0 0 0 23 + +fdcb8b + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 ed + 11 MC 0003 + 14 MR 0003 8b + 14 MC 0003 + 15 MC 0003 + 16 MC c70b + 19 MR c70b dc + 19 MC c70b + 20 MC c70b + 23 MW c70b dc +2715 a209 abdc 3eac 0000 0000 0000 0000 f352 c71e 0000 0004 +00 02 0 0 0 0 23 + +fdcb8c + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 97 + 11 MC 0003 + 14 MR 0003 8c + 14 MC 0003 + 15 MC 0003 + 16 MC a199 + 19 MR a199 67 + 19 MC a199 + 20 MC a199 + 23 MW a199 65 +2818 4259 a9b0 65a0 0000 0000 0000 0000 6471 a202 0000 0004 +00 02 0 0 0 0 23 +a199 65 -1 + +fdcb8d + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 c9 + 11 MC 0003 + 14 MR 0003 8d + 14 MC 0003 + 15 MC 0003 + 16 MC 5632 + 19 MR 5632 9a + 19 MC 5632 + 20 MC 5632 + 23 MW 5632 98 +14e3 c330 9aa2 8498 0000 0000 0000 0000 0d4f 5669 0000 0004 +00 02 0 0 0 0 23 +5632 98 -1 + +fdcb8e + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 c2 + 11 MC 0003 + 14 MR 0003 8e + 14 MC 0003 + 15 MC 0003 + 16 MC 4c43 + 19 MR 4c43 7f + 19 MC 4c43 + 20 MC 4c43 + 23 MW 4c43 7d +cb79 0fff b244 c902 0000 0000 0000 0000 6246 4c81 0000 0004 +00 02 0 0 0 0 23 +4c43 7d -1 + +fdcb8f + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 d4 + 11 MC 0003 + 14 MR 0003 8f + 14 MC 0003 + 15 MC 0003 + 16 MC 6b25 + 19 MR 6b25 59 + 19 MC 6b25 + 20 MC 6b25 + 23 MW 6b25 59 +59b4 5fbb 6c9b d0e3 0000 0000 0000 0000 ac5a 6b51 0000 0004 +00 02 0 0 0 0 23 + +fdcb90 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 fd + 11 MC 0003 + 14 MR 0003 90 + 14 MC 0003 + 15 MC 0003 + 16 MC d7f2 + 19 MR d7f2 70 + 19 MC d7f2 + 20 MC d7f2 + 23 MW d7f2 70 +1305 70e1 d627 7402 0000 0000 0000 0000 b470 d7f5 0000 0004 +00 02 0 0 0 0 23 + +fdcb91 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 bf + 11 MC 0003 + 14 MR 0003 91 + 14 MC 0003 + 15 MC 0003 + 16 MC 4791 + 19 MR 4791 0e + 19 MC 4791 + 20 MC 4791 + 23 MW 4791 0a +10df c40a 0213 fc7e 0000 0000 0000 0000 bfab 47d2 0000 0004 +00 02 0 0 0 0 23 +4791 0a -1 + +fdcb92 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 0b + 11 MC 0003 + 14 MR 0003 92 + 14 MC 0003 + 15 MC 0003 + 16 MC 3145 + 19 MR 3145 f6 + 19 MC 3145 + 20 MC 3145 + 23 MW 3145 f2 +6a11 f89e f29d c115 0000 0000 0000 0000 bc5d 313a 0000 0004 +00 02 0 0 0 0 23 +3145 f2 -1 + +fdcb93 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 52 + 11 MC 0003 + 14 MR 0003 93 + 14 MC 0003 + 15 MC 0003 + 16 MC 2992 + 19 MR 2992 38 + 19 MC 2992 + 20 MC 2992 + 23 MW 2992 38 +61e5 cc2c 9538 b52b 0000 0000 0000 0000 fa64 2940 0000 0004 +00 02 0 0 0 0 23 + +fdcb94 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 95 + 11 MC 0003 + 14 MR 0003 94 + 14 MC 0003 + 15 MC 0003 + 16 MC fdb1 + 19 MR fdb1 48 + 19 MC fdb1 + 20 MC fdb1 + 23 MW fdb1 48 +31b4 3e5a fb3d 4883 0000 0000 0000 0000 a801 fe1c 0000 0004 +00 02 0 0 0 0 23 + +fdcb95 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 90 + 11 MC 0003 + 14 MR 0003 95 + 14 MC 0003 + 15 MC 0003 + 16 MC e706 + 19 MR e706 eb + 19 MC e706 + 20 MC e706 + 23 MW e706 eb +337e 63a7 2918 edeb 0000 0000 0000 0000 b12c e776 0000 0004 +00 02 0 0 0 0 23 + +fdcb96 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 9e + 11 MC 0003 + 14 MR 0003 96 + 14 MC 0003 + 15 MC 0003 + 16 MC e66d + 19 MR e66d fc + 19 MC e66d + 20 MC e66d + 23 MW e66d f8 +5d99 d9ec b6d0 5ed5 0000 0000 0000 0000 5d9d e6cf 0000 0004 +00 02 0 0 0 0 23 +e66d f8 -1 + +fdcb97 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 64 + 11 MC 0003 + 14 MR 0003 97 + 14 MC 0003 + 15 MC 0003 + 16 MC 18e3 + 19 MR 18e3 9d + 19 MC 18e3 + 20 MC 18e3 + 23 MW 18e3 99 +99b6 8406 72c6 1ba7 0000 0000 0000 0000 6dca 187f 0000 0004 +00 02 0 0 0 0 23 +18e3 99 -1 + +fdcb98 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 da + 11 MC 0003 + 14 MR 0003 98 + 14 MC 0003 + 15 MC 0003 + 16 MC 4392 + 19 MR 4392 15 + 19 MC 4392 + 20 MC 4392 + 23 MW 4392 15 +0495 152f 8000 b749 0000 0000 0000 0000 e9cb 43b8 0000 0004 +00 02 0 0 0 0 23 + +fdcb99 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 78 + 11 MC 0003 + 14 MR 0003 99 + 14 MC 0003 + 15 MC 0003 + 16 MC d8e4 + 19 MR d8e4 b5 + 19 MC d8e4 + 20 MC d8e4 + 23 MW d8e4 b5 +2824 a4b5 a30b b286 0000 0000 0000 0000 10b0 d86c 0000 0004 +00 02 0 0 0 0 23 + +fdcb9a + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 9c + 11 MC 0003 + 14 MR 0003 9a + 14 MC 0003 + 15 MC 0003 + 16 MC d6b3 + 19 MR d6b3 9d + 19 MC d6b3 + 20 MC d6b3 + 23 MW d6b3 95 +b0cc c40c 951a 014a 0000 0000 0000 0000 2ff9 d717 0000 0004 +00 02 0 0 0 0 23 +d6b3 95 -1 + +fdcb9b + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 83 + 11 MC 0003 + 14 MR 0003 9b + 14 MC 0003 + 15 MC 0003 + 16 MC caa1 + 19 MR caa1 95 + 19 MC caa1 + 20 MC caa1 + 23 MW caa1 95 +d092 a6c2 7995 5448 0000 0000 0000 0000 fab0 cb1e 0000 0004 +00 02 0 0 0 0 23 + +fdcb9c + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 1e + 11 MC 0003 + 14 MR 0003 9c + 14 MC 0003 + 15 MC 0003 + 16 MC 03d1 + 19 MR 03d1 78 + 19 MC 03d1 + 20 MC 03d1 + 23 MW 03d1 70 +b58d 1ed1 e93b 700c 0000 0000 0000 0000 5605 03b3 0000 0004 +00 02 0 0 0 0 23 +03d1 70 -1 + +fdcb9d + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 e6 + 11 MC 0003 + 14 MR 0003 9d + 14 MC 0003 + 15 MC 0003 + 16 MC c06d + 19 MR c06d 53 + 19 MC c06d + 20 MC c06d + 23 MW c06d 53 +c7e9 18d3 8eed bd53 0000 0000 0000 0000 9a7f c087 0000 0004 +00 02 0 0 0 0 23 + +fdcb9e + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 eb + 11 MC 0003 + 14 MR 0003 9e + 14 MC 0003 + 15 MC 0003 + 16 MC 41a8 + 19 MR 41a8 61 + 19 MC 41a8 + 20 MC 41a8 + 23 MW 41a8 61 +81c7 71df 45d5 0ca7 0000 0000 0000 0000 648f 41bd 0000 0004 +00 02 0 0 0 0 23 + +fdcb9f + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 50 + 11 MC 0003 + 14 MR 0003 9f + 14 MC 0003 + 15 MC 0003 + 16 MC 9d99 + 19 MR 9d99 89 + 19 MC 9d99 + 20 MC 9d99 + 23 MW 9d99 81 +81f5 dc9f d490 15be 0000 0000 0000 0000 0e12 9d49 0000 0004 +00 02 0 0 0 0 23 +9d99 81 -1 + +fdcba0 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 76 + 11 MC 0003 + 14 MR 0003 a0 + 14 MC 0003 + 15 MC 0003 + 16 MC d703 + 19 MR d703 d4 + 19 MC d703 + 20 MC d703 + 23 MW d703 c4 +8ccb c457 bc19 e543 0000 0000 0000 0000 8c5d d68d 0000 0004 +00 02 0 0 0 0 23 +d703 c4 -1 + +fdcba1 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 31 + 11 MC 0003 + 14 MR 0003 a1 + 14 MC 0003 + 15 MC 0003 + 16 MC 66f9 + 19 MR 66f9 ec + 19 MC 66f9 + 20 MC 66f9 + 23 MW 66f9 ec +eee6 6dec 3a20 8bba 0000 0000 0000 0000 1de7 66c8 0000 0004 +00 02 0 0 0 0 23 + +fdcba2 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 0e + 11 MC 0003 + 14 MR 0003 a2 + 14 MC 0003 + 15 MC 0003 + 16 MC 04cd + 19 MR 04cd 47 + 19 MC 04cd + 20 MC 04cd + 23 MW 04cd 47 +3f89 5120 47d1 e669 0000 0000 0000 0000 2993 04bf 0000 0004 +00 02 0 0 0 0 23 + +fdcba3 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 05 + 11 MC 0003 + 14 MR 0003 a3 + 14 MC 0003 + 15 MC 0003 + 16 MC ad7c + 19 MR ad7c 59 + 19 MC ad7c + 20 MC ad7c + 23 MW ad7c 49 +4439 6b8b 6149 1246 0000 0000 0000 0000 4cdb ad77 0000 0004 +00 02 0 0 0 0 23 +ad7c 49 -1 + +fdcba4 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 66 + 11 MC 0003 + 14 MR 0003 a4 + 14 MC 0003 + 15 MC 0003 + 16 MC c133 + 19 MR c133 c5 + 19 MC c133 + 20 MC c133 + 23 MW c133 c5 +3385 261e a487 c5bd 0000 0000 0000 0000 4b8f c0cd 0000 0004 +00 02 0 0 0 0 23 + +fdcba5 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 a0 + 11 MC 0003 + 14 MR 0003 a5 + 14 MC 0003 + 15 MC 0003 + 16 MC f141 + 19 MR f141 44 + 19 MC f141 + 20 MC f141 + 23 MW f141 44 +6e70 b7ed 22cd ae44 0000 0000 0000 0000 46de f1a1 0000 0004 +00 02 0 0 0 0 23 + +fdcba6 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 76 + 11 MC 0003 + 14 MR 0003 a6 + 14 MC 0003 + 15 MC 0003 + 16 MC 9469 + 19 MR 9469 bc + 19 MC 9469 + 20 MC 9469 + 23 MW 9469 ac +814b 6408 3dcb 971f 0000 0000 0000 0000 5716 93f3 0000 0004 +00 02 0 0 0 0 23 +9469 ac -1 + +fdcba7 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 66 + 11 MC 0003 + 14 MR 0003 a7 + 14 MC 0003 + 15 MC 0003 + 16 MC 7a2a + 19 MR 7a2a 2e + 19 MC 7a2a + 20 MC 7a2a + 23 MW 7a2a 2e +2ec2 679e c313 61df 0000 0000 0000 0000 67e6 79c4 0000 0004 +00 02 0 0 0 0 23 + +fdcba8 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 a9 + 11 MC 0003 + 14 MR 0003 a8 + 14 MC 0003 + 15 MC 0003 + 16 MC 0cef + 19 MR 0cef b7 + 19 MC 0cef + 20 MC 0cef + 23 MW 0cef 97 +537c 97ed 6cbb bd26 0000 0000 0000 0000 c638 0d46 0000 0004 +00 02 0 0 0 0 23 +0cef 97 -1 + +fdcba9 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 2b + 11 MC 0003 + 14 MR 0003 a9 + 14 MC 0003 + 15 MC 0003 + 16 MC 0f7f + 19 MR 0f7f 8f + 19 MC 0f7f + 20 MC 0f7f + 23 MW 0f7f 8f +ba5a 308f cdd7 298d 0000 0000 0000 0000 59ab 0f54 0000 0004 +00 02 0 0 0 0 23 + +fdcbaa + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 0b + 11 MC 0003 + 14 MR 0003 aa + 14 MC 0003 + 15 MC 0003 + 16 MC b3dc + 19 MR b3dc 3a + 19 MC b3dc + 20 MC b3dc + 23 MW b3dc 1a +406a 2ed6 1a8c c633 0000 0000 0000 0000 87cb b3d1 0000 0004 +00 02 0 0 0 0 23 +b3dc 1a -1 + +fdcbab + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 a9 + 11 MC 0003 + 14 MR 0003 ab + 14 MC 0003 + 15 MC 0003 + 16 MC 8e77 + 19 MR 8e77 1f + 19 MC 8e77 + 20 MC 8e77 + 23 MW 8e77 1f +da61 0521 a11f c7fa 0000 0000 0000 0000 b71a 8ece 0000 0004 +00 02 0 0 0 0 23 + +fdcbac + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 23 + 11 MC 0003 + 14 MR 0003 ac + 14 MC 0003 + 15 MC 0003 + 16 MC 0548 + 19 MR 0548 9c + 19 MC 0548 + 20 MC 0548 + 23 MW 0548 9c +34a3 81ce 07d6 9ca4 0000 0000 0000 0000 430b 0525 0000 0004 +00 02 0 0 0 0 23 + +fdcbad + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 4e + 11 MC 0003 + 14 MR 0003 ad + 14 MC 0003 + 15 MC 0003 + 16 MC 94dd + 19 MR 94dd 37 + 19 MC 94dd + 20 MC 94dd + 23 MW 94dd 17 +5010 918e ddbc 4f17 0000 0000 0000 0000 88c5 948f 0000 0004 +00 02 0 0 0 0 23 +94dd 17 -1 + +fdcbae + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 0c + 11 MC 0003 + 14 MR 0003 ae + 14 MC 0003 + 15 MC 0003 + 16 MC 0c29 + 19 MR 0c29 a9 + 19 MC 0c29 + 20 MC 0c29 + 23 MW 0c29 89 +ec0d b57e 18c6 7b01 0000 0000 0000 0000 bac6 0c1d 0000 0004 +00 02 0 0 0 0 23 +0c29 89 -1 + +fdcbaf + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 0d + 11 MC 0003 + 14 MR 0003 af + 14 MC 0003 + 15 MC 0003 + 16 MC 26f8 + 19 MR 26f8 44 + 19 MC 26f8 + 20 MC 26f8 + 23 MW 26f8 44 +4422 6731 daad 8d38 0000 0000 0000 0000 dd8f 26eb 0000 0004 +00 02 0 0 0 0 23 + +fdcbb0 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 5a + 11 MC 0003 + 14 MR 0003 b0 + 14 MC 0003 + 15 MC 0003 + 16 MC a125 + 19 MR a125 76 + 19 MC a125 + 20 MC a125 + 23 MW a125 36 +b984 366c 44b1 fef9 0000 0000 0000 0000 4069 a0cb 0000 0004 +00 02 0 0 0 0 23 +a125 36 -1 + +fdcbb1 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 82 + 11 MC 0003 + 14 MR 0003 b1 + 14 MC 0003 + 15 MC 0003 + 16 MC f31a + 19 MR f31a 79 + 19 MC f31a + 20 MC f31a + 23 MW f31a 39 +59c3 ab39 42ee b764 0000 0000 0000 0000 8f7f f398 0000 0004 +00 02 0 0 0 0 23 +f31a 39 -1 + +fdcbb2 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 23 + 11 MC 0003 + 14 MR 0003 b2 + 14 MC 0003 + 15 MC 0003 + 16 MC 341c + 19 MR 341c 7b + 19 MC 341c + 20 MC 341c + 23 MW 341c 3b +f310 ceec 3bfb 3569 0000 0000 0000 0000 4a6f 33f9 0000 0004 +00 02 0 0 0 0 23 +341c 3b -1 + +fdcbb3 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 6c + 11 MC 0003 + 14 MR 0003 b3 + 14 MC 0003 + 15 MC 0003 + 16 MC 523e + 19 MR 523e 37 + 19 MC 523e + 20 MC 523e + 23 MW 523e 37 +9c05 0f92 bd37 553d 0000 0000 0000 0000 c75e 51d2 0000 0004 +00 02 0 0 0 0 23 + +fdcbb4 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 c5 + 11 MC 0003 + 14 MR 0003 b4 + 14 MC 0003 + 15 MC 0003 + 16 MC 4cdc + 19 MR 4cdc e9 + 19 MC 4cdc + 20 MC 4cdc + 23 MW 4cdc a9 +3e55 1338 638d a93c 0000 0000 0000 0000 44ad 4d17 0000 0004 +00 02 0 0 0 0 23 +4cdc a9 -1 + +fdcbb5 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 50 + 11 MC 0003 + 14 MR 0003 b5 + 14 MC 0003 + 15 MC 0003 + 16 MC 8f2d + 19 MR 8f2d 0f + 19 MC 8f2d + 20 MC 8f2d + 23 MW 8f2d 0f +2f3a b709 4167 570f 0000 0000 0000 0000 b543 8edd 0000 0004 +00 02 0 0 0 0 23 + +fdcbb6 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 3a + 11 MC 0003 + 14 MR 0003 b6 + 14 MC 0003 + 15 MC 0003 + 16 MC 1e50 + 19 MR 1e50 13 + 19 MC 1e50 + 20 MC 1e50 + 23 MW 1e50 13 +a887 519b c91b cc91 0000 0000 0000 0000 a416 1e16 0000 0004 +00 02 0 0 0 0 23 + +fdcbb7 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 c0 + 11 MC 0003 + 14 MR 0003 b7 + 14 MC 0003 + 15 MC 0003 + 16 MC 0069 + 19 MR 0069 38 + 19 MC 0069 + 20 MC 0069 + 23 MW 0069 38 +3835 a599 9fbf c111 0000 0000 0000 0000 8bc5 00a9 0000 0004 +00 02 0 0 0 0 23 + +fdcbb8 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 31 + 11 MC 0003 + 14 MR 0003 b8 + 14 MC 0003 + 15 MC 0003 + 16 MC d0b8 + 19 MR d0b8 17 + 19 MC d0b8 + 20 MC d0b8 + 23 MW d0b8 17 +d146 1738 1a45 8259 0000 0000 0000 0000 6a03 d087 0000 0004 +00 02 0 0 0 0 23 + +fdcbb9 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 3b + 11 MC 0003 + 14 MR 0003 b9 + 14 MC 0003 + 15 MC 0003 + 16 MC b889 + 19 MR b889 b4 + 19 MC b889 + 20 MC b889 + 23 MW b889 34 +757b 0b34 767b 2ad1 0000 0000 0000 0000 1498 b84e 0000 0004 +00 02 0 0 0 0 23 +b889 34 -1 + +fdcbba + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 38 + 11 MC 0003 + 14 MR 0003 ba + 14 MC 0003 + 15 MC 0003 + 16 MC 3877 + 19 MR 3877 d6 + 19 MC 3877 + 20 MC 3877 + 23 MW 3877 56 +43ef 1c58 56a3 4519 0000 0000 0000 0000 b67b 383f 0000 0004 +00 02 0 0 0 0 23 +3877 56 -1 + +fdcbbb + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 07 + 11 MC 0003 + 14 MR 0003 bb + 14 MC 0003 + 15 MC 0003 + 16 MC e305 + 19 MR e305 6e + 19 MC e305 + 20 MC e305 + 23 MW e305 6e +dccb 7ab3 766e 4161 0000 0000 0000 0000 2942 e2fe 0000 0004 +00 02 0 0 0 0 23 + +fdcbbc + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 f8 + 11 MC 0003 + 14 MR 0003 bc + 14 MC 0003 + 15 MC 0003 + 16 MC af04 + 19 MR af04 cf + 19 MC af04 + 20 MC af04 + 23 MW af04 4f +0e07 34f5 0995 4f42 0000 0000 0000 0000 9d42 af0c 0000 0004 +00 02 0 0 0 0 23 +af04 4f -1 + +fdcbbd + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 aa + 11 MC 0003 + 14 MR 0003 bd + 14 MC 0003 + 15 MC 0003 + 16 MC deb7 + 19 MR deb7 8d + 19 MC deb7 + 20 MC deb7 + 23 MW deb7 0d +30ef e60c 9bf0 a10d 0000 0000 0000 0000 bd1c df0d 0000 0004 +00 02 0 0 0 0 23 +deb7 0d -1 + +fdcbbe + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 c8 + 11 MC 0003 + 14 MR 0003 be + 14 MC 0003 + 15 MC 0003 + 16 MC 3cd7 + 19 MR 3cd7 a1 + 19 MC 3cd7 + 20 MC 3cd7 + 23 MW 3cd7 21 +1133 bef6 5059 1089 0000 0000 0000 0000 d558 3d0f 0000 0004 +00 02 0 0 0 0 23 +3cd7 21 -1 + +fdcbbf + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 fd + 11 MC 0003 + 14 MR 0003 bf + 14 MC 0003 + 15 MC 0003 + 16 MC bde4 + 19 MR bde4 ac + 19 MC bde4 + 20 MC bde4 + 23 MW bde4 2c +2cd6 c893 8db8 716b 0000 0000 0000 0000 0956 bde7 0000 0004 +00 02 0 0 0 0 23 +bde4 2c -1 + +fdcbc0 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 0a + 11 MC 0003 + 14 MR 0003 c0 + 14 MC 0003 + 15 MC 0003 + 16 MC 2b3b + 19 MR 2b3b ec + 19 MC 2b3b + 20 MC 2b3b + 23 MW 2b3b ed +3666 ed6c 35e5 db0a 0000 0000 0000 0000 ea93 2b31 0000 0004 +00 02 0 0 0 0 23 +2b3b ed -1 + +fdcbc1 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 87 + 11 MC 0003 + 14 MR 0003 c1 + 14 MC 0003 + 15 MC 0003 + 16 MC bcee + 19 MR bcee ee + 19 MC bcee + 20 MC bcee + 23 MW bcee ef +3902 d4ef af62 9821 0000 0000 0000 0000 48b8 bd67 0000 0004 +00 02 0 0 0 0 23 +bcee ef -1 + +fdcbc2 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 8d + 11 MC 0003 + 14 MR 0003 c2 + 14 MC 0003 + 15 MC 0003 + 16 MC 5ab9 + 19 MR 5ab9 c2 + 19 MC 5ab9 + 20 MC 5ab9 + 23 MW 5ab9 c3 +ad26 5a6d c362 16c9 0000 0000 0000 0000 495a 5b2c 0000 0004 +00 02 0 0 0 0 23 +5ab9 c3 -1 + +fdcbc3 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 5a + 11 MC 0003 + 14 MR 0003 c3 + 14 MC 0003 + 15 MC 0003 + 16 MC e6c0 + 19 MR e6c0 4f + 19 MC e6c0 + 20 MC e6c0 + 23 MW e6c0 4f +3e6c 9a74 a24f 9838 0000 0000 0000 0000 eafa e666 0000 0004 +00 02 0 0 0 0 23 + +fdcbc4 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 89 + 11 MC 0003 + 14 MR 0003 c4 + 14 MC 0003 + 15 MC 0003 + 16 MC 5c99 + 19 MR 5c99 61 + 19 MC 5c99 + 20 MC 5c99 + 23 MW 5c99 61 +bf68 d00b 5283 61c2 0000 0000 0000 0000 517c 5d10 0000 0004 +00 02 0 0 0 0 23 + +fdcbc5 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 a9 + 11 MC 0003 + 14 MR 0003 c5 + 14 MC 0003 + 15 MC 0003 + 16 MC 0264 + 19 MR 0264 cd + 19 MC 0264 + 20 MC 0264 + 23 MW 0264 cd +127b db6a 00b9 51cd 0000 0000 0000 0000 98f6 02bb 0000 0004 +00 02 0 0 0 0 23 + +fdcbc6 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 ee + 11 MC 0003 + 14 MR 0003 c6 + 14 MC 0003 + 15 MC 0003 + 16 MC 76b2 + 19 MR 76b2 82 + 19 MC 76b2 + 20 MC 76b2 + 23 MW 76b2 83 +35da 98c2 3f57 44a4 0000 0000 0000 0000 2771 76c4 0000 0004 +00 02 0 0 0 0 23 +76b2 83 -1 + +fdcbc7 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 9e + 11 MC 0003 + 14 MR 0003 c7 + 14 MC 0003 + 15 MC 0003 + 16 MC f2a9 + 19 MR f2a9 d7 + 19 MC f2a9 + 20 MC f2a9 + 23 MW f2a9 d7 +d73f b86f 12d3 7e2d 0000 0000 0000 0000 d870 f30b 0000 0004 +00 02 0 0 0 0 23 + +fdcbc8 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 10 + 11 MC 0003 + 14 MR 0003 c8 + 14 MC 0003 + 15 MC 0003 + 16 MC c422 + 19 MR c422 e9 + 19 MC c422 + 20 MC c422 + 23 MW c422 eb +1f81 ebc0 85da 3cdd 0000 0000 0000 0000 d854 c412 0000 0004 +00 02 0 0 0 0 23 +c422 eb -1 + +fdcbc9 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 61 + 11 MC 0003 + 14 MR 0003 c9 + 14 MC 0003 + 15 MC 0003 + 16 MC 8ba3 + 19 MR 8ba3 b7 + 19 MC 8ba3 + 20 MC 8ba3 + 23 MW 8ba3 b7 +ed19 3fb7 1370 e084 0000 0000 0000 0000 4fdd 8b42 0000 0004 +00 02 0 0 0 0 23 + +fdcbca + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 1a + 11 MC 0003 + 14 MR 0003 ca + 14 MC 0003 + 15 MC 0003 + 16 MC 51aa + 19 MR 51aa 90 + 19 MC 51aa + 20 MC 51aa + 23 MW 51aa 92 +c7e5 233b 9212 f7f9 0000 0000 0000 0000 e417 5190 0000 0004 +00 02 0 0 0 0 23 +51aa 92 -1 + +fdcbcb + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 5e + 11 MC 0003 + 14 MR 0003 cb + 14 MC 0003 + 15 MC 0003 + 16 MC 9ad0 + 19 MR 9ad0 70 + 19 MC 9ad0 + 20 MC 9ad0 + 23 MW 9ad0 72 +bdba a964 ea72 9422 0000 0000 0000 0000 fca3 9a72 0000 0004 +00 02 0 0 0 0 23 +9ad0 72 -1 + +fdcbcc + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 2d + 11 MC 0003 + 14 MR 0003 cc + 14 MC 0003 + 15 MC 0003 + 16 MC 1526 + 19 MR 1526 4e + 19 MC 1526 + 20 MC 1526 + 23 MW 1526 4e +0f4f 0261 21b0 4e97 0000 0000 0000 0000 575d 14f9 0000 0004 +00 02 0 0 0 0 23 + +fdcbcd + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 a1 + 11 MC 0003 + 14 MR 0003 cd + 14 MC 0003 + 15 MC 0003 + 16 MC bb8a + 19 MR bb8a 66 + 19 MC bb8a + 20 MC bb8a + 23 MW bb8a 66 +1b79 8f9f 31bf 9c66 0000 0000 0000 0000 7ecb bbe9 0000 0004 +00 02 0 0 0 0 23 + +fdcbce + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 36 + 11 MC 0003 + 14 MR 0003 ce + 14 MC 0003 + 15 MC 0003 + 16 MC b8d8 + 19 MR b8d8 45 + 19 MC b8d8 + 20 MC b8d8 + 23 MW b8d8 47 +8e13 968e 1784 0a0a 0000 0000 0000 0000 1e87 b8a2 0000 0004 +00 02 0 0 0 0 23 +b8d8 47 -1 + +fdcbcf + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 70 + 11 MC 0003 + 14 MR 0003 cf + 14 MC 0003 + 15 MC 0003 + 16 MC c30c + 19 MR c30c 7a + 19 MC c30c + 20 MC c30c + 23 MW c30c 7a +7a0a a073 c4ba 5b69 0000 0000 0000 0000 3b47 c29c 0000 0004 +00 02 0 0 0 0 23 + +fdcbd0 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 bc + 11 MC 0003 + 14 MR 0003 d0 + 14 MC 0003 + 15 MC 0003 + 16 MC 3ba7 + 19 MR 3ba7 20 + 19 MC 3ba7 + 20 MC 3ba7 + 23 MW 3ba7 24 +e2bb 2435 650c 689a 0000 0000 0000 0000 1294 3beb 0000 0004 +00 02 0 0 0 0 23 +3ba7 24 -1 + +fdcbd1 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 11 + 11 MC 0003 + 14 MR 0003 d1 + 14 MC 0003 + 15 MC 0003 + 16 MC 8c76 + 19 MR 8c76 b9 + 19 MC 8c76 + 20 MC 8c76 + 23 MW 8c76 bd +5df8 f7bd 9494 4967 0000 0000 0000 0000 ad00 8c65 0000 0004 +00 02 0 0 0 0 23 +8c76 bd -1 + +fdcbd2 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 fb + 11 MC 0003 + 14 MR 0003 d2 + 14 MC 0003 + 15 MC 0003 + 16 MC c04c + 19 MR c04c 51 + 19 MC c04c + 20 MC c04c + 23 MW c04c 55 +9876 4bd9 5548 665a 0000 0000 0000 0000 7eac c051 0000 0004 +00 02 0 0 0 0 23 +c04c 55 -1 + +fdcbd3 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 3e + 11 MC 0003 + 14 MR 0003 d3 + 14 MC 0003 + 15 MC 0003 + 16 MC 0ac5 + 19 MR 0ac5 e0 + 19 MC 0ac5 + 20 MC 0ac5 + 23 MW 0ac5 e4 +8f90 bacd e8e4 538f 0000 0000 0000 0000 fe5a 0a87 0000 0004 +00 02 0 0 0 0 23 +0ac5 e4 -1 + +fdcbd4 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 36 + 11 MC 0003 + 14 MR 0003 d4 + 14 MC 0003 + 15 MC 0003 + 16 MC 94ae + 19 MR 94ae 7d + 19 MC 94ae + 20 MC 94ae + 23 MW 94ae 7d +15e2 1820 5588 7d7f 0000 0000 0000 0000 7193 9478 0000 0004 +00 02 0 0 0 0 23 + +fdcbd5 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 48 + 11 MC 0003 + 14 MR 0003 d5 + 14 MC 0003 + 15 MC 0003 + 16 MC 8650 + 19 MR 8650 98 + 19 MC 8650 + 20 MC 8650 + 23 MW 8650 9c +1409 6535 c371 ab9c 0000 0000 0000 0000 2e10 8608 0000 0004 +00 02 0 0 0 0 23 +8650 9c -1 + +fdcbd6 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 c9 + 11 MC 0003 + 14 MR 0003 d6 + 14 MC 0003 + 15 MC 0003 + 16 MC 6a6c + 19 MR 6a6c 7c + 19 MC 6a6c + 20 MC 6a6c + 23 MW 6a6c 7c +7801 78b6 d191 054a 0000 0000 0000 0000 2065 6aa3 0000 0004 +00 02 0 0 0 0 23 + +fdcbd7 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 be + 11 MC 0003 + 14 MR 0003 d7 + 14 MC 0003 + 15 MC 0003 + 16 MC 3669 + 19 MR 3669 95 + 19 MC 3669 + 20 MC 3669 + 23 MW 3669 95 +956a 266e 387f 7fcb 0000 0000 0000 0000 1941 36ab 0000 0004 +00 02 0 0 0 0 23 + +fdcbd8 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 bc + 11 MC 0003 + 14 MR 0003 d8 + 14 MC 0003 + 15 MC 0003 + 16 MC 43b4 + 19 MR 43b4 d8 + 19 MC 43b4 + 20 MC 43b4 + 23 MW 43b4 d8 +7b1b d891 efee 55b9 0000 0000 0000 0000 f789 43f8 0000 0004 +00 02 0 0 0 0 23 + +fdcbd9 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 16 + 11 MC 0003 + 14 MR 0003 d9 + 14 MC 0003 + 15 MC 0003 + 16 MC 0a7c + 19 MR 0a7c f4 + 19 MC 0a7c + 20 MC 0a7c + 23 MW 0a7c fc +0faf 4efc c556 6ed3 0000 0000 0000 0000 3fc3 0a66 0000 0004 +00 02 0 0 0 0 23 +0a7c fc -1 + +fdcbda + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 e8 + 11 MC 0003 + 14 MR 0003 da + 14 MC 0003 + 15 MC 0003 + 16 MC d0d8 + 19 MR d0d8 6b + 19 MC d0d8 + 20 MC d0d8 + 23 MW d0d8 6b +9ea1 8186 6b45 d6e0 0000 0000 0000 0000 34d3 d0f0 0000 0004 +00 02 0 0 0 0 23 + +fdcbdb + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 7a + 11 MC 0003 + 14 MR 0003 db + 14 MC 0003 + 15 MC 0003 + 16 MC 8ca3 + 19 MR 8ca3 15 + 19 MC 8ca3 + 20 MC 8ca3 + 23 MW 8ca3 1d +5ee0 bdea d01d 513f 0000 0000 0000 0000 690a 8c29 0000 0004 +00 02 0 0 0 0 23 +8ca3 1d -1 + +fdcbdc + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 64 + 11 MC 0003 + 14 MR 0003 dc + 14 MC 0003 + 15 MC 0003 + 16 MC 599e + 19 MR 599e 15 + 19 MC 599e + 20 MC 599e + 23 MW 599e 1d +5cfa 2e2b 1d17 1df6 0000 0000 0000 0000 a4f2 593a 0000 0004 +00 02 0 0 0 0 23 +599e 1d -1 + +fdcbdd + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 75 + 11 MC 0003 + 14 MR 0003 dd + 14 MC 0003 + 15 MC 0003 + 16 MC 1e09 + 19 MR 1e09 28 + 19 MC 1e09 + 20 MC 1e09 + 23 MW 1e09 28 +8773 70a6 83ce 5228 0000 0000 0000 0000 35da 1d94 0000 0004 +00 02 0 0 0 0 23 + +fdcbde + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 17 + 11 MC 0003 + 14 MR 0003 de + 14 MC 0003 + 15 MC 0003 + 16 MC c9f7 + 19 MR c9f7 41 + 19 MC c9f7 + 20 MC c9f7 + 23 MW c9f7 49 +8310 fa01 6c69 252a 0000 0000 0000 0000 5291 c9e0 0000 0004 +00 02 0 0 0 0 23 +c9f7 49 -1 + +fdcbdf + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 93 + 11 MC 0003 + 14 MR 0003 df + 14 MC 0003 + 15 MC 0003 + 16 MC ea56 + 19 MR ea56 ef + 19 MC ea56 + 20 MC ea56 + 23 MW ea56 ef +ef0d a722 e78e 50ba 0000 0000 0000 0000 9d67 eac3 0000 0004 +00 02 0 0 0 0 23 + +fdcbe0 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 56 + 11 MC 0003 + 14 MR 0003 e0 + 14 MC 0003 + 15 MC 0003 + 16 MC 155d + 19 MR 155d b9 + 19 MC 155d + 20 MC 155d + 23 MW 155d b9 +10ef b901 2ca5 f752 0000 0000 0000 0000 4747 1507 0000 0004 +00 02 0 0 0 0 23 + +fdcbe1 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 d1 + 11 MC 0003 + 14 MR 0003 e1 + 14 MC 0003 + 15 MC 0003 + 16 MC 0dde + 19 MR 0dde 16 + 19 MC 0dde + 20 MC 0dde + 23 MW 0dde 16 +e4cb 6f16 1c11 1426 0000 0000 0000 0000 189b 0e0d 0000 0004 +00 02 0 0 0 0 23 + +fdcbe2 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 50 + 11 MC 0003 + 14 MR 0003 e2 + 14 MC 0003 + 15 MC 0003 + 16 MC e4ec + 19 MR e4ec c2 + 19 MC e4ec + 20 MC e4ec + 23 MW e4ec d2 +11a9 bae8 d28b bac4 0000 0000 0000 0000 d8ed e49c 0000 0004 +00 02 0 0 0 0 23 +e4ec d2 -1 + +fdcbe3 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 ca + 11 MC 0003 + 14 MR 0003 e3 + 14 MC 0003 + 15 MC 0003 + 16 MC ad72 + 19 MR ad72 ba + 19 MC ad72 + 20 MC ad72 + 23 MW ad72 ba +8832 952b 02ba 26ef 0000 0000 0000 0000 fb55 ada8 0000 0004 +00 02 0 0 0 0 23 + +fdcbe4 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 62 + 11 MC 0003 + 14 MR 0003 e4 + 14 MC 0003 + 15 MC 0003 + 16 MC 54d6 + 19 MR 54d6 7b + 19 MC 54d6 + 20 MC 54d6 + 23 MW 54d6 7b +3989 4142 89e2 7b5b 0000 0000 0000 0000 0bf7 5474 0000 0004 +00 02 0 0 0 0 23 + +fdcbe5 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 da + 11 MC 0003 + 14 MR 0003 e5 + 14 MC 0003 + 15 MC 0003 + 16 MC a507 + 19 MR a507 4c + 19 MC a507 + 20 MC a507 + 23 MW a507 5c +e5c5 b86d 41bb 315c 0000 0000 0000 0000 1a78 a52d 0000 0004 +00 02 0 0 0 0 23 +a507 5c -1 + +fdcbe6 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 76 + 11 MC 0003 + 14 MR 0003 e6 + 14 MC 0003 + 15 MC 0003 + 16 MC 8b7c + 19 MR 8b7c 45 + 19 MC 8b7c + 20 MC 8b7c + 23 MW 8b7c 55 +fd89 d888 1e2f ddf5 0000 0000 0000 0000 42f5 8b06 0000 0004 +00 02 0 0 0 0 23 +8b7c 55 -1 + +fdcbe7 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 11 + 11 MC 0003 + 14 MR 0003 e7 + 14 MC 0003 + 15 MC 0003 + 16 MC b5a8 + 19 MR b5a8 a6 + 19 MC b5a8 + 20 MC b5a8 + 23 MW b5a8 b6 +b625 d3e9 d4b6 aa30 0000 0000 0000 0000 88bd b597 0000 0004 +00 02 0 0 0 0 23 +b5a8 b6 -1 + +fdcbe8 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 ed + 11 MC 0003 + 14 MR 0003 e8 + 14 MC 0003 + 15 MC 0003 + 16 MC 0a64 + 19 MR 0a64 d0 + 19 MC 0a64 + 20 MC 0a64 + 23 MW 0a64 f0 +514d f0ab 37b5 57de 0000 0000 0000 0000 a4ec 0a77 0000 0004 +00 02 0 0 0 0 23 +0a64 f0 -1 + +fdcbe9 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 35 + 11 MC 0003 + 14 MR 0003 e9 + 14 MC 0003 + 15 MC 0003 + 16 MC a883 + 19 MR a883 2f + 19 MC a883 + 20 MC a883 + 23 MW a883 2f +974e d22f d5cb 6bd4 0000 0000 0000 0000 158a a84e 0000 0004 +00 02 0 0 0 0 23 + +fdcbea + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 93 + 11 MC 0003 + 14 MR 0003 ea + 14 MC 0003 + 15 MC 0003 + 16 MC 7526 + 19 MR 7526 1b + 19 MC 7526 + 20 MC 7526 + 23 MW 7526 3b +3ef4 3fc6 3b44 e9a4 0000 0000 0000 0000 c877 7593 0000 0004 +00 02 0 0 0 0 23 +7526 3b -1 + +fdcbeb + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 d0 + 11 MC 0003 + 14 MR 0003 eb + 14 MC 0003 + 15 MC 0003 + 16 MC 23e1 + 19 MR 23e1 47 + 19 MC 23e1 + 20 MC 23e1 + 23 MW 23e1 67 +798f 5e9b 9467 2e52 0000 0000 0000 0000 d6ad 2411 0000 0004 +00 02 0 0 0 0 23 +23e1 67 -1 + +fdcbec + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 f3 + 11 MC 0003 + 14 MR 0003 ec + 14 MC 0003 + 15 MC 0003 + 16 MC d2de + 19 MR d2de 49 + 19 MC d2de + 20 MC d2de + 23 MW d2de 69 +38a4 07c0 6cee 6915 0000 0000 0000 0000 f160 d2eb 0000 0004 +00 02 0 0 0 0 23 +d2de 69 -1 + +fdcbed + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 58 + 11 MC 0003 + 14 MR 0003 ed + 14 MC 0003 + 15 MC 0003 + 16 MC 0f03 + 19 MR 0f03 10 + 19 MC 0f03 + 20 MC 0f03 + 23 MW 0f03 30 +e0bc 70c1 de35 8130 0000 0000 0000 0000 d57f 0eab 0000 0004 +00 02 0 0 0 0 23 +0f03 30 -1 + +fdcbee + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 02 + 11 MC 0003 + 14 MR 0003 ee + 14 MC 0003 + 15 MC 0003 + 16 MC 42be + 19 MR 42be d0 + 19 MC 42be + 20 MC 42be + 23 MW 42be f0 +5fcb 9007 1736 aca8 0000 0000 0000 0000 4bab 42bc 0000 0004 +00 02 0 0 0 0 23 +42be f0 -1 + +fdcbef + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 58 + 11 MC 0003 + 14 MR 0003 ef + 14 MC 0003 + 15 MC 0003 + 16 MC 22ca + 19 MR 22ca 09 + 19 MC 22ca + 20 MC 22ca + 23 MW 22ca 29 +29e3 d344 cb5b aeb5 0000 0000 0000 0000 de5f 2272 0000 0004 +00 02 0 0 0 0 23 +22ca 29 -1 + +fdcbf0 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 45 + 11 MC 0003 + 14 MR 0003 f0 + 14 MC 0003 + 15 MC 0003 + 16 MC eee3 + 19 MR eee3 2c + 19 MC eee3 + 20 MC eee3 + 23 MW eee3 6c +1080 6c70 1b5b a9b7 0000 0000 0000 0000 e89d ee9e 0000 0004 +00 02 0 0 0 0 23 +eee3 6c -1 + +fdcbf1 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 2f + 11 MC 0003 + 14 MR 0003 f1 + 14 MC 0003 + 15 MC 0003 + 16 MC 47b2 + 19 MR 47b2 dc + 19 MC 47b2 + 20 MC 47b2 + 23 MW 47b2 dc +1702 c4dc d138 316f 0000 0000 0000 0000 8067 4783 0000 0004 +00 02 0 0 0 0 23 + +fdcbf2 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 2c + 11 MC 0003 + 14 MR 0003 f2 + 14 MC 0003 + 15 MC 0003 + 16 MC eac3 + 19 MR eac3 5e + 19 MC eac3 + 20 MC eac3 + 23 MW eac3 5e +732a 4cd1 5efe 4814 0000 0000 0000 0000 42f1 ea97 0000 0004 +00 02 0 0 0 0 23 + +fdcbf3 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 38 + 11 MC 0003 + 14 MR 0003 f3 + 14 MC 0003 + 15 MC 0003 + 16 MC 7dc8 + 19 MR 7dc8 0c + 19 MC 7dc8 + 20 MC 7dc8 + 23 MW 7dc8 4c +6b97 59d3 f54c 7530 0000 0000 0000 0000 6670 7d90 0000 0004 +00 02 0 0 0 0 23 +7dc8 4c -1 + +fdcbf4 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 d0 + 11 MC 0003 + 14 MR 0003 f4 + 14 MC 0003 + 15 MC 0003 + 16 MC 306c + 19 MR 306c 0e + 19 MC 306c + 20 MC 306c + 23 MW 306c 4e +7af0 a81f 5d3a 4e9b 0000 0000 0000 0000 e12b 309c 0000 0004 +00 02 0 0 0 0 23 +306c 4e -1 + +fdcbf5 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 55 + 11 MC 0003 + 14 MR 0003 f5 + 14 MC 0003 + 15 MC 0003 + 16 MC 6b74 + 19 MR 6b74 f8 + 19 MC 6b74 + 20 MC 6b74 + 23 MW 6b74 f8 +1370 f6b2 aaa2 7ff8 0000 0000 0000 0000 c9f6 6b1f 0000 0004 +00 02 0 0 0 0 23 + +fdcbf6 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 56 + 11 MC 0003 + 14 MR 0003 f6 + 14 MC 0003 + 15 MC 0003 + 16 MC c670 + 19 MR c670 5d + 19 MC c670 + 20 MC c670 + 23 MW c670 5d +7c43 fcd1 34bd f4ab 0000 0000 0000 0000 ef33 c61a 0000 0004 +00 02 0 0 0 0 23 + +fdcbf7 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 9e + 11 MC 0003 + 14 MR 0003 f7 + 14 MC 0003 + 15 MC 0003 + 16 MC 5727 + 19 MR 5727 66 + 19 MC 5727 + 20 MC 5727 + 23 MW 5727 66 +66da 231a 7bb1 800d 0000 0000 0000 0000 e37e 5789 0000 0004 +00 02 0 0 0 0 23 + +fdcbf8 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 54 + 11 MC 0003 + 14 MR 0003 f8 + 14 MC 0003 + 15 MC 0003 + 16 MC dece + 19 MR dece 7a + 19 MC dece + 20 MC dece + 23 MW dece fa +fa29 fa74 d7c4 afaf 0000 0000 0000 0000 512c de7a 0000 0004 +00 02 0 0 0 0 23 +dece fa -1 + +fdcbf9 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 30 + 11 MC 0003 + 14 MR 0003 f9 + 14 MC 0003 + 15 MC 0003 + 16 MC 9a13 + 19 MR 9a13 c6 + 19 MC 9a13 + 20 MC 9a13 + 23 MW 9a13 c6 +4662 a7c6 5065 ed06 0000 0000 0000 0000 279e 99e3 0000 0004 +00 02 0 0 0 0 23 + +fdcbfa + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 09 + 11 MC 0003 + 14 MR 0003 fa + 14 MC 0003 + 15 MC 0003 + 16 MC bd82 + 19 MR bd82 f4 + 19 MC bd82 + 20 MC bd82 + 23 MW bd82 f4 +9426 53ec f416 6c99 0000 0000 0000 0000 8b99 bd79 0000 0004 +00 02 0 0 0 0 23 + +fdcbfb + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 ba + 11 MC 0003 + 14 MR 0003 fb + 14 MC 0003 + 15 MC 0003 + 16 MC f82f + 19 MR f82f ed + 19 MC f82f + 20 MC f82f + 23 MW f82f ed +5343 b212 09ed e3c6 0000 0000 0000 0000 cd2b f875 0000 0004 +00 02 0 0 0 0 23 + +fdcbfc + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 56 + 11 MC 0003 + 14 MR 0003 fc + 14 MC 0003 + 15 MC 0003 + 16 MC 6679 + 19 MR 6679 65 + 19 MC 6679 + 20 MC 6679 + 23 MW 6679 e5 +0965 4392 ca25 e5aa 0000 0000 0000 0000 f023 6623 0000 0004 +00 02 0 0 0 0 23 +6679 e5 -1 + +fdcbfd + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 25 + 11 MC 0003 + 14 MR 0003 fd + 14 MC 0003 + 15 MC 0003 + 16 MC 5d50 + 19 MR 5d50 27 + 19 MC 5d50 + 20 MC 5d50 + 23 MW 5d50 a7 +1751 233c 6214 d1a7 0000 0000 0000 0000 c415 5d2b 0000 0004 +00 02 0 0 0 0 23 +5d50 a7 -1 + +fdcbfe + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 88 + 11 MC 0003 + 14 MR 0003 fe + 14 MC 0003 + 15 MC 0003 + 16 MC 4dd7 + 19 MR 4dd7 4a + 19 MC 4dd7 + 20 MC 4dd7 + 23 MW 4dd7 ca +b4cf 5639 677b 0ca2 0000 0000 0000 0000 ddc5 4e4f 0000 0004 +00 02 0 0 0 0 23 +4dd7 ca -1 + +fdcbff + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 cb + 8 MC 0002 + 11 MR 0002 e4 + 11 MC 0003 + 14 MR 0003 ff + 14 MC 0003 + 15 MC 0003 + 16 MC 2ad1 + 19 MR 2ad1 97 + 19 MC 2ad1 + 20 MC 2ad1 + 23 MW 2ad1 97 +9751 13da 7c56 f025 0000 0000 0000 0000 2b36 2aed 0000 0004 +00 02 0 0 0 0 23 + +fde1 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 e1 + 8 MC 716e + 11 MR 716e d5 + 11 MC 716f + 14 MR 716f 92 +828e 078b 1e35 8f1c 0000 0000 0000 0000 4827 92d5 7170 0002 +00 02 0 0 0 0 14 + +fde3 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 e3 + 8 MC 1a38 + 11 MR 1a38 e0 + 11 MC 1a39 + 14 MR 1a39 0f + 14 MC 1a39 + 15 MC 1a39 + 18 MW 1a39 95 + 18 MC 1a38 + 21 MW 1a38 10 + 21 MC 1a38 + 22 MC 1a38 +4298 c805 6030 4292 0000 0000 0000 0000 473b 0fe0 1a38 0002 +00 02 0 0 0 0 23 +1a38 10 95 -1 + +fde5 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 e5 + 8 MC 0002 + 9 MC a8e0 + 12 MW a8e0 d4 + 12 MC a8df + 15 MW a8df da +d139 aa0d bf2b 2a56 0000 0000 0000 0000 e138 d4da a8df 0002 +00 02 0 0 0 0 15 +a8df da d4 -1 + +fde9 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 e9 +c14f 2eb6 edf0 27cf 0000 0000 0000 0000 09ee a2a4 0000 a2a4 +00 02 0 0 0 0 8 + +fdf9 + 0 MC 0000 + 4 MR 0000 fd + 4 MC 0001 + 8 MR 0001 f9 + 8 MC 0002 + 9 MC 0002 +c260 992e d544 67fb 0000 0000 0000 0000 ba5e 3596 3596 0002 +00 02 0 0 0 0 10 + +fe + 0 MC 0000 + 4 MR 0000 fe + 4 MC 0001 + 7 MR 0001 82 +6987 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 + +ff + 0 MC 6d33 + 4 MR 6d33 ff + 4 MC 0001 + 5 MC 5506 + 8 MW 5506 6d + 8 MC 5505 + 11 MW 5505 34 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 5505 0038 +00 01 0 0 0 0 11 +5505 34 6d -1 + diff --git a/src/z80free/tests.in b/src/z80free/tests.in new file mode 100644 index 0000000..194461c --- /dev/null +++ b/src/z80free/tests.in @@ -0,0 +1,9011 @@ +00 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 00 -1 +-1 + +01 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 01 12 34 -1 +-1 + +02 +5600 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 02 -1 +-1 + +03 +0000 789a 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 03 -1 +-1 + +04 +0000 ff00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 04 -1 +-1 + +05 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 05 -1 +-1 + +06 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 06 bc -1 +-1 + +07 +8800 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 07 -1 +-1 + +08 +def0 0000 0000 0000 1234 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 08 -1 +-1 + +09 +0000 5678 0000 9abc 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 09 -1 +-1 + +0a +0000 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 0a de -1 +-1 + +0b +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 0b -1 +-1 + +0c +0000 007f 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 0c -1 +-1 + +0d +0000 0080 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 0d -1 +-1 + +0e +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 0e f0 -1 +-1 + +0f +4100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 0f -1 +-1 + +10 +0000 0800 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 132 +0000 00 10 fd 0c -1 +-1 + +11 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 11 9a bc -1 +-1 + +12 +5600 0000 8000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 12 -1 +-1 + +13 +0000 0000 def0 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 13 -1 +-1 + +14 +0000 0000 2700 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 14 -1 +-1 + +15 +0000 0000 1000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 15 -1 +-1 + +16 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 16 12 -1 +-1 + +17 +0801 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 17 -1 +-1 + +18 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 18 40 -1 +-1 + +19 +0000 0000 3456 789a 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 19 -1 +-1 + +1a +0000 0000 8000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 1a -1 +8000 13 -1 +-1 + +1b +0000 0000 e5d4 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 1b -1 +-1 + +1c +0000 0000 00aa 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 1c -1 +-1 + +1d +0000 0000 00aa 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 1d -1 +-1 + +1e +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 1e ef -1 +-1 + +1f +01c4 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 1f -1 +-1 + +20_1 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 20 40 -1 +-1 + +20_2 +0040 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 20 40 -1 +-1 + +21 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 21 28 ed -1 +-1 + +22 +0000 0000 0000 c64c 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 22 b0 c3 -1 +-1 + +23 +0000 0000 0000 9c4e 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 23 -1 +-1 + +24 +0000 0000 0000 7200 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 24 -1 +-1 + +25 +0000 0000 0000 a500 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 25 -1 +-1 + +26 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 26 3a -1 +-1 + +27_1 +9a02 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 27 -1 +-1 + +27 +1f00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 27 -1 +-1 + +28_1 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 28 8e -1 +-1 + +28_2 +0040 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 28 8e -1 +-1 + +29 +0000 0000 0000 cdfa 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 29 -1 +-1 + +2a +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 2a 45 ac -1 +ac45 c4 de -1 +-1 + +2b +0000 0000 0000 9e66 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 2b -1 +-1 + +2c +0000 0000 0000 0026 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 2c -1 +-1 + +2d +0000 0000 0000 0032 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 2d -1 +-1 + +2e +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 2e 18 -1 +-1 + +2f +8900 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 2f -1 +-1 + +30_1 +0036 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 30 50 -1 +-1 + +30_2 +0037 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 30 50 -1 +-1 + +31 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 31 d4 61 -1 +-1 + +32 +0e00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 32 ac ad -1 +-1 + +33 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 a55a 0000 +00 00 0 0 0 0 1 +0000 33 -1 +-1 + +34 +0000 0000 0000 fe1d 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 34 -1 +fe1d fd -1 +-1 + +35 +0000 0000 0000 470c 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 35 -1 +470c 82 -1 +-1 + +36 +0000 0000 0000 7d29 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 36 7c -1 +-1 + +37_1 +00ff 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 37 -1 +-1 + +37_2 +ff00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 37 -1 +-1 + +37_3 +ffff 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 37 -1 +-1 + +37 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 37 -1 +-1 + +38_1 +00b2 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 38 66 -1 +-1 + +38_2 +00b3 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 38 66 -1 +-1 + +39 +0000 0000 0000 1aef 0000 0000 0000 0000 0000 0000 c534 0000 +00 00 0 0 0 0 1 +0000 29 -1 +-1 + +3a +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 3a 52 99 -1 +9952 28 -1 +-1 + +3b +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 9d36 0000 +00 00 0 0 0 0 1 +0000 3b -1 +-1 + +3c +cf00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 3c -1 +-1 + +3d +ea00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 3d -1 +-1 + +3e +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 3e d6 -1 +-1 + +3f +005b 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 3f -1 +-1 + +40 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 40 -1 +a169 50 -1 +-1 + +41 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 41 -1 +a169 50 -1 +-1 + +42 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 42 -1 +a169 50 -1 +-1 + +43 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 43 -1 +a169 50 -1 +-1 + +44 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 44 -1 +a169 50 -1 +-1 + +45 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 45 -1 +a169 50 -1 +-1 + +46 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 46 -1 +a169 50 -1 +-1 + +47 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 47 -1 +a169 50 -1 +-1 + +48 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 48 -1 +a169 50 -1 +-1 + +49 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 49 -1 +a169 50 -1 +-1 + +4a +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 4a -1 +a169 50 -1 +-1 + +4b +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 4b -1 +a169 50 -1 +-1 + +4c +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 4c -1 +a169 50 -1 +-1 + +4d +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 4d -1 +a169 50 -1 +-1 + +4e +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 4e -1 +a169 50 -1 +-1 + +4f +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 4f -1 +a169 50 -1 +-1 + +50 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 50 -1 +a169 50 -1 +-1 + +51 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 51 -1 +a169 50 -1 +-1 + +52 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 52 -1 +a169 50 -1 +-1 + +53 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 53 -1 +a169 50 -1 +-1 + +54 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 54 -1 +a169 50 -1 +-1 + +55 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 55 -1 +a169 50 -1 +-1 + +56 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 56 -1 +a169 50 -1 +-1 + +57 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 57 -1 +a169 50 -1 +-1 + +58 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 58 -1 +a169 50 -1 +-1 + +59 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 59 -1 +a169 50 -1 +-1 + +5a +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 5a -1 +a169 50 -1 +-1 + +5b +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 5b -1 +a169 50 -1 +-1 + +5c +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 5c -1 +a169 50 -1 +-1 + +5d +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 5d -1 +a169 50 -1 +-1 + +5e +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 5e -1 +a169 50 -1 +-1 + +5f +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 5f -1 +a169 50 -1 +-1 + +60 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 60 -1 +a169 50 -1 +-1 + +61 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 61 -1 +a169 50 -1 +-1 + +62 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 62 -1 +a169 50 -1 +-1 + +63 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 63 -1 +a169 50 -1 +-1 + +64 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 64 -1 +a169 50 -1 +-1 + +65 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 65 -1 +a169 50 -1 +-1 + +66 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 66 -1 +a169 50 -1 +-1 + +67 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 67 -1 +a169 50 -1 +-1 + +68 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 68 -1 +a169 50 -1 +-1 + +69 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 69 -1 +a169 50 -1 +-1 + +6a +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 6a -1 +a169 50 -1 +-1 + +6b +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 6b -1 +a169 50 -1 +-1 + +6c +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 6c -1 +a169 50 -1 +-1 + +6d +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 6d -1 +a169 50 -1 +-1 + +6e +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 6e -1 +a169 50 -1 +-1 + +6f +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 6f -1 +a169 50 -1 +-1 + +70 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 70 -1 +a169 50 -1 +-1 + +71 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 71 -1 +a169 50 -1 +-1 + +72 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 72 -1 +a169 50 -1 +-1 + +73 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 73 -1 +a169 50 -1 +-1 + +74 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 74 -1 +a169 50 -1 +-1 + +75 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 75 -1 +a169 50 -1 +-1 + +76 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 76 -1 +a169 50 -1 +-1 + +77 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 77 -1 +a169 50 -1 +-1 + +78 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 78 -1 +a169 50 -1 +-1 + +79 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 79 -1 +a169 50 -1 +-1 + +7a +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 7a -1 +a169 50 -1 +-1 + +7b +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 7b -1 +a169 50 -1 +-1 + +7c +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 7c -1 +a169 50 -1 +-1 + +7d +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 7d -1 +a169 50 -1 +-1 + +7e +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 7e -1 +a169 50 -1 +-1 + +7f +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 7f -1 +a169 50 -1 +-1 + +80 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 80 -1 +dca6 49 -1 +-1 + +81 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 81 -1 +dca6 49 -1 +-1 + +82 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 82 -1 +dca6 49 -1 +-1 + +83 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 83 -1 +dca6 49 -1 +-1 + +84 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 84 -1 +dca6 49 -1 +-1 + +85 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 85 -1 +dca6 49 -1 +-1 + +86 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 86 -1 +dca6 49 -1 +-1 + +87 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 87 -1 +dca6 49 -1 +-1 + +88 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 88 -1 +dca6 49 -1 +-1 + +89 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 89 -1 +dca6 49 -1 +-1 + +8a +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 8a -1 +dca6 49 -1 +-1 + +8b +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 8b -1 +dca6 49 -1 +-1 + +8c +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 8c -1 +dca6 49 -1 +-1 + +8d +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 8d -1 +dca6 49 -1 +-1 + +8e +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 8e -1 +dca6 49 -1 +-1 + +8f +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 8f -1 +dca6 49 -1 +-1 + +90 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 90 -1 +dca6 49 -1 +-1 + +91 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 91 -1 +dca6 49 -1 +-1 + +92 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 92 -1 +dca6 49 -1 +-1 + +93 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 93 -1 +dca6 49 -1 +-1 + +94 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 94 -1 +dca6 49 -1 +-1 + +95 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 95 -1 +dca6 49 -1 +-1 + +96 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 96 -1 +dca6 49 -1 +-1 + +97 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 97 -1 +dca6 49 -1 +-1 + +98 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 98 -1 +dca6 49 -1 +-1 + +99 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 99 -1 +dca6 49 -1 +-1 + +9a +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 9a -1 +dca6 49 -1 +-1 + +9b +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 9b -1 +dca6 49 -1 +-1 + +9c +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 9c -1 +dca6 49 -1 +-1 + +9d +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 9d -1 +dca6 49 -1 +-1 + +9e +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 9e -1 +dca6 49 -1 +-1 + +9f +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 9f -1 +dca6 49 -1 +-1 + +a0 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 a0 -1 +dca6 49 -1 +-1 + +a1 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 a1 -1 +dca6 49 -1 +-1 + +a2 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 a2 -1 +dca6 49 -1 +-1 + +a3 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 a3 -1 +dca6 49 -1 +-1 + +a4 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 a4 -1 +dca6 49 -1 +-1 + +a5 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 a5 -1 +dca6 49 -1 +-1 + +a6 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 a6 -1 +dca6 49 -1 +-1 + +a7 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 a7 -1 +dca6 49 -1 +-1 + +a8 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 a8 -1 +dca6 49 -1 +-1 + +a9 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 a9 -1 +dca6 49 -1 +-1 + +aa +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 aa -1 +dca6 49 -1 +-1 + +ab +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ab -1 +dca6 49 -1 +-1 + +ac +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ac -1 +dca6 49 -1 +-1 + +ad +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ad -1 +dca6 49 -1 +-1 + +ae +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ae -1 +dca6 49 -1 +-1 + +af +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 af -1 +dca6 49 -1 +-1 + +b0 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 b0 -1 +dca6 49 -1 +-1 + +b1 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 b1 -1 +dca6 49 -1 +-1 + +b2 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 b2 -1 +dca6 49 -1 +-1 + +b3 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 b3 -1 +dca6 49 -1 +-1 + +b4 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 b4 -1 +dca6 49 -1 +-1 + +b5 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 b5 -1 +dca6 49 -1 +-1 + +b6 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 b6 -1 +dca6 49 -1 +-1 + +b7 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 b7 -1 +dca6 49 -1 +-1 + +b8 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 b8 -1 +dca6 49 -1 +-1 + +b9 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 b9 -1 +dca6 49 -1 +-1 + +ba +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ba -1 +dca6 49 -1 +-1 + +bb +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 bb -1 +dca6 49 -1 +-1 + +bc +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 bc -1 +dca6 49 -1 +-1 + +bd +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 bd -1 +dca6 49 -1 +-1 + +be +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 be -1 +dca6 49 -1 +-1 + +bf +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 bf -1 +dca6 49 -1 +-1 + +c0_1 +0098 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0000 +00 00 0 0 0 0 1 +0000 c0 -1 +43f7 e9 af -1 +-1 + +c0_2 +00d8 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0000 +00 00 0 0 0 0 1 +0000 c0 -1 +43f7 e9 af -1 +-1 + +c1 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 4143 0000 +00 00 0 0 0 0 1 +0000 c1 -1 +4143 ce e8 -1 +-1 + +c2_1 +0087 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 c2 1b e1 -1 +-1 + +c2_2 +00c7 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 c2 1b e1 -1 +-1 + +c3 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 c3 ed 7c -1 +-1 + +c4_1 +000e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0000 +00 00 0 0 0 0 1 +0000 c4 61 9c -1 +-1 + +c4_2 +004e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0000 +00 00 0 0 0 0 1 +0000 c4 61 9c -1 +-1 + +c5 +53e3 1459 775f 1a2f 0000 0000 0000 0000 0000 0000 ec12 0000 +00 00 0 0 0 0 1 +0000 c5 -1 +-1 + +c6 +ca00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 c6 6f -1 +-1 + +c7 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 5507 6d33 +00 00 0 0 0 0 1 +6d33 c7 -1 +-1 + +c8_1 +0098 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0000 +00 00 0 0 0 0 1 +0000 c8 -1 +43f7 e9 af -1 +-1 + +c8_2 +00d8 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0000 +00 00 0 0 0 0 1 +0000 c8 -1 +43f7 e9 af -1 +-1 + +c9 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 887e 0000 +00 00 0 0 0 0 1 +0000 c9 -1 +887e 36 11 -1 +-1 + +ca_1 +0087 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ca 1b e1 -1 +-1 + +ca_2 +00c7 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ca 1b e1 -1 +-1 + +cb00 +da00 e479 552e a806 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 00 -1 +a806 76 -1 +-1 + +cb01 +1000 b379 b480 ef65 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 01 -1 +ef65 fb -1 +-1 + +cb02 +2e00 9adf ae6e a7f2 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 02 -1 +a7f2 4a -1 +-1 + +cb03 +6800 9995 de3f ca71 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 03 -1 +ca71 e7 -1 +-1 + +cb04 +8c00 beea 0ce4 67b0 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 04 -1 +67b0 cd -1 +-1 + +cb05 +3600 e19f 78c9 cb32 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 05 -1 +cb32 1b -1 +-1 + +cb06 +8a00 db02 8fb1 5b04 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 06 -1 +5b04 d4 -1 +-1 + +cb07 +6d00 19cf 7259 dcaa 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 07 -1 +dcaa 8d -1 +-1 + +cb08 +8000 cdb5 818e 2ee2 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 08 -1 +2ee2 53 -1 +-1 + +cb09 +1800 125c dd97 59c6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 09 -1 +59c6 9e -1 +-1 + +cb0a +1200 3ba1 7724 63ad 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 0a -1 +63ad 96 -1 +-1 + +cb0b +7600 2abf b626 0289 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 0b -1 +0289 37 -1 +-1 + +cb0c +0e00 6fc5 2f12 34d9 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 0c -1 +34d9 50 -1 +-1 + +cb0d +6300 95a3 fcd2 519a 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 0d -1 +519a 7a -1 +-1 + +cb0e +fc00 adf9 4925 543e 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 0e -1 +543e d2 -1 +-1 + +cb0f +c300 18f3 41b8 070b 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 0f -1 +070b 86 -1 +-1 + +cb10 +f800 dc25 33b3 0d74 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 10 -1 +0d74 3d -1 +-1 + +cb11 +6500 e25c 4b8a ed42 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 11 -1 +ed42 b7 -1 +-1 + +cb12 +7700 1384 0f50 29c6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 12 -1 +29c6 88 -1 +-1 + +cb13 +ce00 9f17 e128 3ed7 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 13 -1 +3ed7 ea -1 +-1 + +cb14 +b200 541a 60c7 7c9a 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 14 -1 +7c9a 0f -1 +-1 + +cb15 +2d00 c1df 6eab 03e2 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 15 -1 +03e2 bc -1 +-1 + +cb16 +3600 3b53 1a4a 684e 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 16 -1 +684e c3 -1 +-1 + +cb17 +5400 d090 f60d 0fa2 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 17 -1 +0fa2 23 -1 +-1 + +cb18 +8600 c658 755f 9596 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 18 -1 +9596 b6 -1 +-1 + +cb19 +9600 beb3 7c22 71c8 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 19 -1 +71c8 85 -1 +-1 + +cb1a +3900 882f 543b 5279 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 1a -1 +5279 26 -1 +-1 + +cb1b +9e00 b338 876c e8b4 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 1b -1 +e8b4 b9 -1 +-1 + +cb1c +4b00 b555 238f 311d 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 1c -1 +311d 11 -1 +-1 + +cb1d +2100 3d7e 5e39 e451 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 1d -1 +e451 47 -1 +-1 + +cb1e +5e00 66b9 80dc 00ef 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 1e -1 +00ef 91 -1 +-1 + +cb1f +ed00 b838 8e18 ace7 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 1f -1 +ace7 82 -1 +-1 + +cb20 +c700 0497 d72b ccb6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 20 -1 +ccb6 1a -1 +-1 + +cb21 +2200 5cf4 938e 37a8 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 21 -1 +37a8 dd -1 +-1 + +cb22 +8500 0950 e7e8 0641 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 22 -1 +0641 4d -1 +-1 + +cb23 +2100 2a7c 37d0 aa59 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 23 -1 +aa59 c1 -1 +-1 + +cb24 +fb00 b9de 7014 84b6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 24 -1 +84b6 80 -1 +-1 + +cb25 +1500 6bbc 894e 85bc 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 25 -1 +85bc ef -1 +-1 + +cb26 +0a00 372e e315 283a 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 26 -1 +283a ee -1 +-1 + +cb27 +bf00 bdba 67ab 5ea2 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 27 -1 +5ea2 bd -1 +-1 + +cb28 +c000 0435 3e0f 021b 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 28 -1 +021b 90 -1 +-1 + +cb29 +0600 f142 6ada c306 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 29 -1 +c306 5c -1 +-1 + +cb2a +3000 ec3a 7f7d 3473 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 2a -1 +3473 34 -1 +-1 + +cb2b +e000 ccf0 bbda b78a 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 2b -1 +b78a ab -1 +-1 + +cb2c +5b00 25c0 996d 1e7b 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 2c -1 +1e7b 2c -1 +-1 + +cb2d +5e00 c51b 58e3 78ea 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 2d -1 +78ea 85 -1 +-1 + +cb2e +3900 a2cd 0629 24bf 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 2e -1 +24bf b5 -1 +-1 + +cb2f +aa00 a194 d0e3 5c65 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 2f -1 +5c65 c9 -1 +-1 + +cb30 +cd00 7a81 d67b 656b 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 30 -1 +656b 32 -1 +-1 + +cb31 +2800 e7fa 6d8c 75a4 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 31 -1 +75a4 0c -1 +-1 + +cb32 +1300 3f36 f608 5e56 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 32 -1 +5e56 8d -1 +-1 + +cb33 +d500 9720 7644 038f 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 33 -1 +038f ba -1 +-1 + +cb34 +1200 77f6 0206 fb38 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 34 -1 +fb38 07 -1 +-1 + +cb35 +3c00 fd68 ea91 7861 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 35 -1 +7861 72 -1 +-1 + +cb36 +8a00 1185 1dde 6d38 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 36 -1 +6d38 f1 -1 +-1 + +cb37 +4300 d7bc 9133 6e56 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 37 -1 +6e56 f8 -1 +-1 + +cb38 +df00 7c1b 9f9f 4ff2 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 38 -1 +4ff2 aa -1 +-1 + +cb39 +6600 b702 14f5 3c17 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 39 -1 +3c17 61 -1 +-1 + +cb3a +d100 5c5f e42e f1b1 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 3a -1 +f1b1 6e -1 +-1 + +cb3b +b200 38c8 a560 7419 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 3b -1 +7419 11 -1 +-1 + +cb3c +7800 cfae 66d8 2ad8 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 3c -1 +2ad8 8d -1 +-1 + +cb3d +e600 dcda 06aa 46cd 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 3d -1 +46cd f9 -1 +-1 + +cb3e +a900 6a34 e8d0 a96c 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 3e -1 +a96c a0 -1 +-1 + +cb3f +f100 ceea 721e 77f0 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 3f -1 +77f0 7c -1 +-1 + +cb40 +9e00 bcb2 efaa 505f 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 40 -1 +505f 59 -1 +-1 + +cb41 +9e00 1b43 954e 7be9 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 41 -1 +7be9 f7 -1 +-1 + +cb42 +f200 dd12 7d4f 551f 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 42 -1 +551f c9 -1 +-1 + +cb43 +ad00 c3b3 f1d0 bab4 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 43 -1 +bab4 76 -1 +-1 + +cb44 +b700 c829 27e3 5b92 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 44 -1 +5b92 78 -1 +-1 + +cb45 +7700 68ee 0c77 409b 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 45 -1 +409b 64 -1 +-1 + +cb46 +7200 7ae3 a11e 6131 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 46 -1 +6131 d5 -1 +-1 + +cb47_1 +ff00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 47 -1 +-1 + +cb47 +1000 d8ca e2c4 8a8c 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 47 -1 +8a8c 0e -1 +-1 + +cb48 +a900 6264 e833 6de0 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 48 -1 +6de0 8c -1 +-1 + +cb49 +6c00 d0f7 1db7 a040 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 49 -1 +a040 5f -1 +-1 + +cb4a +4f00 f04c 5b29 77a4 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 4a -1 +77a4 96 -1 +-1 + +cb4b +5500 9848 095f 40ca 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 4b -1 +40ca 8a -1 +-1 + +cb4c +8800 0521 bf31 6d5d 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 4c -1 +6d5d e7 -1 +-1 + +cb4d +f900 27d0 0f7e 158d 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 4d -1 +158d e0 -1 +-1 + +cb4e +2600 9207 459a ada3 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 4e -1 +ada3 5b -1 +-1 + +cb4f_1 +ff00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 4f -1 +-1 + +cb4f +1700 2dc1 aca2 0bcc 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 4f -1 +0bcc a3 -1 +-1 + +cb50 +2300 2749 1012 84d2 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 50 -1 +84d2 6a -1 +-1 + +cb51 +2200 b7db e19d aafc 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 51 -1 +aafc a6 -1 +-1 + +cb52 +8b00 ff7a b0ff ac44 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 52 -1 +ac44 00 -1 +-1 + +cb53 +6000 31a1 a4f4 7c75 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 53 -1 +7c75 ab -1 +-1 + +cb54 +3800 7ccc 89cc 1999 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 54 -1 +1999 98 -1 +-1 + +cb55 +f900 1f79 19cd fb4b 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 55 -1 +fb4b 0b -1 +-1 + +cb56 +1500 2bfe e3b5 bbf9 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 56 -1 +bbf9 10 -1 +-1 + +cb57_1 +ff00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 57 -1 +-1 + +cb57 +6600 af32 532a da50 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 57 -1 +da50 30 -1 +-1 + +cb58 +5000 1aee 2e47 1479 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 58 -1 +1479 a0 -1 +-1 + +cb59 +7200 5e68 ff28 2075 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 59 -1 +2075 c1 -1 +-1 + +cb5a +eb00 fea7 17d1 d99b 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 5a -1 +d99b e8 -1 +-1 + +cb5b +6b00 6f2c 3fe3 1691 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 5b -1 +1691 c7 -1 +-1 + +cb5c +3300 a7e7 2077 13e9 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 5c -1 +13e9 ae -1 +-1 + +cb5d +c100 afcc c8b1 ee49 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 5d -1 +ee49 a6 -1 +-1 + +cb5e +3000 ad43 16c1 349a 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 5e -1 +349a 3c -1 +-1 + +cb5f_1 +ff00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 5f -1 +-1 + +cb5f +8c00 1b67 2314 6133 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 5f -1 +6133 90 -1 +-1 + +cb60 +9900 34b5 0fd8 5273 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 60 -1 +5273 0a -1 +-1 + +cb61 +d100 219f 3bb4 7c44 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 61 -1 +7c44 77 -1 +-1 + +cb62 +af00 bdf8 c536 8cc5 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 62 -1 +8cc5 af -1 +-1 + +cb63 +2a00 5e16 f627 84ca 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 63 -1 +84ca e6 -1 +-1 + +cb64 +a900 a365 c00b ea94 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 64 -1 +ea94 0c -1 +-1 + +cb65 +1800 8d58 4256 427a 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 65 -1 +427a ee -1 +-1 + +cb66 +4c00 3ef7 e544 a44f 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 66 -1 +a44f d2 -1 +-1 + +cb67_1 +ff00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 67 -1 +-1 + +cb67 +8600 5e92 2986 394d 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 67 -1 +394d 10 -1 +-1 + +cb68 +d700 0f6a 18a6 ddd2 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 68 -1 +ddd2 16 -1 +-1 + +cb69 +da00 691b 7c79 1dba 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 69 -1 +1dba 8a -1 +-1 + +cb6a +2200 13e8 86d4 4e09 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 6a -1 +4e09 d5 -1 +-1 + +cb6b +af00 5123 7635 1ca9 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 6b -1 +1ca9 86 -1 +-1 + +cb6c +4300 faa6 abc2 5605 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 6c -1 +5605 2b -1 +-1 + +cb6d +7f00 f099 d435 d9ad 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 6d -1 +d9ad 4e -1 +-1 + +cb6e +4a00 08c9 8177 d8ba 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 6e -1 +d8ba 31 -1 +-1 + +cb6f_1 +ff00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 6f -1 +-1 + +cb6f +a100 8c80 4678 4d34 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 6f -1 +4d34 78 -1 +-1 + +cb70 +1900 958a 5dab f913 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 70 -1 +f913 cf -1 +-1 + +cb71 +3d00 095e d6df 42fe 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 71 -1 +42fe 24 -1 +-1 + +cb72 +a500 c0bf 4c8d ad11 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 72 -1 +ad11 3b -1 +-1 + +cb73 +f200 49a6 b279 2ecc 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 73 -1 +2ecc e0 -1 +-1 + +cb74 +0500 445e 05e9 983d 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 74 -1 +983d fa -1 +-1 + +cb75 +6b00 83c6 635a d18d 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 75 -1 +d18d 11 -1 +-1 + +cb76 +f800 3057 3629 bc71 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 76 -1 +bc71 18 -1 +-1 + +cb77_1 +ff00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 77 -1 +-1 + +cb77 +9200 d6f8 5100 736d 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 77 -1 +736d 36 -1 +-1 + +cb78 +7200 1cf8 8d2b c76a 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 78 -1 +c76a 1f -1 +-1 + +cb79 +a800 809e 1124 39e8 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 79 -1 +39e8 98 -1 +-1 + +cb7a +5800 7d24 63e1 d9af 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 7a -1 +d9af ed -1 +-1 + +cb7b +0300 50ab 05bd 6bd0 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 7b -1 +6bd0 a5 -1 +-1 + +cb7c +ad00 f77b 55ae 063b 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 7c -1 +063b 34 -1 +-1 + +cb7d +8200 b792 38cb 5f9b 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 7d -1 +5f9b 97 -1 +-1 + +cb7e +4200 3b91 f59c a25e 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 7e -1 +a25e d7 -1 +-1 + +cb7f_1 +ff00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 7f -1 +-1 + +cb7f +6a00 84ec cf4e 185b 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 7f -1 +185b f1 -1 +-1 + +cb80 +8f00 702f 17bd a706 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 80 -1 +a706 0a -1 +-1 + +cb81 +ae00 947f 7153 6616 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 81 -1 +6616 74 -1 +-1 + +cb82 +8100 bed2 c719 4572 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 82 -1 +4572 2f -1 +-1 + +cb83 +e600 63a2 ccf7 ae9a 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 83 -1 +ae9a 16 -1 +-1 + +cb84 +ce00 e0cc d305 d6c0 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 84 -1 +d6c0 72 -1 +-1 + +cb85 +f300 ed79 9db7 dda0 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 85 -1 +dda0 8a -1 +-1 + +cb86 +2a00 b0b9 9426 1b48 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 86 -1 +1b48 62 -1 +-1 + +cb87 +1100 86dc 1798 dfc5 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 87 -1 +dfc5 de -1 +-1 + +cb88 +e300 8a21 e33e 674d 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 88 -1 +674d 5f -1 +-1 + +cb89 +6000 d186 c5b6 1bd7 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 89 -1 +1bd7 f2 -1 +-1 + +cb8a +3e00 5fcd 0b38 b98e 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 8a -1 +b98e 2f -1 +-1 + +cb8b +6500 040e 103f 4a07 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 8b -1 +4a07 3f -1 +-1 + +cb8c +f800 6d27 9bdf daef 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 8c -1 +daef 0c -1 +-1 + +cb8d +3e00 5469 2c28 bd72 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 8d -1 +bd72 13 -1 +-1 + +cb8e +1f00 140b b492 63a7 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 8e -1 +63a7 d4 -1 +-1 + +cb8f +2500 c522 ca46 1c1a 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 8f -1 +1c1a 37 -1 +-1 + +cb90 +5700 595c 4f0a c73c 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 90 -1 +c73c a2 -1 +-1 + +cb91 +5e00 8f26 a735 97e0 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 91 -1 +97e0 5e -1 +-1 + +cb92 +3300 7d9f 87d0 83d0 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 92 -1 +83d0 2b -1 +-1 + +cb93 +c200 4e05 b3f8 2234 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 93 -1 +2234 a0 -1 +-1 + +cb94 +ee00 8f4b 2831 d6a6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 94 -1 +d6a6 d0 -1 +-1 + +cb95 +3c00 6af2 b25d 36ff 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 95 -1 +36ff cd -1 +-1 + +cb96 +7600 b027 d0a5 3324 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 96 -1 +3324 21 -1 +-1 + +cb97 +1600 ad09 7902 97bc 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 97 -1 +97bc 75 -1 +-1 + +cb98 +3400 b61c 771d 5d5e 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 98 -1 +5d5e a4 -1 +-1 + +cb99 +5100 65be 1359 8bec 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 99 -1 +8bec 0b -1 +-1 + +cb9a +6400 976d 4c25 dcb2 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 9a -1 +dcb2 09 -1 +-1 + +cb9b +a100 b58a d264 2bd6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 9b -1 +2bd6 d3 -1 +-1 + +cb9c +d800 63d6 ac7b c7a0 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 9c -1 +c7a0 75 -1 +-1 + +cb9d +0d00 d840 0810 0800 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 9d -1 +0800 cd -1 +-1 + +cb9e +3b00 ebbf 9434 3a65 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 9e -1 +3a65 2a -1 +-1 + +cb9f +b200 d1de f991 72f6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 9f -1 +72f6 72 -1 +-1 + +cba0 +fa00 d669 71e1 c80d 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb a0 -1 +c80d c0 -1 +-1 + +cba1 +8200 75e4 a0de d0ba 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb a1 -1 +d0ba bd -1 +-1 + +cba2 +dd00 2b0d 5554 6fc0 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb a2 -1 +6fc0 61 -1 +-1 + +cba3 +2200 2f0d 4d2c 6666 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb a3 -1 +6666 8e -1 +-1 + +cba4 +d600 d8ed 9cd4 8bb1 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb a4 -1 +8bb1 bb -1 +-1 + +cba5 +b400 b393 3e42 88ca 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb a5 -1 +88ca 4f -1 +-1 + +cba6 +0a00 4c34 f5a7 e70d 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb a6 -1 +e70d 27 -1 +-1 + +cba7 +4500 af61 569a c77b 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb a7 -1 +c77b ff -1 +-1 + +cba8 +6400 f269 bae4 c9e7 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb a8 -1 +c9e7 46 -1 +-1 + +cba9 +e400 7ad4 bf0a ce0b 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb a9 -1 +ce0b 39 -1 +-1 + +cbaa +cd00 d249 4159 fed5 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb aa -1 +fed5 b0 -1 +-1 + +cbab +ac00 939a 5d9b 0812 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb ab -1 +0812 f2 -1 +-1 + +cbac +2400 8a7d 2cac ffaa 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb ac -1 +ffaa 09 -1 +-1 + +cbad +6f00 5ffb 2360 ae15 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb ad -1 +ae15 30 -1 +-1 + +cbae +5a00 aa17 12f3 190e 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb ae -1 +190e 66 -1 +-1 + +cbaf +fc00 bb3f 8bb6 5877 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb af -1 +5877 62 -1 +-1 + +cbb0 +b900 7a79 1aaa c3ba 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb b0 -1 +c3ba 4c -1 +-1 + +cbb1 +4900 63e4 a544 1190 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb b1 -1 +1190 e3 -1 +-1 + +cbb2 +4d00 2b03 6b23 6ff5 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb b2 -1 +6ff5 04 -1 +-1 + +cbb3 +8700 857a e98b 5cb1 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb b3 -1 +5cb1 43 -1 +-1 + +cbb4 +2b00 b73e 79c9 e1bb 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb b4 -1 +e1bb 78 -1 +-1 + +cbb5 +9b00 d879 2ec9 4bba 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb b5 -1 +4bba 70 -1 +-1 + +cbb6 +8600 89bf de4a 4fab 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb b6 -1 +4fab a5 -1 +-1 + +cbb7 +2200 fb8a 3d6e d4a2 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb b7 -1 +d4a2 f2 -1 +-1 + +cbb8 +d000 37c6 225a d249 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb b8 -1 +d249 c4 -1 +-1 + +cbb9 +a500 1b4a d584 5dee 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb b9 -1 +5dee cc -1 +-1 + +cbba +6300 a5fe f42b 34c9 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb ba -1 +34c9 bc -1 +-1 + +cbbb +1200 f661 aa4f cb30 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb bb -1 +cb30 f4 -1 +-1 + +cbbc +9800 adc3 0b29 7b6e 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb bc -1 +7b6e 45 -1 +-1 + +cbbd +d600 a6e1 8813 10b8 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb bd -1 +10b8 35 -1 +-1 + +cbbe +ca00 ff64 1218 77d5 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb be -1 +77d5 ea -1 +-1 + +cbbf +6800 4845 690a 15de 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb bf -1 +15de 1d -1 +-1 + +cbc0 +e300 ef71 bffb b3a1 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb c0 -1 +b3a1 5c -1 +-1 + +cbc1 +3200 32a1 59ab 3343 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb c1 -1 +3343 aa -1 +-1 + +cbc2 +c700 b159 c023 e1f3 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb c2 -1 +e1f3 14 -1 +-1 + +cbc3 +0400 b463 c211 8f3a 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb c3 -1 +8f3a 81 -1 +-1 + +cbc4 +7e00 545a 6ecf 5876 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb c4 -1 +5876 9d -1 +-1 + +cbc5 +4000 c617 079c 4107 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb c5 -1 +4107 cc -1 +-1 + +cbc6 +b800 0373 b807 f0be 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb c6 -1 +f0be 9c -1 +-1 + +cbc7 +7700 3681 9b55 583f 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb c7 -1 +583f 58 -1 +-1 + +cbc8 +7d00 a772 8682 7cf3 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb c8 -1 +7cf3 75 -1 +-1 + +cbc9 +0b00 67ee 30e0 72db 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb c9 -1 +72db 87 -1 +-1 + +cbca +9c00 9517 cfbb fbc7 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb ca -1 +fbc7 1a -1 +-1 + +cbcb +e800 0f3d 336f f70d 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb cb -1 +f70d a1 -1 +-1 + +cbcc +fb00 7981 0bbb 18fd 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb cc -1 +18fd fe -1 +-1 + +cbcd +5500 5e78 bf34 2602 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb cd -1 +2602 2d -1 +-1 + +cbce +d500 a111 cb2a 8ec6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb ce -1 +8ec6 bf -1 +-1 + +cbcf +a200 6baf 98b2 98a0 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb cf -1 +98a0 d4 -1 +-1 + +cbd0 +2300 7bcb 02e7 1724 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb d0 -1 +1724 30 -1 +-1 + +cbd1 +5300 581f b775 47f4 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb d1 -1 +47f4 c7 -1 +-1 + +cbd2 +6900 c147 b79c 7528 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb d2 -1 +7528 4f -1 +-1 + +cbd3 +ae00 bbc4 ce52 5fba 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb d3 -1 +5fba 3a -1 +-1 + +cbd4 +d800 6e1e af6f bf2e 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb d4 -1 +bf2e 71 -1 +-1 + +cbd5 +8400 a19a d2fd 8a77 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb d5 -1 +8a77 52 -1 +-1 + +cbd6 +a900 f5f3 2180 6029 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb d6 -1 +6029 b7 -1 +-1 + +cbd7 +b100 c008 8425 290a 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb d7 -1 +290a 42 -1 +-1 + +cbd8 +8b00 09c4 ddf3 6d7e 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb d8 -1 +6d7e 6e -1 +-1 + +cbd9 +3e00 3e36 30ec efc6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb d9 -1 +efc6 5b -1 +-1 + +cbda +d000 3e8f 28fe 1c87 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb da -1 +1c87 b9 -1 +-1 + +cbdb +1200 977a 8c49 bc48 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb db -1 +bc48 ef -1 +-1 + +cbdc +8d00 05de f8d3 b125 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb dc -1 +b125 0e -1 +-1 + +cbdd +c300 08a9 2bc8 5b9f 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb dd -1 +5b9f 94 -1 +-1 + +cbde +1900 900f d572 ba03 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb de -1 +ba03 93 -1 +-1 + +cbdf +6700 2745 7e3d 0fa1 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb df -1 +0fa1 c5 -1 +-1 + +cbe0 +3e00 d633 9897 3744 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb e0 -1 +3744 54 -1 +-1 + +cbe1 +7d00 50a6 0136 5334 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb e1 -1 +5334 85 -1 +-1 + +cbe2 +d400 6b45 a192 3a4c 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb e2 -1 +3a4c 47 -1 +-1 + +cbe3 +3b00 d29c 05e0 2e78 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb e3 -1 +2e78 48 -1 +-1 + +cbe4 +1e00 7d5e 846d 0978 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb e4 -1 +0978 84 -1 +-1 + +cbe5 +ca00 df0d d588 b48f 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb e5 -1 +b48f cf -1 +-1 + +cbe6 +b300 52c2 dbfe 9f9b 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb e6 -1 +9f9b f6 -1 +-1 + +cbe7 +8e00 cf02 67ef f2e0 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb e7 -1 +f2e0 cf -1 +-1 + +cbe8 +7100 bb18 66ec 4a05 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb e8 -1 +4a05 e6 -1 +-1 + +cbe9 +5700 2897 8f2f a4d0 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb e9 -1 +a4d0 b2 -1 +-1 + +cbea +ec00 304a 60a1 f32a 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb ea -1 +f32a 9c -1 +-1 + +cbeb +f000 532b a1be 1a1a 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb eb -1 +1a1a 21 -1 +-1 + +cbec +f200 f0f3 a816 ba08 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb ec -1 +ba08 82 -1 +-1 + +cbed +1300 5127 adab 2dec 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb ed -1 +2dec cb -1 +-1 + +cbee +9000 b273 50ae e90d 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb ee -1 +e90d f1 -1 +-1 + +cbef +2500 4281 f0d4 2c39 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb ef -1 +2c39 c8 -1 +-1 + +cbf0 +fb00 5802 0c27 6ff5 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb f0 -1 +6ff5 f6 -1 +-1 + +cbf1 +5500 a103 3ff5 5e1c 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb f1 -1 +5e1c 37 -1 +-1 + +cbf2 +f000 625a af82 9819 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb f2 -1 +9819 e4 -1 +-1 + +cbf3 +8600 d7bd 5d86 263f 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb f3 -1 +263f a1 -1 +-1 + +cbf4 +9400 0243 9ec1 75d9 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb f4 -1 +75d9 3f -1 +-1 + +cbf5 +ce00 2d42 5e6a 47e6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb f5 -1 +47e6 ce -1 +-1 + +cbf6 +7b00 c2d7 4492 a9bc 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb f6 -1 +a9bc b1 -1 +-1 + +cbf7 +6d00 abaf 5b5d 188c 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb f7 -1 +188c 6c -1 +-1 + +cbf8 +c600 b812 a037 d2b0 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb f8 -1 +d2b0 cb -1 +-1 + +cbf9 +ef00 c5f2 77a8 0730 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb f9 -1 +0730 ae -1 +-1 + +cbfa +8700 1581 63e3 ed03 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb fa -1 +ed03 27 -1 +-1 + +cbfb +a300 7d27 97c3 d1ae 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb fb -1 +d1ae f2 -1 +-1 + +cbfc +ec00 060a 3ef6 500f 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb fc -1 +500f 94 -1 +-1 + +cbfd +1100 231a 8563 28c5 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb fd -1 +28c5 ab -1 +-1 + +cbfe +5300 4948 89dd 3a24 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb fe -1 +3a24 c3 -1 +-1 + +cbff +7900 799b 6cf7 e3f2 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb ff -1 +e3f2 25 -1 +-1 + +cc_1 +004e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0000 +00 00 0 0 0 0 1 +0000 cc 61 9c -1 +-1 + +cc_2 +000e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0000 +00 00 0 0 0 0 1 +0000 cc 61 9c -1 +-1 + +cd +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 b07d 0000 +00 00 0 0 0 0 1 +0000 cd 5d 3a -1 +-1 + +ce +60f5 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ce b2 -1 +-1 + +cf +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 5507 6d33 +00 00 0 0 0 0 1 +6d33 cf -1 +-1 + +d0_1 +0098 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0000 +00 00 0 0 0 0 1 +0000 d0 -1 +43f7 e9 af -1 +-1 + +d0_2 +0099 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0000 +00 00 0 0 0 0 1 +0000 d0 -1 +43f7 e9 af -1 +-1 + +d1 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 4143 0000 +00 00 0 0 0 0 1 +0000 d1 -1 +4143 ce e8 -1 +-1 + +d2_1 +0086 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 d2 1b e1 -1 +-1 + +d2_2 +0087 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 d2 1b e1 -1 +-1 + +d3_1 +a200 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 d3 ed -1 +-1 + +d3_2 +4200 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 d3 ec -1 +-1 + +d3_3 +4200 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 d3 ed -1 +-1 + +d3 +a200 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 d3 ec -1 +-1 + +d4_1 +000e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0000 +00 00 0 0 0 0 1 +0000 d4 61 9c -1 +-1 + +d4_2 +000f 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0000 +00 00 0 0 0 0 1 +0000 d4 61 9c -1 +-1 + +d5 +53e3 1459 775f 1a2f 0000 0000 0000 0000 0000 0000 ec12 0000 +00 00 0 0 0 0 1 +0000 d5 -1 +-1 + +d6 +3900 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 d6 df -1 +-1 + +d7 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 5507 6d33 +00 00 0 0 0 0 1 +6d33 d7 -1 +-1 + +d8_1 +0098 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0000 +00 00 0 0 0 0 1 +0000 d8 -1 +43f7 e9 af -1 +-1 + +d8_2 +0099 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0000 +00 00 0 0 0 0 1 +0000 d8 -1 +43f7 e9 af -1 +-1 + +d9 +4d94 e07a e35b 9d64 1a64 c930 3d01 7d02 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 d9 -1 +-1 + +da_1 +0087 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 da 1b e1 -1 +-1 + +da_2 +0086 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 da 1b e1 -1 +-1 + +db_1 +c100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 db e3 -1 +-1 + +db_2 +7100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 db e2 -1 +-1 + +db_3 +7100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 db e3 -1 +-1 + +db +c100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 db e2 -1 +-1 + +dc_1 +000f 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0000 +00 00 0 0 0 0 1 +0000 dc 61 9c -1 +-1 + +dc_2 +000e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0000 +00 00 0 0 0 0 1 +0000 dc 61 9c -1 +-1 + +dd00 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 9 +0000 dd 00 00 -1 +-1 + +dd09 +0d05 1426 53ce 41e3 0000 0000 0000 0000 9ec0 5c89 0000 0000 +00 00 0 0 0 0 1 +0000 dd 09 -1 +-1 + +dd19 +1911 0e0b 2724 be62 0000 0000 0000 0000 824f 760b 0000 0000 +00 00 0 0 0 0 1 +0000 dd 19 -1 +-1 + +dd21 +c935 4353 bd22 94d5 0000 0000 0000 0000 dade aad6 0000 0000 +00 00 0 0 0 0 1 +0000 dd 21 f2 7c -1 +-1 + +dd22 +5b1d 45a1 6de8 39d3 0000 0000 0000 0000 ebe7 05b0 0000 0000 +00 00 0 0 0 0 1 +0000 dd 22 4f ad -1 +-1 + +dd23 +9095 ac3c 4d90 379b 0000 0000 0000 0000 d50b a157 0000 0000 +00 00 0 0 0 0 1 +0000 dd 23 -1 +-1 + +dd24 +0698 dcd0 a31b d527 0000 0000 0000 0000 8cda b096 0000 0000 +00 00 0 0 0 0 1 +0000 dd 24 -1 +-1 + +dd25 +5acc 206b ed10 6eab 0000 0000 0000 0000 bb3c 5ebd 0000 0000 +00 00 0 0 0 0 1 +0000 dd 25 -1 +-1 + +dd26 +9522 ede0 a352 adea 0000 0000 0000 0000 5f40 82e1 0000 0000 +00 00 0 0 0 0 1 +0000 dd 26 ad -1 +-1 + +dd29 +ac80 0f0e 72c8 1f2a 0000 0000 0000 0000 5195 7d8a 0000 0000 +00 00 0 0 0 0 1 +0000 dd 29 -1 +-1 + +dd2a +3d36 b24e bdbc ca4e 0000 0000 0000 0000 ba65 e7ce 0000 0000 +00 00 0 0 0 0 1 +0000 dd 2a bc 40 -1 +40bc b5 30 -1 +-1 + +dd2b +ad4b d5e6 9377 f132 0000 0000 0000 0000 7a17 2188 0000 0000 +00 00 0 0 0 0 1 +0000 dd 2b -1 +-1 + +dd2c +8838 f2f3 d277 9153 0000 0000 0000 0000 c62f b002 0000 0000 +00 00 0 0 0 0 1 +0000 dd 2c -1 +-1 + +dd2d +39bc b23c 6e11 5a49 0000 0000 0000 0000 0267 ab03 0000 0000 +00 00 0 0 0 0 1 +0000 dd 2d -1 +-1 + +dd2e +9aca a04a b49f a4a6 0000 0000 0000 0000 bd90 38a1 0000 0000 +00 00 0 0 0 0 1 +0000 dd 2e 1c -1 +-1 + +dd34 +8304 d1fc b80b 8082 0000 0000 0000 0000 dea9 6fd8 0000 0000 +00 00 0 0 0 0 1 +0000 dd 34 e6 -1 +de8f 57 -1 +-1 + +dd35 +8681 4641 1ef6 10ab 0000 0000 0000 0000 c733 8ec4 0000 0000 +00 00 0 0 0 0 1 +0000 dd 35 60 -1 +c793 f7 -1 +-1 + +dd36 +76dc 2530 5158 877d 0000 0000 0000 0000 b5c6 8d3c 0000 0000 +00 00 0 0 0 0 1 +0000 dd 36 35 b5 -1 +-1 + +dd39 +875b a334 d79d 59e4 0000 0000 0000 0000 b11a 4c88 fa4a 0000 +00 00 0 0 0 0 1 +0000 dd 39 -1 +-1 + +dd44 +b37e cbb0 36e8 3f45 0000 0000 0000 0000 2702 b3b9 0000 0000 +00 00 0 0 0 0 1 +0000 dd 44 -1 +-1 + +dd45 +4e10 5c6d d11d 1736 0000 0000 0000 0000 7298 2d10 0000 0000 +00 00 0 0 0 0 1 +0000 dd 45 -1 +-1 + +dd46 +c758 bf29 66f2 29ef 0000 0000 0000 0000 5cc7 407d 0000 0000 +00 00 0 0 0 0 1 +0000 dd 46 68 -1 +5d2f 8d -1 +-1 + +dd4c +e15c 75ec 7531 ae9e 0000 0000 0000 0000 3ed8 03b7 0000 0000 +00 00 0 0 0 0 1 +0000 dd 4c -1 +-1 + +dd4d +469e 7864 6a5a 00e2 0000 0000 0000 0000 a1aa 0d6f 0000 0000 +00 00 0 0 0 0 1 +0000 dd 4d -1 +-1 + +dd4e +7bf7 6605 8d55 def2 0000 0000 0000 0000 d94b 17fb 0000 0000 +00 00 0 0 0 0 1 +0000 dd 4e 2e -1 +d979 76 -1 +-1 + +dd54 +8376 0d13 c767 3119 0000 0000 0000 0000 4b6d 030b 0000 0000 +00 00 0 0 0 0 1 +0000 dd 54 -1 +-1 + +dd55 +ff78 85e3 566b 8f3a 0000 0000 0000 0000 d7d7 4e0b 0000 0000 +00 00 0 0 0 0 1 +0000 dd 55 -1 +-1 + +dd56 +97b3 b617 bb50 81d1 0000 0000 0000 0000 a306 7a49 0000 0000 +00 00 0 0 0 0 1 +0000 dd 56 f4 -1 +a2fa de -1 +-1 + +dd5c +af82 24bf 2793 f925 0000 0000 0000 0000 f9a3 0b82 0000 0000 +00 00 0 0 0 0 1 +0000 dd 5c -1 +-1 + +dd5d +36cb 97a9 400d 30fe 0000 0000 0000 0000 3340 b3ed 0000 0000 +00 00 0 0 0 0 1 +0000 dd 5d -1 +-1 + +dd5e +a220 389d 2ff8 368c 0000 0000 0000 0000 8d32 3512 0000 0000 +00 00 0 0 0 0 1 +0000 dd 5e 8f -1 +8cc1 ce -1 +-1 + +dd60 +2392 7f6a 3dc0 cefb 0000 0000 0000 0000 44a0 c424 0000 0000 +00 00 0 0 0 0 1 +0000 dd 60 -1 +-1 + +dd61 +76ed 268c d5c8 bab0 0000 0000 0000 0000 b650 0a93 0000 0000 +00 00 0 0 0 0 1 +0000 dd 61 -1 +-1 + +dd62 +4c6f b482 fef4 62e7 0000 0000 0000 0000 6e25 9655 0000 0000 +00 00 0 0 0 0 1 +0000 dd 62 -1 +-1 + +dd63 +6e9a 5499 3c8f 1f64 0000 0000 0000 0000 bf35 0df7 0000 0000 +00 00 0 0 0 0 1 +0000 dd 63 -1 +-1 + +dd64 +47f6 1b7a a55e 2fc2 0000 0000 0000 0000 efc7 aca0 0000 0000 +00 00 0 0 0 0 1 +0000 dd 64 -1 +-1 + +dd65 +d786 7d1d b659 77e8 0000 0000 0000 0000 58fa 006d 0000 0000 +00 00 0 0 0 0 1 +0000 dd 65 -1 +-1 + +dd66 +84c2 79b1 ca4a aaa0 0000 0000 0000 0000 ce5d dd2d 0000 0000 +00 00 0 0 0 0 1 +0000 dd 66 b5 -1 +ce12 03 -1 +-1 + +dd67 +967c 511e 336d 40f6 0000 0000 0000 0000 66e7 5be2 0000 0000 +00 00 0 0 0 0 1 +0000 dd 67 -1 +-1 + +dd68 +4a9d efa8 febd 07e4 0000 0000 0000 0000 5fd8 b23f 0000 0000 +00 00 0 0 0 0 1 +0000 dd 68 -1 +-1 + +dd69 +6466 2142 2523 82b3 0000 0000 0000 0000 6479 04a7 0000 0000 +00 00 0 0 0 0 1 +0000 dd 69 -1 +-1 + +dd6a +401f 61f1 4b08 fa88 0000 0000 0000 0000 c37f d8f6 0000 0000 +00 00 0 0 0 0 1 +0000 dd 6a -1 +-1 + +dd6b +6dc7 e2ae 40bd f3c0 0000 0000 0000 0000 2290 2749 0000 0000 +00 00 0 0 0 0 1 +0000 dd 6b -1 +-1 + +dd6c +3939 90da 62dc 7c31 0000 0000 0000 0000 412f 7211 0000 0000 +00 00 0 0 0 0 1 +0000 dd 6c -1 +-1 + +dd6d +3964 ff3f 23d4 c7c7 0000 0000 0000 0000 9b70 20c6 0000 0000 +00 00 0 0 0 0 1 +0000 dd 6d -1 +-1 + +dd6e +223f f661 b61c 0f53 0000 0000 0000 0000 c648 fae8 0000 0000 +00 00 0 0 0 0 1 +0000 dd 6e 2c -1 +c674 6b -1 +-1 + +dd6f +6e84 9cd4 a293 647d 0000 0000 0000 0000 0d0b 4a56 0000 0000 +00 00 0 0 0 0 1 +0000 dd 6f -1 +-1 + +dd70 +d09f fe00 231e 31ec 0000 0000 0000 0000 05fa ea92 0000 0000 +00 00 0 0 0 0 1 +0000 dd 70 f6 -1 +-1 + +dd71 +ebee 151c 05c7 ee08 0000 0000 0000 0000 3722 2ec6 0000 0000 +00 00 0 0 0 0 1 +0000 dd 71 23 -1 +-1 + +dd72 +80c9 ac1e 63bd 828b 0000 0000 0000 0000 8dff 94ef 0000 0000 +00 00 0 0 0 0 1 +0000 dd 72 93 -1 +-1 + +dd73 +8f3e b5a3 07de 0b0c 0000 0000 0000 0000 79c6 ae79 0000 0000 +00 00 0 0 0 0 1 +0000 dd 73 57 -1 +-1 + +dd74 +4ae0 49c5 3deb 0125 0000 0000 0000 0000 5910 429a 0000 0000 +00 00 0 0 0 0 1 +0000 dd 74 b9 -1 +-1 + +dd75 +5772 e833 b63e 734f 0000 0000 0000 0000 ae4c e8c2 0000 0000 +00 00 0 0 0 0 1 +0000 dd 75 30 -1 +-1 + +dd77 +dc56 d893 4116 f2d2 0000 0000 0000 0000 a181 3157 0000 0000 +00 00 0 0 0 0 1 +0000 dd 77 8c -1 +-1 + +dd7c +7558 7705 ac92 a6a1 0000 0000 0000 0000 8cde 7507 0000 0000 +00 00 0 0 0 0 1 +0000 dd 7c -1 +-1 + +dd7d +6c18 93fb 6bdd 3a10 0000 0000 0000 0000 d7cb c0f6 0000 0000 +00 00 0 0 0 0 1 +0000 dd 7d -1 +-1 + +dd7e +6a66 1f77 6220 0c40 0000 0000 0000 0000 1cf4 1a1f 0000 0000 +00 00 0 0 0 0 1 +0000 dd 7e bc -1 +1cb0 57 -1 +-1 + +dd84 +2e47 1de8 b8b9 78a6 0000 0000 0000 0000 9f1d b11f 0000 0000 +00 00 0 0 0 0 1 +0000 dd 84 -1 +-1 + +dd85 +b27a b1ff 8d7b 40c0 0000 0000 0000 0000 b513 0688 0000 0000 +00 00 0 0 0 0 1 +0000 dd 85 -1 +-1 + +dd86 +4efa d085 5bac e364 0000 0000 0000 0000 b5b5 fe3a 0000 0000 +00 00 0 0 0 0 1 +0000 dd 86 c1 -1 +b576 5b -1 +-1 + +dd8c +bc63 8fdc ea8f 9734 0000 0000 0000 0000 0eb3 1b54 0000 0000 +00 00 0 0 0 0 1 +0000 dd 8c -1 +-1 + +dd8d +b61f 1c81 b6fb d6e5 0000 0000 0000 0000 09be a736 0000 0000 +00 00 0 0 0 0 1 +0000 dd 8d -1 +-1 + +dd8e +4ed4 182d ab17 94ae 0000 0000 0000 0000 bb97 87da 0000 0000 +00 00 0 0 0 0 1 +0000 dd 8e 25 -1 +bbbc 32 -1 +-1 + +dd94 +7ef1 9efe 6ea1 fc55 0000 0000 0000 0000 0a09 89c5 0000 0000 +00 00 0 0 0 0 1 +0000 dd 94 -1 +-1 + +dd95 +2920 59ab 428c 3a94 0000 0000 0000 0000 44fd f243 0000 0000 +00 00 0 0 0 0 1 +0000 dd 95 -1 +-1 + +dd96 +9b76 461f ced7 db3f 0000 0000 0000 0000 2c66 9dbf 0000 0000 +00 00 0 0 0 0 1 +0000 dd 96 5f -1 +2cc5 49 -1 +-1 + +dd9c +faf4 670e afcc 8b34 0000 0000 0000 0000 285f 1caa 0000 0000 +00 00 0 0 0 0 1 +0000 dd 9c -1 +-1 + +dd9d +f827 0cdb df32 d0e4 0000 0000 0000 0000 9b12 7d07 0000 0000 +00 00 0 0 0 0 1 +0000 dd 9d -1 +-1 + +dd9e +938e f9c5 cbc4 ca21 0000 0000 0000 0000 b4cc 46fa 0000 0000 +00 00 0 0 0 0 1 +0000 dd 9e 14 -1 +b4e0 b5 -1 +-1 + +dda4 +52f5 ba53 acfc 9481 0000 0000 0000 0000 2f8b edf6 0000 0000 +00 00 0 0 0 0 1 +0000 dd a4 -1 +-1 + +dda5 +baaf a675 d757 f1db 0000 0000 0000 0000 fdef d8ce 0000 0000 +00 00 0 0 0 0 1 +0000 dd a5 -1 +-1 + +dda6 +1da4 20c4 ebc3 da8d 0000 0000 0000 0000 7e95 5e8a 0000 0000 +00 00 0 0 0 0 1 +0000 dd a6 41 -1 +7ed6 c7 -1 +-1 + +ddac +ef15 2a7c 17e5 3f6e 0000 0000 0000 0000 affa a0b5 0000 0000 +00 00 0 0 0 0 1 +0000 dd ac -1 +-1 + +ddad +ba2e 6ba1 ef1b 5713 0000 0000 0000 0000 ba38 a708 0000 0000 +00 00 0 0 0 0 1 +0000 dd ad -1 +-1 + +ddae +8009 3ad6 a721 2100 0000 0000 0000 0000 e909 87b4 0000 0000 +00 00 0 0 0 0 1 +0000 dd ae 72 -1 +e97b c3 -1 +-1 + +ddb4 +1ccd 29aa 2e82 4dc8 0000 0000 0000 0000 9c04 8be3 0000 0000 +00 00 0 0 0 0 1 +0000 dd b4 -1 +-1 + +ddb5 +46b4 fc93 7a06 0518 0000 0000 0000 0000 0ac5 4150 0000 0000 +00 00 0 0 0 0 1 +0000 dd b5 -1 +-1 + +ddb6 +5017 ab81 4287 5ee1 0000 0000 0000 0000 c66f d6cc 0000 0000 +00 00 0 0 0 0 1 +0000 dd b6 31 -1 +c6a0 1c -1 +-1 + +ddbc +53e0 aa98 f7d7 fa0c 0000 0000 0000 0000 be7a a41f 0000 0000 +00 00 0 0 0 0 1 +0000 dd bc -1 +-1 + +ddbd +dc83 80ce 5d2f e999 0000 0000 0000 0000 bb41 a24f 0000 0000 +00 00 0 0 0 0 1 +0000 dd bd -1 +-1 + +ddbe +9838 bfd5 a299 d34b 0000 0000 0000 0000 9332 b1d5 0000 0000 +00 00 0 0 0 0 1 +0000 dd be 48 -1 +937a 5b -1 +-1 + +ddcb00 +3c65 f0e4 09d1 646b 0000 0000 0000 0000 1da1 f08f 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 0d 00 -1 +1dae a1 -1 +-1 + +ddcb01 +f68f e33b 2d4a 7725 0000 0000 0000 0000 28fd f31b 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb b7 01 -1 +28b4 e3 -1 +-1 + +ddcb02 +e20c 836e 513a f840 0000 0000 0000 0000 c796 ae9b 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 91 02 -1 +c727 8d -1 +-1 + +ddcb03 +6224 3571 c519 48dc 0000 0000 0000 0000 041e c07b 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 48 03 -1 +0466 78 -1 +-1 + +ddcb04 +b310 bfc4 64af d622 0000 0000 0000 0000 5949 a989 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 48 04 -1 +5991 68 -1 +-1 + +ddcb05 +4954 bb04 56ec 9d58 0000 0000 0000 0000 0077 1349 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb ff 05 -1 +0076 95 -1 +-1 + +ddcb06 +0cf4 f636 90a6 6117 0000 0000 0000 0000 5421 90ee 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 07 06 -1 +5428 97 -1 +-1 + +ddcb07 +6f4d 9ca3 bdf6 ed50 0000 0000 0000 0000 9803 55f9 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 42 07 -1 +9845 ae -1 +-1 + +ddcb08 +02f4 1c66 6023 ae06 0000 0000 0000 0000 ef40 b006 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 0a 08 -1 +ef4a da -1 +-1 + +ddcb09 +9825 9258 54d5 5e1e 0000 0000 0000 0000 9d0b 6e58 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 3b 09 -1 +9d46 6f -1 +-1 + +ddcb0a +d2dd 6aac e789 9293 0000 0000 0000 0000 1fb4 2498 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 83 0a -1 +1f37 78 -1 +-1 + +ddcb0b +b82c b284 23f8 7e7d 0000 0000 0000 0000 cd09 6a03 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb fa 0b -1 +cd03 92 -1 +-1 + +ddcb0c +df8b b6cc ee8d 855a 0000 0000 0000 0000 bf6b 9b7d 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 79 0c -1 +bfe4 0d -1 +-1 + +ddcb0d +bae3 ceec bbaa b65e 0000 0000 0000 0000 88bd 503e 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb e4 0d -1 +88a1 1f -1 +-1 + +ddcb0e +1c36 890b 7830 060c 0000 0000 0000 0000 fd49 5d07 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb c6 0e -1 +fd0f ad -1 +-1 + +ddcb0f +f5a7 fad4 fa4b 9c53 0000 0000 0000 0000 7447 2267 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 57 0f -1 +749e f8 -1 +-1 + +ddcb10 +f3af ba1f 5387 926e 0000 0000 0000 0000 bba2 ca47 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 4f 10 -1 +bbf1 45 -1 +-1 + +ddcb11 +2a69 d604 a9aa 5b52 0000 0000 0000 0000 1809 d275 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb eb 11 -1 +17f4 d9 -1 +-1 + +ddcb12 +9287 c479 26d1 10ce 0000 0000 0000 0000 c0fb 2777 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb a6 12 -1 +c0a1 e2 -1 +-1 + +ddcb13 +a507 580a a48f 11cd 0000 0000 0000 0000 5ac4 ccc7 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb ff 13 -1 +5ac3 a7 -1 +-1 + +ddcb14 +294b 5b89 8467 0430 0000 0000 0000 0000 0977 c4e8 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb dd 14 -1 +0954 85 -1 +-1 + +ddcb15 +1fd1 6d53 5b7c a134 0000 0000 0000 0000 ede9 a85c 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 07 15 -1 +edf0 0e -1 +-1 + +ddcb16 +da70 a1e4 00b0 92c8 0000 0000 0000 0000 16be 2c95 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 45 16 -1 +1703 5b -1 +-1 + +ddcb17 +3300 cbd1 4e1a cd27 0000 0000 0000 0000 b8c9 e6d4 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 1c 17 -1 +b8e5 7e -1 +-1 + +ddcb18 +d980 4eb5 9cf9 b9f1 0000 0000 0000 0000 a189 bd7c 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 0e 18 -1 +a197 90 -1 +-1 + +ddcb19 +23b7 595a a756 cf2e 0000 0000 0000 0000 f0e7 26e4 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb a3 19 -1 +f08a 37 -1 +-1 + +ddcb1a +8b52 7e45 bd0f 37a6 0000 0000 0000 0000 de61 9cd9 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb ac 1a -1 +de0d cc -1 +-1 + +ddcb1b +5c79 1414 811c 5881 0000 0000 0000 0000 b7c3 d14f 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 05 1b -1 +b7c8 91 -1 +-1 + +ddcb1c +fafc 6277 8b67 d423 0000 0000 0000 0000 fef9 4a66 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb ff 1c -1 +fef8 61 -1 +-1 + +ddcb1d +76a5 324e e641 58f9 0000 0000 0000 0000 5b63 e18b 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 3a 1d -1 +5b9d f3 -1 +-1 + +ddcb1e +c5d9 cd58 8967 f074 0000 0000 0000 0000 75b4 693a 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb ce 1e -1 +7582 91 -1 +-1 + +ddcb1f +d28f 7f6d 2058 63e3 0000 0000 0000 0000 1d9b baba 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb a8 1f -1 +1d43 b4 -1 +-1 + +ddcb20 +4ce5 739e dc6c 18f4 0000 0000 0000 0000 dc39 8b0c 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb e8 20 -1 +dc21 0e -1 +-1 + +ddcb21 +d29d 66dd 23ef 9096 0000 0000 0000 0000 3494 b6c3 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 9e 21 -1 +3432 f7 -1 +-1 + +ddcb22 +fb5d e0d0 7c02 b4b7 0000 0000 0000 0000 bd3f 385b 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 43 22 -1 +bd82 9f -1 +-1 + +ddcb23 +c359 68b6 da84 b990 0000 0000 0000 0000 22dd bd27 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb c1 23 -1 +229e e0 -1 +-1 + +ddcb24 +baf5 7b0b 560b 7c33 0000 0000 0000 0000 31f1 ddbd 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb e8 24 -1 +31d9 c3 -1 +-1 + +ddcb25 +43bb a21b 2347 ae4a 0000 0000 0000 0000 cc63 fc94 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb c1 25 -1 +cc24 eb -1 +-1 + +ddcb26 +2065 ff37 e41f 70e7 0000 0000 0000 0000 6528 a0d5 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb f7 26 -1 +651f 89 -1 +-1 + +ddcb27 +a806 5669 1bee f62c 0000 0000 0000 0000 1f69 3418 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb c3 27 -1 +1f2c ac -1 +-1 + +ddcb28 +7afd 64b8 51f7 7164 0000 0000 0000 0000 999b 8857 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb b6 28 -1 +9951 24 -1 +-1 + +ddcb29 +0404 b794 323f fd34 0000 0000 0000 0000 20e7 c753 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 9c 29 -1 +2083 82 -1 +-1 + +ddcb2a +4524 afde 0c08 75d7 0000 0000 0000 0000 9505 b624 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb d8 2a -1 +94dd 7c -1 +-1 + +ddcb2b +8324 e290 26be 7ddd 0000 0000 0000 0000 b484 571c 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb bd 2b -1 +b441 44 -1 +-1 + +ddcb2c +c688 0c94 6e4b 7dc7 0000 0000 0000 0000 fe28 dc80 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 2c 2c -1 +fe54 81 -1 +-1 + +ddcb2d +ce28 d2ae c9be 4236 0000 0000 0000 0000 b4ed 6de3 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 9b 2d -1 +b488 44 -1 +-1 + +ddcb2e +50b0 de74 eca8 83ff 0000 0000 0000 0000 69d8 75c7 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 3d 2e -1 +6a15 05 -1 +-1 + +ddcb2f +aec6 759b 3059 01b9 0000 0000 0000 0000 7a30 dd56 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb d3 2f -1 +7a03 f2 -1 +-1 + +ddcb30 +3c89 96ad 9cc7 a68c 0000 0000 0000 0000 eee8 5a80 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb df 30 -1 +eec7 32 -1 +-1 + +ddcb31 +ebf5 41e9 929b 7d47 0000 0000 0000 0000 f22d 8943 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 49 31 -1 +f276 cd -1 +-1 + +ddcb32 +9a1b aa64 4209 01ad 0000 0000 0000 0000 579f ec4c 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb e0 32 -1 +577f e2 -1 +-1 + +ddcb33 +b8b1 b854 524f 9599 0000 0000 0000 0000 efac d9ec 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb c9 33 -1 +ef75 0b -1 +-1 + +ddcb34 +cd3c 4432 20d4 0b3e 0000 0000 0000 0000 ab48 c95f 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 49 34 -1 +ab91 ef -1 +-1 + +ddcb35 +deb1 c6fc 696d 150d 0000 0000 0000 0000 eb1a 4a12 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb b9 35 -1 +ead3 8f -1 +-1 + +ddcb36 +3d81 443b ff21 63e3 0000 0000 0000 0000 132e fb39 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb b4 36 -1 +12e2 02 -1 +-1 + +ddcb37 +72d9 bfc9 a69a ec0b 0000 0000 0000 0000 5077 4e3e 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb c6 37 -1 +503d 3d -1 +-1 + +ddcb38 +3c64 b1ee 38e1 ae9f 0000 0000 0000 0000 f695 44b3 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 8e 38 -1 +f623 5e -1 +-1 + +ddcb39 +05d6 9aad a2db df75 0000 0000 0000 0000 a895 e243 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb dc 39 -1 +a871 83 -1 +-1 + +ddcb3a +0e22 0b9f 873b c01d 0000 0000 0000 0000 2591 49c3 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 0d 3a -1 +259e 89 -1 +-1 + +ddcb3b +1bd9 c795 d8ae 7ccf 0000 0000 0000 0000 6fed 09dc 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 20 3b -1 +700d a9 -1 +-1 + +ddcb3c +b651 bdf7 fca3 7529 0000 0000 0000 0000 f53b 018b 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb e1 3c -1 +f51c d0 -1 +-1 + +ddcb3d +2a2d 6e6e cfbd 1db5 0000 0000 0000 0000 0320 6ab0 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb be 3d -1 +02de 58 -1 +-1 + +ddcb3e +39b8 b26e b670 b8a2 0000 0000 0000 0000 784a 7840 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 0a 3e -1 +7854 5d -1 +-1 + +ddcb3f +2a17 429d d8c0 e069 0000 0000 0000 0000 3488 7150 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 31 3f -1 +34b9 04 -1 +-1 + +ddcb40 +119b f6ba 079e 0e41 0000 0000 0000 0000 8c01 cd21 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb bd 40 -1 +8bbe e7 -1 +-1 + +ddcb41 +22b3 c4b0 575b 66b4 0000 0000 0000 0000 cdcf a25c 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 52 41 -1 +ce21 75 -1 +-1 + +ddcb42 +af5e 7720 aa95 3b0a 0000 0000 0000 0000 f03a 856a 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 1e 42 -1 +f058 90 -1 +-1 + +ddcb43 +7fa6 b699 5e71 1827 0000 0000 0000 0000 e8b6 96a8 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb bc 43 -1 +e872 6b -1 +-1 + +ddcb44 +5faa de05 12fd f73b 0000 0000 0000 0000 ee0a 6634 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb e8 44 -1 +edf2 62 -1 +-1 + +ddcb45 +eac7 699c 47d3 89c3 0000 0000 0000 0000 a2be d81e 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 02 45 -1 +a2c0 55 -1 +-1 + +ddcb46 +60de ac1d 4173 f92a 0000 0000 0000 0000 a39f 12e5 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb e2 46 -1 +a381 d5 -1 +-1 + +ddcb47 +1b1a f7c0 22f6 5253 0000 0000 0000 0000 5227 919d 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 7a 47 -1 +52a1 6a -1 +-1 + +ddcb48 +721a 4509 d68f 3b3d 0000 0000 0000 0000 2746 7f97 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 13 48 -1 +2759 a8 -1 +-1 + +ddcb49 +7fe9 da22 ea9c f480 0000 0000 0000 0000 41c6 75a9 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 94 49 -1 +415a 26 -1 +-1 + +ddcb4a +f16d e6c3 5a42 8b21 0000 0000 0000 0000 bfeb e383 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 3b 4a -1 +c026 b5 -1 +-1 + +ddcb4b +1050 880a 52b2 fb1b 0000 0000 0000 0000 c239 6b40 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb b0 4b -1 +c1e9 18 -1 +-1 + +ddcb4c +0538 bc63 f081 0a55 0000 0000 0000 0000 874c 80a3 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 97 4c -1 +86e3 63 -1 +-1 + +ddcb4d +7f8c 32b4 03d5 ef66 0000 0000 0000 0000 7d2a 03bc 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 15 4d -1 +7d3f 60 -1 +-1 + +ddcb4e +7c67 fa92 b4d0 9f23 0000 0000 0000 0000 eade 1785 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb b0 4e -1 +ea8e 3b -1 +-1 + +ddcb4f +725c 257b db73 2478 0000 0000 0000 0000 88c0 f151 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 8b 4f -1 +884b 4c -1 +-1 + +ddcb50 +35f4 8e51 406c 2e3c 0000 0000 0000 0000 daf2 413c 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 12 50 -1 +db04 00 -1 +-1 + +ddcb51 +a630 ba85 c88c e86c 0000 0000 0000 0000 84b2 cd8e 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 18 51 -1 +84ca 1c -1 +-1 + +ddcb52 +cb88 1220 1103 a868 0000 0000 0000 0000 6156 cfac 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 42 52 -1 +6198 53 -1 +-1 + +ddcb53 +5eb3 569e f76d 88c6 0000 0000 0000 0000 ae45 623e 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb e3 53 -1 +ae28 d6 -1 +-1 + +ddcb54 +c3c9 76fe f1ff 416e 0000 0000 0000 0000 efd5 7576 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 7d 54 -1 +f052 5d -1 +-1 + +ddcb55 +7068 dcd0 8345 d498 0000 0000 0000 0000 f352 a88b 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 88 55 -1 +f2da 03 -1 +-1 + +ddcb56 +9128 2cb8 571c f4fd 0000 0000 0000 0000 6d30 aec2 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 57 56 -1 +6d87 61 -1 +-1 + +ddcb57 +3ca7 541a 027c c0b4 0000 0000 0000 0000 5833 160a 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 06 57 -1 +5839 1d -1 +-1 + +ddcb58 +c650 e1a8 9d6c bec3 0000 0000 0000 0000 6a46 b66c 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 83 58 -1 +69c9 0f -1 +-1 + +ddcb59 +ad07 9bda b7ee 63c4 0000 0000 0000 0000 9195 9703 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb db 59 -1 +9170 10 -1 +-1 + +ddcb5a +80c0 5105 36b0 a37c 0000 0000 0000 0000 0de0 ce7f 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb d1 5a -1 +0db1 be -1 +-1 + +ddcb5b +2a8d 083d 1409 06ba 0000 0000 0000 0000 62ad baff 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb d5 5b -1 +6282 67 -1 +-1 + +ddcb5c +4ca4 e502 d23c 6da8 0000 0000 0000 0000 9dc6 6f04 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 5c 5c -1 +9e22 c9 -1 +-1 + +ddcb5d +7e39 511b 3cfa 60d3 0000 0000 0000 0000 d193 3fe9 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb ff 5d -1 +d192 0d -1 +-1 + +ddcb5e +cef1 0235 e2b1 7a4c 0000 0000 0000 0000 ed14 d0d6 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 62 5e -1 +ed76 a7 -1 +-1 + +ddcb5f +094f 20a8 52e1 d783 0000 0000 0000 0000 df46 da41 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 3f 5f -1 +df85 9e -1 +-1 + +ddcb60 +42ce 0713 dc90 2c89 0000 0000 0000 0000 32a2 c4d4 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 65 60 -1 +3307 2e -1 +-1 + +ddcb61 +1b36 1403 8b9b c221 0000 0000 0000 0000 36cb 93d4 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb a8 61 -1 +3673 bc -1 +-1 + +ddcb62 +361b 4055 650a 3f98 0000 0000 0000 0000 0acc a102 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb d9 62 -1 +0aa5 ea -1 +-1 + +ddcb63 +6548 08df 3ceb 6d24 0000 0000 0000 0000 e679 f98e 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 79 63 -1 +e6f2 83 -1 +-1 + +ddcb64 +3c22 e2a7 6da9 c346 0000 0000 0000 0000 ecfb 85b6 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 71 64 -1 +ed6c 52 -1 +-1 + +ddcb65 +09bd 0abb 3afa 91f5 0000 0000 0000 0000 7779 aef5 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 67 65 -1 +77e0 f5 -1 +-1 + +ddcb66 +ccbc d301 9b66 40fb 0000 0000 0000 0000 ee15 0d23 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 63 66 -1 +ee78 70 -1 +-1 + +ddcb67 +eccb 342f be3e a79b 0000 0000 0000 0000 eea1 dfae 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb d7 67 -1 +ee78 06 -1 +-1 + +ddcb68 +8e51 0063 49ad b7d4 0000 0000 0000 0000 e968 864e 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb b1 68 -1 +e919 20 -1 +-1 + +ddcb69 +9f11 42b5 74fe 1116 0000 0000 0000 0000 33f4 46c2 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb e8 69 -1 +33dc 4f -1 +-1 + +ddcb6a +4632 0bd8 0018 1ac3 0000 0000 0000 0000 86b6 1dd2 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 33 6a -1 +86e9 1c -1 +-1 + +ddcb6b +7a76 f79f a78e f867 0000 0000 0000 0000 187b 0023 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 11 6b -1 +188c bc -1 +-1 + +ddcb6c +dd91 1f1e c1e1 0ea7 0000 0000 0000 0000 3e21 f544 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 5e 6c -1 +3e7f 2a -1 +-1 + +ddcb6d +debf 9ae4 fd24 b3c2 0000 0000 0000 0000 e314 ad84 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb dd 6d -1 +e2f1 41 -1 +-1 + +ddcb6e +ca75 9f16 c700 1dce 0000 0000 0000 0000 3086 d68e 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb b2 6e -1 +3038 3f -1 +-1 + +ddcb6f +d4cd 0b39 3e2e c06e 0000 0000 0000 0000 fc1b d592 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb be 6f -1 +fbd9 56 -1 +-1 + +ddcb70 +f901 09b8 43f8 2a76 0000 0000 0000 0000 042c 7f2d 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb b5 70 -1 +03e1 74 -1 +-1 + +ddcb71 +ac78 36ad 34cb f950 0000 0000 0000 0000 1b33 aa23 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb f7 71 -1 +1b2a 08 -1 +-1 + +ddcb72 +b1b3 f1e4 9984 c7fb 0000 0000 0000 0000 ce25 c5b6 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 22 72 -1 +ce47 08 -1 +-1 + +ddcb73 +21ba 592d f406 e21f 0000 0000 0000 0000 6442 cf58 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 12 73 -1 +6454 3c -1 +-1 + +ddcb74 +6642 64c1 dbe5 eb48 0000 0000 0000 0000 7dc1 c1fb 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 08 74 -1 +7dc9 be -1 +-1 + +ddcb75 +8778 580e 00dd f4c6 0000 0000 0000 0000 60ad 9b60 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 5b 75 -1 +6108 cf -1 +-1 + +ddcb76 +65b8 5cc2 3058 e258 0000 0000 0000 0000 7e8a b296 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 73 76 -1 +7efd 1e -1 +-1 + +ddcb77 +e3a8 47a0 c510 cf0a 0000 0000 0000 0000 0537 b242 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 7f 77 -1 +05b6 97 -1 +-1 + +ddcb78 +424f 24f6 1632 8a4f 0000 0000 0000 0000 9397 846c 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 70 78 -1 +9407 76 -1 +-1 + +ddcb79 +e6a0 eeaa 41f7 5da2 0000 0000 0000 0000 41de 4189 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb c3 79 -1 +41a1 b8 -1 +-1 + +ddcb7a +cabf 56aa 6a06 6cd7 0000 0000 0000 0000 0aa9 9812 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 3f 7a -1 +0ae8 eb -1 +-1 + +ddcb7b +ae3f 0227 721f 52a1 0000 0000 0000 0000 5040 b98a 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 88 7b -1 +4fc8 22 -1 +-1 + +ddcb7c +8a80 a2f1 239a d5cc 0000 0000 0000 0000 6883 b050 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 9e 7c -1 +6821 3a -1 +-1 + +ddcb7d +c37f cf33 1010 98e6 0000 0000 0000 0000 b021 0356 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 29 7d -1 +b04a 2c -1 +-1 + +ddcb7e +9a25 2f6e 0d0d a83f 0000 0000 0000 0000 cef0 8c15 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 4f 7e -1 +cf3f f2 -1 +-1 + +ddcb7f +53b9 1f4e 4837 21b6 0000 0000 0000 0000 5ec2 80c3 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 75 7f -1 +5f37 a2 -1 +-1 + +ddcb80 +6319 baf9 c84b bcf2 0000 0000 0000 0000 acc5 a4ed 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 70 80 -1 +ad35 30 -1 +-1 + +ddcb81 +fae1 5ae5 9502 dc9b 0000 0000 0000 0000 bdd3 1a52 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 2a 81 -1 +bdfd 24 -1 +-1 + +ddcb82 +daf6 3260 f1ac 1d47 0000 0000 0000 0000 5e74 35e2 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 9a 82 -1 +5e0e 51 -1 +-1 + +ddcb83 +8e7c 5586 8c92 fb00 0000 0000 0000 0000 3441 d365 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 0e 83 -1 +344f 01 -1 +-1 + +ddcb84 +c1b3 4874 c535 0e1c 0000 0000 0000 0000 0123 dd28 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 47 84 -1 +016a b0 -1 +-1 + +ddcb85 +0928 b0db 4e07 a7b7 0000 0000 0000 0000 0ba3 c61c 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 6c 85 -1 +0c0f de -1 +-1 + +ddcb86 +4515 de09 3ce7 1fde 0000 0000 0000 0000 10c5 33ed 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 5c 86 -1 +1121 7c -1 +-1 + +ddcb87 +d05e a733 d1dd 1603 0000 0000 0000 0000 ede6 e5fb 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 02 87 -1 +ede8 c4 -1 +-1 + +ddcb88 +e4fa 3325 c266 1b13 0000 0000 0000 0000 878e e695 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 9b 88 -1 +8729 7c -1 +-1 + +ddcb89 +933b 6fdd a3a8 2634 0000 0000 0000 0000 8f3e 7727 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 2b 89 -1 +8f69 cf -1 +-1 + +ddcb8a +6759 ad1e 5d71 ce52 0000 0000 0000 0000 39a9 38a0 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 0a 8a -1 +39b3 ea -1 +-1 + +ddcb8b +3da2 1833 03c1 07e9 0000 0000 0000 0000 1685 d790 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 62 8b -1 +16e7 8a -1 +-1 + +ddcb8c +a625 ed31 3946 32dc 0000 0000 0000 0000 c6a2 7ad6 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb e8 8c -1 +c68a 3e -1 +-1 + +ddcb8d +016b 5802 a683 2549 0000 0000 0000 0000 22e6 33bb 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb cc 8d -1 +22b2 9e -1 +-1 + +ddcb8e +f4f4 f3a8 2843 82cb 0000 0000 0000 0000 d2e8 d367 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 0a 8e -1 +d2f2 03 -1 +-1 + +ddcb8f +6b1a 8ae2 269b cb2f 0000 0000 0000 0000 3ffe 75dd 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 7b 8f -1 +4079 96 -1 +-1 + +ddcb90 +c167 3dfc 42e7 9e14 0000 0000 0000 0000 b501 84fe 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 04 90 -1 +b505 46 -1 +-1 + +ddcb91 +e85e cc89 d249 ea3b 0000 0000 0000 0000 c987 c4d1 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 11 91 -1 +c998 83 -1 +-1 + +ddcb92 +28a3 85ff ab28 47a5 0000 0000 0000 0000 9166 e755 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 4b 92 -1 +91b1 aa -1 +-1 + +ddcb93 +58ac c88b 6d24 dbdd 0000 0000 0000 0000 ac2e 5199 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 03 93 -1 +ac31 93 -1 +-1 + +ddcb94 +e38d 35a5 8d07 bfb8 0000 0000 0000 0000 5e84 5f24 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 11 94 -1 +5e95 b7 -1 +-1 + +ddcb95 +41f4 9536 dd7d 4948 0000 0000 0000 0000 fb74 f17d 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb e6 95 -1 +fb5a c6 -1 +-1 + +ddcb96 +4a9e 42ef 32d7 18cf 0000 0000 0000 0000 7a81 bb1d 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb d5 96 -1 +7a56 ae -1 +-1 + +ddcb97 +9ad3 89f0 73c7 0b1a 0000 0000 0000 0000 847c 4b86 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 92 97 -1 +840e 23 -1 +-1 + +ddcb98 +6e22 b9fd 9fdc 3aed 0000 0000 0000 0000 041e fd79 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb dc 98 -1 +03fa 58 -1 +-1 + +ddcb99 +a132 3891 1515 2830 0000 0000 0000 0000 09fd 0473 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 6d 99 -1 +0a6a ce -1 +-1 + +ddcb9a +783d 8f69 91c4 e38f 0000 0000 0000 0000 68a8 391d 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 8a 9a -1 +6832 a8 -1 +-1 + +ddcb9b +955a c7b0 53b3 aec6 0000 0000 0000 0000 06ef e991 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 97 9b -1 +0686 62 -1 +-1 + +ddcb9c +af69 f896 e791 a2ee 0000 0000 0000 0000 847b 59ed 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 54 9c -1 +84cf 1b -1 +-1 + +ddcb9d +7d1e 5009 1248 380c 0000 0000 0000 0000 e920 4fe6 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 0f 9d -1 +e92f e8 -1 +-1 + +ddcb9e +c207 b47c 0e16 e17f 0000 0000 0000 0000 d8bb bb99 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb b5 9e -1 +d870 ee -1 +-1 + +ddcb9f +c26b 7537 46bb 13c0 0000 0000 0000 0000 e63c 1d98 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb b8 9f -1 +e5f4 a6 -1 +-1 + +ddcba0 +0bbe 8500 8609 5352 0000 0000 0000 0000 a2f0 da02 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 02 a0 -1 +a2f2 39 -1 +-1 + +ddcba1 +ad0a aa76 0f2d 832c 0000 0000 0000 0000 45bb a22d 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb f5 a1 -1 +45b0 d2 -1 +-1 + +ddcba2 +f586 4a7d a5ab 26fc 0000 0000 0000 0000 628b 6c4d 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 0e a2 -1 +6299 a1 -1 +-1 + +ddcba3 +de5b a284 d40e c92d 0000 0000 0000 0000 040d 12c0 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 2e a3 -1 +043b 04 -1 +-1 + +ddcba4 +dfaa ae40 02c3 e0b5 0000 0000 0000 0000 fe4d faa3 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 03 a4 -1 +fe50 27 -1 +-1 + +ddcba5 +1a15 04cb 4352 ee39 0000 0000 0000 0000 7b27 38a0 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb f6 a5 -1 +7b1d 6b -1 +-1 + +ddcba6 +5e46 b98a b822 04ca 0000 0000 0000 0000 ae1b 8730 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 27 a6 -1 +ae42 8f -1 +-1 + +ddcba7 +0eed 7b11 8cb0 eb3d 0000 0000 0000 0000 5ec8 97cf 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb f2 a7 -1 +5eba 87 -1 +-1 + +ddcba8 +5173 3089 070d e8f9 0000 0000 0000 0000 e84f 55f0 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb d0 a8 -1 +e81f 7e -1 +-1 + +ddcba9 +4fb8 ccb5 3e9a 2673 0000 0000 0000 0000 0fdd aef2 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 9d a9 -1 +0f7a 1f -1 +-1 + +ddcbaa +fe76 6f96 3feb 0b21 0000 0000 0000 0000 6747 07ba 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 9f aa -1 +66e6 50 -1 +-1 + +ddcbab +2eb4 36f1 8f44 36af 0000 0000 0000 0000 6682 9d60 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 16 ab -1 +6698 eb -1 +-1 + +ddcbac +af32 8ca8 6558 06d9 0000 0000 0000 0000 a4dd cd1f 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb c4 ac -1 +a4a1 44 -1 +-1 + +ddcbad +fcc9 69a7 0eed eab5 0000 0000 0000 0000 eef5 3ed2 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 49 ad -1 +ef3e 76 -1 +-1 + +ddcbae +5f7a 9c20 f013 c4b7 0000 0000 0000 0000 b306 15dd 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 6e ae -1 +b374 5a -1 +-1 + +ddcbaf +b11e 2583 51fa d427 0000 0000 0000 0000 3619 9cef 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb c2 af -1 +35db 15 -1 +-1 + +ddcbb0 +f43e ce57 3bf3 0933 0000 0000 0000 0000 58d7 d89f 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 47 b0 -1 +591e 1e -1 +-1 + +ddcbb1 +35ef bbbc db46 046c 0000 0000 0000 0000 add2 2b6e 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 86 b1 -1 +ad58 46 -1 +-1 + +ddcbb2 +c26c fd32 9b7f ab6c 0000 0000 0000 0000 e7d0 501f 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 70 b2 -1 +e840 48 -1 +-1 + +ddcbb3 +36ca b434 e212 f805 0000 0000 0000 0000 53fb b191 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb de b3 -1 +53d9 06 -1 +-1 + +ddcbb4 +0a1c ab67 9ca1 2f98 0000 0000 0000 0000 5066 320c 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 6b b4 -1 +50d1 dd -1 +-1 + +ddcbb5 +fd6d 51c9 16d6 1373 0000 0000 0000 0000 146e 2148 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb ec b5 -1 +145a d6 -1 +-1 + +ddcbb6 +1d0b 04e8 109e 1dde 0000 0000 0000 0000 8772 8661 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 15 b6 -1 +8787 8c -1 +-1 + +ddcbb7 +f012 b87e 65ba a5c8 0000 0000 0000 0000 6120 789d 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb d3 b7 -1 +60f3 54 -1 +-1 + +ddcbb8 +8eae 4a53 bfa1 5e7e 0000 0000 0000 0000 0bf6 1e35 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 13 b8 -1 +0c09 87 -1 +-1 + +ddcbb9 +5fb7 a81e e2d2 4117 0000 0000 0000 0000 0564 48a1 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 56 b9 -1 +05ba c8 -1 +-1 + +ddcbba +7f6a 47fe ce45 75de 0000 0000 0000 0000 f5e0 032c 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 86 ba -1 +f566 30 -1 +-1 + +ddcbbb +c7e3 e49e 9ec5 07e7 0000 0000 0000 0000 bd31 9d5f 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb ef bb -1 +bd20 c9 -1 +-1 + +ddcbbc +b430 7ac7 b45f fbf7 0000 0000 0000 0000 638e 3173 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb c0 bc -1 +634e 28 -1 +-1 + +ddcbbd +4e71 6ffa a3f9 a2e5 0000 0000 0000 0000 e3c4 02d4 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb b9 bd -1 +e37d dd -1 +-1 + +ddcbbe +4af8 99a5 d6fd 7a16 0000 0000 0000 0000 58d3 ce54 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 4d be -1 +5920 e8 -1 +-1 + +ddcbbf +6e31 0320 134b 77c3 0000 0000 0000 0000 1734 bc2d 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 26 bf -1 +175a e2 -1 +-1 + +ddcbc0 +75be 2b93 093d 1128 0000 0000 0000 0000 792e 31f7 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 00 c0 -1 +792e 92 -1 +-1 + +ddcbc1 +313f 8223 5fcc 42c8 0000 0000 0000 0000 dccc d87b 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb f7 c1 -1 +dcc3 1c -1 +-1 + +ddcbc2 +a7e3 bf55 d27b 0a9d 0000 0000 0000 0000 0cfa ea4e 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 85 c2 -1 +0c7f 30 -1 +-1 + +ddcbc3 +e076 2760 1eec 9968 0000 0000 0000 0000 5426 a1a0 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 32 c3 -1 +5458 dd -1 +-1 + +ddcbc4 +a679 cc05 3f4d c899 0000 0000 0000 0000 7acd 48d7 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb ae c4 -1 +7a7b 27 -1 +-1 + +ddcbc5 +ddfd 64d4 2671 35e7 0000 0000 0000 0000 ba99 bd98 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 9c c5 -1 +ba35 20 -1 +-1 + +ddcbc6 +b324 dc0c 1e35 8cd5 0000 0000 0000 0000 ab2c b6f3 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb c4 c6 -1 +aaf0 b8 -1 +-1 + +ddcbc7 +a254 9e56 6828 3189 0000 0000 0000 0000 64cb dfad 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb f8 c7 -1 +64c3 94 -1 +-1 + +ddcbc8 +8aca 139e e652 248b 0000 0000 0000 0000 6e7a 189a 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 65 c8 -1 +6edf 8f -1 +-1 + +ddcbc9 +f15f 856e a21f 8a59 0000 0000 0000 0000 b670 4f79 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb fb c9 -1 +b66b b9 -1 +-1 + +ddcbca +dfab a031 1d78 ad3a 0000 0000 0000 0000 a887 7334 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 8a ca -1 +a811 7e -1 +-1 + +ddcbcb +ebd6 376e c346 b10c 0000 0000 0000 0000 a447 31d6 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb a4 cb -1 +a3eb 73 -1 +-1 + +ddcbcc +0212 dc46 8f41 854e 0000 0000 0000 0000 1f5a 07ca 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 65 cc -1 +1fbf 72 -1 +-1 + +ddcbcd +3344 d73c d6b8 929d 0000 0000 0000 0000 5376 6d3a 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb e9 cd -1 +535f 1c -1 +-1 + +ddcbce +9e47 fc93 9ffc aace 0000 0000 0000 0000 0313 7f66 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 85 ce -1 +0298 10 -1 +-1 + +ddcbcf +53e8 d379 87d5 10b0 0000 0000 0000 0000 c5d0 4f7f 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb e2 cf -1 +c5b2 b5 -1 +-1 + +ddcbd0 +3278 6114 d25d 1cf8 0000 0000 0000 0000 ad43 99fc 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 7f d0 -1 +adc2 51 -1 +-1 + +ddcbd1 +c0b8 371a 6472 d92d 0000 0000 0000 0000 10b2 3074 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb a6 d1 -1 +1058 2c -1 +-1 + +ddcbd2 +5bb6 caa8 e0db af84 0000 0000 0000 0000 b9a1 7b5f 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 9c d2 -1 +b93d 9c -1 +-1 + +ddcbd3 +db6a 4fe2 9e52 a034 0000 0000 0000 0000 da36 88a0 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb bd d3 -1 +d9f3 60 -1 +-1 + +ddcbd4 +cc1c b884 6ad2 1621 0000 0000 0000 0000 ef26 41de 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 58 d4 -1 +ef7e 5e -1 +-1 + +ddcbd5 +c41d c8b0 cacb 7687 0000 0000 0000 0000 8dbc cc25 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 41 d5 -1 +8dfd 71 -1 +-1 + +ddcbd6 +09eb 769d 7e07 51f9 0000 0000 0000 0000 5f03 6280 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb ea d6 -1 +5eed 73 -1 +-1 + +ddcbd7 +241b ee10 c152 2f6d 0000 0000 0000 0000 e725 c0d7 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 80 d7 -1 +e6a5 60 -1 +-1 + +ddcbd8 +e3dc 1981 c97b cb42 0000 0000 0000 0000 b30f b32a 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 4c d8 -1 +b35b 96 -1 +-1 + +ddcbd9 +e9a0 a7c7 a476 6057 0000 0000 0000 0000 2642 58a0 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 52 d9 -1 +2694 ef -1 +-1 + +ddcbda +6787 26a7 a194 11d3 0000 0000 0000 0000 2d76 7f80 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb ea da -1 +2d60 82 -1 +-1 + +ddcbdb +f986 6a4b 6588 d2c8 0000 0000 0000 0000 2b7d 5847 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 4d db -1 +2bca 10 -1 +-1 + +ddcbdc +4c9e d94d 9760 b707 0000 0000 0000 0000 7ed4 5cc5 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb d3 dc -1 +7ea7 45 -1 +-1 + +ddcbdd +4b3b d351 9be9 2310 0000 0000 0000 0000 58c1 e430 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 6f dd -1 +5930 20 -1 +-1 + +ddcbde +3b62 ca1e a41a 227a 0000 0000 0000 0000 89d2 7011 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 14 de -1 +89e6 5e -1 +-1 + +ddcbdf +4c8a 5b42 50dd 4be0 0000 0000 0000 0000 d227 4913 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb ef df -1 +d216 72 -1 +-1 + +ddcbe0 +440a 713d acfc f762 0000 0000 0000 0000 1c4b b6ba 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 62 e0 -1 +1cad 46 -1 +-1 + +ddcbe1 +c219 aa6b dfbf 6f10 0000 0000 0000 0000 b931 d3d6 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 2e e1 -1 +b95f 75 -1 +-1 + +ddcbe2 +66d7 abd0 cb48 8054 0000 0000 0000 0000 ef50 9997 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 85 e2 -1 +eed5 72 -1 +-1 + +ddcbe3 +7013 e7ed 7e1c 57fb 0000 0000 0000 0000 7ec6 75eb 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb f4 e3 -1 +7eba 34 -1 +-1 + +ddcbe4 +1108 6e70 f0af 2f0c 0000 0000 0000 0000 95c7 6501 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb bf e4 -1 +9586 34 -1 +-1 + +ddcbe5 +57cc 5511 2696 b83d 0000 0000 0000 0000 6ab0 0e90 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb f2 e5 -1 +6aa2 2e -1 +-1 + +ddcbe6 +207a a441 1e03 ac60 0000 0000 0000 0000 d866 5fdc 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 25 e6 -1 +d88b 4c -1 +-1 + +ddcbe7 +c3c5 7fa9 4e07 e02d 0000 0000 0000 0000 2a1b 55b7 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb f3 e7 -1 +2a0e eb -1 +-1 + +ddcbe8 +6d1c a0c4 93f0 a0b4 0000 0000 0000 0000 4bda 7761 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb f2 e8 -1 +4bcc ba -1 +-1 + +ddcbe9 +ebe5 0c2c 1a2a 2720 0000 0000 0000 0000 72dd a354 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 8a e9 -1 +7267 0a -1 +-1 + +ddcbea +42d2 da7a 757f 6da6 0000 0000 0000 0000 a7e9 b933 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 04 ea -1 +a7ed 5f -1 +-1 + +ddcbeb +e945 10aa f5f8 7647 0000 0000 0000 0000 16df 93fb 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 24 eb -1 +1703 f3 -1 +-1 + +ddcbec +7180 bc85 7dd3 f467 0000 0000 0000 0000 dd88 6a41 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 60 ec -1 +dde8 00 -1 +-1 + +ddcbed +6b2f 9762 1f0a db61 0000 0000 0000 0000 f772 33e3 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb be ed -1 +f730 6b -1 +-1 + +ddcbee +79ea dc8a 7887 3baa 0000 0000 0000 0000 6c28 abbc 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb de ee -1 +6c06 bd -1 +-1 + +ddcbef +46c3 2fc2 8690 a836 0000 0000 0000 0000 cc68 a8ce 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 30 ef -1 +cc98 11 -1 +-1 + +ddcbf0 +b330 4469 362b b515 0000 0000 0000 0000 13c0 6479 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 2f f0 -1 +13ef ad -1 +-1 + +ddcbf1 +94c0 9ab0 a0fd 7c1d 0000 0000 0000 0000 47ba 8c81 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 40 f1 -1 +47fa 78 -1 +-1 + +ddcbf2 +5302 9204 20ec d640 0000 0000 0000 0000 c947 4ef1 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 0f f2 -1 +c956 21 -1 +-1 + +ddcbf3 +9950 a3d2 5058 5ccc 0000 0000 0000 0000 1d96 7c75 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 06 f3 -1 +1d9c e4 -1 +-1 + +ddcbf4 +3712 1f99 4863 47de 0000 0000 0000 0000 1702 c042 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 3b f4 -1 +173d e1 -1 +-1 + +ddcbf5 +d83f 1ec9 d0da 4173 0000 0000 0000 0000 eb3f 1ead 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 64 f5 -1 +eba3 c5 -1 +-1 + +ddcbf6 +4d6c 93ac 810d cfe1 0000 0000 0000 0000 dc5a c33c 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 7b f6 -1 +dcd5 a2 -1 +-1 + +ddcbf7 +fe40 7887 b9de c013 0000 0000 0000 0000 301e 9710 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb c3 f7 -1 +2fe1 a9 -1 +-1 + +ddcbf8 +8278 21a4 1e5c 4952 0000 0000 0000 0000 427f 41e1 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 59 f8 -1 +42d8 28 -1 +-1 + +ddcbf9 +b2df e9b8 56c3 16ff 0000 0000 0000 0000 d88f 0bab 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 55 f9 -1 +d8e4 14 -1 +-1 + +ddcbfa +01f1 bc0d d476 1510 0000 0000 0000 0000 9420 93a3 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 74 fa -1 +9494 fe -1 +-1 + +ddcbfb +709b 14eb ec1c b844 0000 0000 0000 0000 3453 f2b0 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb af fb -1 +3402 02 -1 +-1 + +ddcbfc +6c89 a96e d27b d6a7 0000 0000 0000 0000 6139 b4c1 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb a1 fc -1 +60da 10 -1 +-1 + +ddcbfd +fb3f 83f6 2094 3349 0000 0000 0000 0000 3ed0 6f0e 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 28 fd -1 +3ef8 c2 -1 +-1 + +ddcbfe +fc42 50b7 e98d 3e45 0000 0000 0000 0000 41b5 3410 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb ec fe -1 +41a1 a1 -1 +-1 + +ddcbff +e666 94d2 ac90 8f45 0000 0000 0000 0000 0655 ba29 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb d3 ff -1 +0628 2b -1 +-1 + +dde1 +8a15 6bf0 0106 3dd0 0000 0000 0000 0000 5da4 8716 595f 0000 +00 00 0 0 0 0 1 +0000 dd e1 -1 +595f 9a 09 -1 +-1 + +dde3 +068e 58e6 2713 500f 0000 0000 0000 0000 be05 4308 57bd 0000 +00 00 0 0 0 0 1 +0000 dd e3 -1 +57bd 15 3f -1 +-1 + +dde5 +7462 9b6c bfe5 0330 0000 0000 0000 0000 b282 e272 0761 0000 +00 00 0 0 0 0 1 +0000 dd e5 -1 +-1 + +dde9 +75a7 139b f9a3 94bb 0000 0000 0000 0000 64f0 3433 0000 0000 +00 00 0 0 0 0 1 +0000 dd e9 -1 +-1 + +ddf9 +8709 15dd 7fa6 3c5c 0000 0000 0000 0000 d3a7 1d7b f67c 0000 +00 00 0 0 0 0 1 +0000 dd f9 -1 +-1 + +ddfd00 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 13 +0000 dd fd 00 00 -1 +-1 + +de +e78d 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 de a1 -1 +-1 + +df +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 5507 6d33 +00 00 0 0 0 0 1 +6d33 df -1 +-1 + +e0_1 +0098 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0000 +00 00 0 0 0 0 1 +0000 e0 -1 +43f7 e9 af -1 +-1 + +e0_2 +009c 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0000 +00 00 0 0 0 0 1 +0000 e0 -1 +43f7 e9 af -1 +-1 + +e1 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 4143 0000 +00 00 0 0 0 0 1 +0000 e1 -1 +4143 ce e8 -1 +-1 + +e2_1 +0083 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 e2 1b e1 -1 +-1 + +e2_2 +0087 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 e2 1b e1 -1 +-1 + +e3 +0000 0000 0000 4d22 0000 0000 0000 0000 0000 0000 0373 0000 +00 00 0 0 0 0 1 +0000 e3 -1 +0373 8e e1 -1 +-1 + +e4_1 +000a 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0000 +00 00 0 0 0 0 1 +0000 e4 61 9c -1 +-1 + +e4_2 +000e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0000 +00 00 0 0 0 0 1 +0000 e4 61 9c -1 +-1 + +e5 +53e3 1459 775f 1a2f 0000 0000 0000 0000 0000 0000 ec12 0000 +00 00 0 0 0 0 1 +0000 e5 -1 +-1 + +e6 +7500 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 e6 49 -1 +-1 + +e7 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 5507 6d33 +00 00 0 0 0 0 1 +6d33 e7 -1 +-1 + +e8_1 +0098 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0000 +00 00 0 0 0 0 1 +0000 e8 -1 +43f7 e9 af -1 +-1 + +e8_2 +009c 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0000 +00 00 0 0 0 0 1 +0000 e8 -1 +43f7 e9 af -1 +-1 + +e9 +0000 0000 0000 caba 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 e9 -1 +-1 + +ea_1 +0087 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ea 1b e1 -1 +-1 + +ea_2 +0083 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ea 1b e1 -1 +-1 + +eb +0000 0000 b879 942e 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 eb -1 +-1 + +ec_1 +000e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0000 +00 00 0 0 0 0 1 +0000 ec 61 9c -1 +-1 + +ec_2 +000a 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0000 +00 00 0 0 0 0 1 +0000 ec 61 9c -1 +-1 + +ed40 +83f9 296b 7034 1f2f 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 40 -1 +-1 + +ed41 +29a2 0881 d7dd ff4e 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 41 -1 +-1 + +ed42 +cbd3 1c8f d456 315e 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 42 -1 +-1 + +ed43 +da36 2732 91cc 9798 0000 0000 0000 0000 0000 0000 5f73 0000 +00 00 0 0 0 0 1 +0000 ed 43 c6 54 -1 +-1 + +ed44 +fe2b 040f deb6 afc3 0000 0000 0000 0000 0000 0000 5ca8 0000 +00 00 0 0 0 0 1 +0000 ed 44 -1 +-1 + +ed45 +001d 5b63 a586 1451 0000 0000 0000 0000 0000 0000 3100 0000 +00 00 0 1 0 0 1 +0000 ed 45 -1 +3100 1f 22 -1 +-1 + +ed46 +b6ec 8afb ce09 70a1 0000 0000 0000 0000 0000 0000 8dea 0000 +00 00 0 0 0 0 1 +0000 ed 46 -1 +-1 + +ed47 +9a99 9e5a 9913 cacc 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 47 -1 +-1 + +ed48 +dbdd 7d1b 141d 5fb4 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 48 -1 +-1 + +ed49 +07a5 59ec f459 4316 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 49 -1 +-1 + +ed4a +5741 24b5 83d2 9ac8 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 4a -1 +-1 + +ed4b +650c d74d 0448 a3b9 0000 0000 0000 0000 0000 0000 b554 0000 +00 00 0 0 0 0 1 +0000 ed 4b 1a a4 -1 +a41a f3 d4 -1 +-1 + +ed4c +5682 7dde b049 939d 0000 0000 0000 0000 0000 0000 c7bb 0000 +00 00 0 0 0 0 1 +0000 ed 4c -1 +-1 + +ed4d +1bed c358 5fd5 6093 0000 0000 0000 0000 0000 0000 680e 0000 +00 00 0 0 0 0 1 +0000 ed 4d -1 +680e 03 7c -1 +-1 + +ed4e +8e01 e7c6 880f d2a2 0000 0000 0000 0000 0000 0000 85da 0000 +00 00 0 0 1 0 1 +0000 ed 4e -1 +-1 + +ed4f +2ae3 c115 eff8 9f6d 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 4f -1 +-1 + +ed50 +85ae bbcc e2a8 f219 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 50 -1 +-1 + +ed51 +2c4c c0a4 5303 bc25 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 51 -1 +-1 + +ed52 +fc57 1fc8 47b6 da7c 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 52 -1 +-1 + +ed53 +1f88 4692 5cb2 4915 0000 0000 0000 0000 0000 0000 7d8c 0000 +00 00 0 0 0 0 1 +0000 ed 53 ff 21 -1 +-1 + +ed54 +adf9 5661 547c c322 0000 0000 0000 0000 0000 0000 d9eb 0000 +00 00 0 0 0 0 1 +0000 ed 54 -1 +-1 + +ed55 +b05b 5e84 d6e9 cb3e 0000 0000 0000 0000 0000 0000 d4b4 0000 +00 00 1 0 0 0 1 +0000 ed 55 -1 +d4b4 ea c9 -1 +-1 + +ed56 +5cc0 9100 356b 4bfd 0000 0000 0000 0000 0000 0000 2c93 0000 +00 00 0 0 1 0 1 +0000 ed 56 -1 +-1 + +ed57 +bcfe dfc7 a621 1022 0000 0000 0000 0000 0000 0000 0000 0000 +1e 17 0 0 0 0 1 +0000 ed 57 -1 +-1 + +ed58 +c9ee 4091 9e46 873a 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 58 -1 +-1 + +ed59 +388a d512 ecc5 93af 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 59 -1 +-1 + +ed5a +a41f 751c 19ce 0493 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 5a -1 +-1 + +ed5b +5df1 982e 002f adb9 0000 0000 0000 0000 0000 0000 f398 0000 +00 00 0 0 0 0 1 +0000 ed 5b 04 9f -1 +9f04 84 4d -1 +-1 + +ed5c +11c3 b86c 2042 c958 0000 0000 0000 0000 0000 0000 93dc 0000 +00 00 0 0 0 0 1 +0000 ed 5c -1 +-1 + +ed5d +1152 1d20 3f86 64fc 0000 0000 0000 0000 0000 0000 5308 0000 +00 00 0 0 0 0 1 +0000 ed 5d -1 +5308 26 e0 -1 +-1 + +ed5e +611a c8cf f215 d92b 0000 0000 0000 0000 0000 0000 4d86 0000 +00 00 0 0 1 0 1 +0000 ed 5e -1 +-1 + +ed5f +1bb5 fc09 2dfa bab9 0000 0000 0000 0000 0000 0000 0000 0000 +d7 f3 0 0 0 0 1 +0000 ed 5f -1 +-1 + +ed60 +2c9c 0dae 621e 2f66 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 60 -1 +-1 + +ed61 +ffa8 90ca 0340 d847 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 61 -1 +-1 + +ed62 +a60b d9aa 6623 0b1a 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 62 -1 +-1 + +ed63 +5222 88f9 9d9a e4d3 0000 0000 0000 0000 0000 0000 a2f0 0000 +00 00 0 0 0 0 1 +0000 ed 63 67 65 -1 +-1 + +ed64 +2127 e425 66ac b2a3 0000 0000 0000 0000 0000 0000 43f2 0000 +00 00 0 0 0 0 1 +0000 ed 64 -1 +-1 + +ed65 +63d2 1fa1 0788 881c 0000 0000 0000 0000 0000 0000 f207 0000 +00 00 0 1 0 0 1 +0000 ed 65 -1 +f207 eb 0e -1 +-1 + +ed66 +4088 a7e1 3ffd 919b 0000 0000 0000 0000 0000 0000 d193 0000 +00 00 0 0 1 0 1 +0000 ed 66 -1 +-1 + +ed67 +3624 b16a a4db b9de 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 67 -1 +b9de 93 -1 +-1 + +ed68 +5316 624b 7311 3106 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 68 -1 +-1 + +ed69 +abd8 8d2f 89c7 c3d6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 69 -1 +-1 + +ed6a +bb5a 6fed 59bb 4e40 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 6a -1 +-1 + +ed6b +9e35 d240 1998 ab19 0000 0000 0000 0000 0000 0000 9275 0000 +00 00 0 0 0 0 1 +0000 ed 6b 98 61 -1 +6198 3f be -1 +-1 + +ed6c +0fb1 7d5b cadb 0893 0000 0000 0000 0000 0000 0000 d983 0000 +00 00 0 0 0 0 1 +0000 ed 6c -1 +-1 + +ed6d +3860 42da 5935 dc10 0000 0000 0000 0000 0000 0000 5cd3 0000 +00 00 0 0 0 0 1 +0000 ed 6d -1 +5cd3 a9 73 -1 +-1 + +ed6e +7752 bec3 0457 8c95 0000 0000 0000 0000 0000 0000 a787 0000 +00 00 0 0 0 0 1 +0000 ed 6e -1 +-1 + +ed6f +658b 7a7a ecf0 403c 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 6f -1 +403c c4 -1 +-1 + +ed70 +c6a1 f7d6 a3cb 288d 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 70 -1 +-1 + +ed71 +afa0 20b3 7b33 4ac1 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 71 -1 +-1 + +ed72 +5fd9 05cb 0c6c d18b 0000 0000 0000 0000 0000 0000 53db 0000 +00 00 0 0 0 0 1 +0000 ed 72 -1 +-1 + +ed73 +41c4 763a ecb0 ee62 0000 0000 0000 0000 0000 0000 aed5 0000 +00 00 0 0 0 0 1 +0000 ed 73 2a 79 -1 +-1 + +ed74 +4454 f2d2 8340 7e76 0000 0000 0000 0000 0000 0000 0323 0000 +00 00 0 0 0 0 1 +0000 ed 74 -1 +-1 + +ed75 +7ca4 1615 5d2a a95b 0000 0000 0000 0000 0000 0000 7d00 0000 +00 00 1 1 0 0 1 +0000 ed 75 -1 +7d00 fd 4f -1 +-1 + +ed76 +cabf ff9a b98c a8e6 0000 0000 0000 0000 0000 0000 fe8e 0000 +00 00 0 0 2 0 1 +0000 ed 76 -1 +-1 + +ed78 +58dd f206 2d6a af16 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 78 -1 +-1 + +ed79 +e000 4243 8f7f ed90 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 79 -1 +-1 + +ed7a +32fd d819 d873 8dcf 0000 0000 0000 0000 0000 0000 5d22 0000 +00 00 0 0 0 0 1 +0000 ed 7a -1 +-1 + +ed7b +4f97 24b7 e105 1bf2 0000 0000 0000 0000 0000 0000 5e17 0000 +00 00 0 0 0 0 1 +0000 ed 7b 50 8c -1 +8c50 d8 48 -1 +-1 + +ed7c +d333 29ca 9622 b452 0000 0000 0000 0000 0000 0000 0be6 0000 +00 00 0 0 0 0 1 +0000 ed 7c -1 +-1 + +ed7d +ecb6 073e dc1e 38d9 0000 0000 0000 0000 0000 0000 66f0 0000 +00 00 0 1 0 0 1 +0000 ed 7d -1 +66f0 4f fb -1 +-1 + +ed7e +b246 1a1a 933a 4b8b 0000 0000 0000 0000 0000 0000 2242 0000 +00 00 0 0 0 0 1 +0000 ed 7e -1 +-1 + +eda0 +1bc9 3d11 95c1 d097 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a0 -1 +d097 b7 -1 +-1 + +eda1 +ecdb 7666 537f 3bc3 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a1 -1 +3bc3 b4 -1 +-1 + +eda2 +0121 9a82 5bbd 2666 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a2 -1 +-1 + +eda2_01 +0000 0200 0000 8000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a2 -1 +-1 + +eda2_02 +0000 569a 0000 8000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a2 -1 +-1 + +eda2_03 +0000 abcc 0000 8000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a2 -1 +-1 + +eda3 +42c5 6334 1e28 32fa 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a3 -1 +32fa b3 -1 +-1 + +eda3_01 +0000 0100 0000 01ff 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a3 -1 +01ff 00 -1 +-1 + +eda3_02 +0000 0100 0000 0100 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a3 -1 +0100 00 -1 +-1 + +eda3_03 +0000 0100 0000 0107 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a3 -1 +0107 00 -1 +-1 + +eda3_04 +0000 0100 0000 01ff 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a3 -1 +01ff 80 -1 +-1 + +eda3_05 +0000 0100 0000 01fd 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a3 -1 +01fd 12 -1 +-1 + +eda3_06 +0000 0100 0000 01fe 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a3 -1 +01fe 12 -1 +-1 + +eda3_07 +0000 0200 0000 01ff 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a3 -1 +01ff 00 -1 +-1 + +eda3_08 +0000 0800 0000 01fe 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a3 -1 +01fe 00 -1 +-1 + +eda3_09 +0000 8100 0000 01ff 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a3 -1 +01ff 00 -1 +-1 + +eda3_10 +0000 8200 0000 01ff 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a3 -1 +01ff 00 -1 +-1 + +eda3_11 +0000 a900 0000 01ff 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a3 -1 +01ff 00 -1 +-1 + +eda8 +2a8e 1607 5938 12e8 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a8 -1 +12e8 d8 -1 +-1 + +eda9 +1495 fb42 0466 0dbe 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a9 -1 +0dbe 89 -1 +-1 + +edaa +2042 d791 a912 a533 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed aa -1 +-1 + +edaa_01 +0000 0101 0000 8000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed aa -1 +-1 + +edaa_02 +0000 56aa 0000 8000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed aa -1 +-1 + +edaa_03 +0000 abcc 0000 8000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed aa -1 +-1 + +edab +0037 f334 d3e1 199f 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed ab -1 +199f 49 -1 +-1 + +edab_01 +0000 5800 0000 007a 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed ab -1 +007a 7f -1 +-1 + +edab_02 +0000 ab00 0000 00f1 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed ab -1 +00f1 cd -1 +-1 + +edb0 +1045 0010 aad8 558e 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 331 +0000 ed b0 -1 +558e 53 94 30 05 44 24 22 b9 e9 77 23 71 e2 5c fb 49 -1 +-1 + +edb1 +f4dd 0008 e4e0 9825 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 79 +0000 ed b1 -1 +9825 50 e5 41 f4 01 9f 11 85 -1 +-1 + +edb2 +8a34 0a40 d98c 37ce 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 205 +0000 ed b2 -1 +-1 + +edb3 +34ab 03e0 41b9 1d7c 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 58 +0000 ed b3 -1 +1d7c 9d 24 aa -1 +-1 + +edb8 +e553 0008 68e8 4dcf 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 163 +0000 ed b8 -1 +4dc8 29 85 a7 c3 55 74 23 0a -1 +-1 + +edb9 +ffcd 0008 a171 c749 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 163 +0000 ed b9 -1 +c742 c6 09 85 ec 5a 01 4e 6c -1 +-1 + +edba +2567 069f d40d 6b55 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 121 +0000 ed ba -1 +-1 + +edbb +09c4 043b be49 1dd0 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 79 +0000 ed bb -1 +1dcd f9 71 c5 b6 -1 +-1 + +ee +3e00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ee d0 -1 +-1 + +ef +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 5507 6d33 +00 00 0 0 0 0 1 +6d33 ef -1 +-1 + +f0_1 +0018 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0000 +00 00 0 0 0 0 1 +0000 f0 -1 +43f7 e9 af -1 +-1 + +f0_2 +0098 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0000 +00 00 0 0 0 0 1 +0000 f0 -1 +43f7 e9 af -1 +-1 + +f1 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 4143 0000 +00 00 0 0 0 0 1 +0000 f1 -1 +4143 ce e8 -1 +-1 + +f2_1 +0007 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 f2 1b e1 -1 +-1 + +f2_2 +0087 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 f2 1b e1 -1 +-1 + +f3 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 1 1 0 0 1 +0000 f3 -1 +-1 + +f4_1 +000e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0000 +00 00 0 0 0 0 1 +0000 f4 61 9c -1 +-1 + +f4_2 +008e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0000 +00 00 0 0 0 0 1 +0000 f4 61 9c -1 +-1 + +f5 +53e3 1459 775f 1a2f 0000 0000 0000 0000 0000 0000 ec12 0000 +00 00 0 0 0 0 1 +0000 f5 -1 +-1 + +f6 +0600 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 f6 a7 -1 +-1 + +f7 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 5507 6d33 +00 00 0 0 0 0 1 +6d33 f7 -1 +-1 + +f8_1 +0018 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0000 +00 00 0 0 0 0 1 +0000 f8 -1 +43f7 e9 af -1 +-1 + +f8_2 +0098 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0000 +00 00 0 0 0 0 1 +0000 f8 -1 +43f7 e9 af -1 +-1 + +f9 +0000 0000 0000 ce32 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 f9 -1 +-1 + +fa_1 +0087 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 fa 1b e1 -1 +-1 + +fa_2 +0007 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 fa 1b e1 -1 +-1 + +fb +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 fb -1 +-1 + +fc_1 +008e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0000 +00 00 0 0 0 0 1 +0000 fc 61 9c -1 +-1 + +fc_2 +000e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0000 +00 00 0 0 0 0 1 +0000 fc 61 9c -1 +-1 + +fd09 +466a a623 bab2 d788 0000 0000 0000 0000 c9e8 f698 0000 0000 +00 00 0 0 0 0 1 +0000 fd 09 -1 +-1 + +fd19 +b3e5 5336 76cb 54e2 0000 0000 0000 0000 b9ce 8624 0000 0000 +00 00 0 0 0 0 1 +0000 fd 19 -1 +-1 + +fd21 +c924 5c83 e0e2 eddb 0000 0000 0000 0000 6e9f ba55 0000 0000 +00 00 0 0 0 0 1 +0000 fd 21 46 47 -1 +-1 + +fd22 +1235 f0b6 b74c cc9f 0000 0000 0000 0000 8b00 81e4 0000 0000 +00 00 0 0 0 0 1 +0000 fd 22 9a e2 -1 +-1 + +fd23 +69f2 c1d3 0f6f 2169 0000 0000 0000 0000 e39e 2605 0000 0000 +00 00 0 0 0 0 1 +0000 fd 23 -1 +-1 + +fd24 +5554 9684 d36a dac3 0000 0000 0000 0000 7803 6434 0000 0000 +00 00 0 0 0 0 1 +0000 fd 24 -1 +-1 + +fd25 +cd0b b5e4 a754 9526 0000 0000 0000 0000 3dcb 03b2 0000 0000 +00 00 0 0 0 0 1 +0000 fd 25 -1 +-1 + +fd26 +2452 300b b4a1 929d 0000 0000 0000 0000 c259 3f30 0000 0000 +00 00 0 0 0 0 1 +0000 fd 26 77 -1 +-1 + +fd29 +5812 49d0 ec95 011c 0000 0000 0000 0000 ec6c 594c 0000 0000 +00 00 0 0 0 0 1 +0000 fd 29 -1 +-1 + +fd2a +0f82 3198 87e3 7c1c 0000 0000 0000 0000 1bb4 eb1a 0000 0000 +00 00 0 0 0 0 1 +0000 fd 2a 91 f9 -1 +f991 92 bf -1 +-1 + +fd2b +ab27 942f 82fa 6f2f 0000 0000 0000 0000 9438 ebbc 0000 0000 +00 00 0 0 0 0 1 +0000 fd 2b -1 +-1 + +fd2c +665d 0ab1 5656 e5a9 0000 0000 0000 0000 5fb9 4df7 0000 0000 +00 00 0 0 0 0 1 +0000 fd 2c -1 +-1 + +fd2d +32fb f78a b906 31d0 0000 0000 0000 0000 c72a e91c 0000 0000 +00 00 0 0 0 0 1 +0000 fd 2d -1 +-1 + +fd2e +2114 4923 6e65 006c 0000 0000 0000 0000 da39 c0cb 0000 0000 +00 00 0 0 0 0 1 +0000 fd 2e 49 -1 +-1 + +fd34 +d56a 6f24 7df7 74f0 0000 0000 0000 0000 365a efc4 0000 0000 +00 00 0 0 0 0 1 +0000 fd 34 b8 -1 +ef7c e0 -1 +-1 + +fd35 +8cda 35d8 7c1a 1c0a 0000 0000 0000 0000 62bb aec6 0000 0000 +00 00 0 0 0 0 1 +0000 fd 35 ab -1 +ae71 a6 -1 +-1 + +fd36 +e0f9 ae1f 4aef c9d5 0000 0000 0000 0000 c0db bdd4 0000 0000 +00 00 0 0 0 0 1 +0000 fd 36 81 c5 -1 +-1 + +fd39 +2603 726f 9c7f cd46 0000 0000 0000 0000 dc45 54d5 dc57 0000 +00 00 0 0 0 0 1 +0000 fd 39 -1 +-1 + +fd44 +0e58 7192 3580 9be4 0000 0000 0000 0000 1b79 685e 0000 0000 +00 00 0 0 0 0 1 +0000 fd 44 -1 +-1 + +fd45 +6555 a488 5ae8 c948 0000 0000 0000 0000 d7b8 a177 0000 0000 +00 00 0 0 0 0 1 +0000 fd 45 -1 +-1 + +fd46 +87f3 17d5 5eea 830b 0000 0000 0000 0000 dcee 3afc 0000 0000 +00 00 0 0 0 0 1 +0000 fd 46 4d -1 +3b49 c9 -1 +-1 + +fd4c +7e6b bd4b 24b6 ff94 0000 0000 0000 0000 862d 01d0 0000 0000 +00 00 0 0 0 0 1 +0000 fd 4c -1 +-1 + +fd4d +50cf e3fe 998e dba2 0000 0000 0000 0000 c4f5 c7c9 0000 0000 +00 00 0 0 0 0 1 +0000 fd 4d -1 +-1 + +fd4e +2c0f 69d7 748a 9290 0000 0000 0000 0000 904f bb9a 0000 0000 +00 00 0 0 0 0 1 +0000 fd 4e 67 -1 +bc01 9d -1 +-1 + +fd54 +d7f9 f65b b001 d4c4 0000 0000 0000 0000 4b8e d437 0000 0000 +00 00 0 0 0 0 1 +0000 fd 54 -1 +-1 + +fd55 +ab98 fdab 254a 010e 0000 0000 0000 0000 126b 13a9 0000 0000 +00 00 0 0 0 0 1 +0000 fd 55 -1 +-1 + +fd56 +d3e8 df10 5442 b641 0000 0000 0000 0000 a5a0 fda2 0000 0000 +00 00 0 0 0 0 1 +0000 fd 56 ce -1 +fd70 78 -1 +-1 + +fd5c +11d5 c489 e220 434e 0000 0000 0000 0000 3244 d8bb 0000 0000 +00 00 0 0 0 0 1 +0000 fd 5c -1 +-1 + +fd5d +e945 dbae 32ea 4f7e 0000 0000 0000 0000 fa56 074e 0000 0000 +00 00 0 0 0 0 1 +0000 fd 5d -1 +-1 + +fd5e +6f3b e9dc 7a06 14f3 0000 0000 0000 0000 ec76 8aaa 0000 0000 +00 00 0 0 0 0 1 +0000 fd 5e c6 -1 +8a70 8c -1 +-1 + +fd60 +8579 005d d9ee faee 0000 0000 0000 0000 382d 2f95 0000 0000 +00 00 0 0 0 0 1 +0000 fd 60 -1 +-1 + +fd61 +5682 dbc3 b495 9799 0000 0000 0000 0000 85b2 3c1e 0000 0000 +00 00 0 0 0 0 1 +0000 fd 61 -1 +-1 + +fd62 +906b f52e f3d8 1e8c 0000 0000 0000 0000 ddba 9a02 0000 0000 +00 00 0 0 0 0 1 +0000 fd 62 -1 +-1 + +fd63 +9d59 beb9 d826 0eaa 0000 0000 0000 0000 4290 a4b9 0000 0000 +00 00 0 0 0 0 1 +0000 fd 63 -1 +-1 + +fd64 +7b0e e394 8a25 cddf 0000 0000 0000 0000 9784 2116 0000 0000 +00 00 0 0 0 0 1 +0000 fd 64 -1 +-1 + +fd65 +b827 eb4f f666 c52a 0000 0000 0000 0000 6206 831f 0000 0000 +00 00 0 0 0 0 1 +0000 fd 65 -1 +-1 + +fd66 +9129 e4ee e3a3 86ca 0000 0000 0000 0000 4d93 5b24 0000 0000 +00 00 0 0 0 0 1 +0000 fd 66 80 -1 +5aa4 77 -1 +-1 + +fd67 +db7a b40b 7b58 49fd 0000 0000 0000 0000 266f 9e7b 0000 0000 +00 00 0 0 0 0 1 +0000 fd 67 -1 +-1 + +fd68 +4d1d 4fd9 783e 0745 0000 0000 0000 0000 0c3d 82b5 0000 0000 +00 00 0 0 0 0 1 +0000 fd 68 -1 +-1 + +fd69 +1589 5ceb b5db 922a 0000 0000 0000 0000 3c3a dc98 0000 0000 +00 00 0 0 0 0 1 +0000 fd 69 -1 +-1 + +fd6a +607a e035 5bb9 dac0 0000 0000 0000 0000 fc04 b5b7 0000 0000 +00 00 0 0 0 0 1 +0000 fd 6a -1 +-1 + +fd6b +db2a e244 1182 096f 0000 0000 0000 0000 198e 91a6 0000 0000 +00 00 0 0 0 0 1 +0000 fd 6b -1 +-1 + +fd6c +a0be 34ef 8fcd 40a7 0000 0000 0000 0000 4481 c215 0000 0000 +00 00 0 0 0 0 1 +0000 fd 6c -1 +-1 + +fd6d +fdfc 727a b839 50a6 0000 0000 0000 0000 e782 02e5 0000 0000 +00 00 0 0 0 0 1 +0000 fd 6d -1 +-1 + +fd6e +cfd4 6ef1 c07d eb96 0000 0000 0000 0000 b0f9 b0a3 0000 0000 +00 00 0 0 0 0 1 +0000 fd 6e 78 -1 +b11b f8 -1 +-1 + +fd6f +8e1d a138 f20a 298e 0000 0000 0000 0000 b600 0cf7 0000 0000 +00 00 0 0 0 0 1 +0000 fd 6f -1 +-1 + +fd70 +2677 33c5 c0dc 262f 0000 0000 0000 0000 d3dc 23a1 0000 0000 +00 00 0 0 0 0 1 +0000 fd 70 53 -1 +-1 + +fd71 +892e 04ae d67f 81ec 0000 0000 0000 0000 7757 bfab 0000 0000 +00 00 0 0 0 0 1 +0000 fd 71 b4 -1 +-1 + +fd72 +d2dc c23c dd54 6559 0000 0000 0000 0000 b32b 7c80 0000 0000 +00 00 0 0 0 0 1 +0000 fd 72 e3 -1 +-1 + +fd73 +49ef bff2 8409 02dd 0000 0000 0000 0000 af95 8762 0000 0000 +00 00 0 0 0 0 1 +0000 fd 73 17 -1 +-1 + +fd74 +9479 9817 fa2e 1fe0 0000 0000 0000 0000 a395 92db 0000 0000 +00 00 0 0 0 0 1 +0000 fd 74 f6 -1 +-1 + +fd75 +c8d6 6aa4 180e e37b 0000 0000 0000 0000 02cf 1724 0000 0000 +00 00 0 0 0 0 1 +0000 fd 75 ab -1 +-1 + +fd77 +6f9e 7475 78ad 2b8c 0000 0000 0000 0000 c6b7 6b4d 0000 0000 +00 00 0 0 0 0 1 +0000 fd 77 f7 -1 +-1 + +fd7c +f228 93fc a3d4 dc9e 0000 0000 0000 0000 21ac c617 0000 0000 +00 00 0 0 0 0 1 +0000 fd 7c -1 +-1 + +fd7d +93e5 3cbe 02c3 26c2 0000 0000 0000 0000 ca81 92b9 0000 0000 +00 00 0 0 0 0 1 +0000 fd 7d -1 +-1 + +fd7e +1596 daba 147b f362 0000 0000 0000 0000 7110 d45f 0000 0000 +00 00 0 0 0 0 1 +0000 fd 7e e4 -1 +d443 aa -1 +-1 + +fd84 +bfba 7cae c4da 7aee 0000 0000 0000 0000 43ee c08e 0000 0000 +00 00 0 0 0 0 1 +0000 fd 84 -1 +-1 + +fd85 +52dd 1dea 324f 84e7 0000 0000 0000 0000 e7a8 f799 0000 0000 +00 00 0 0 0 0 1 +0000 fd 85 -1 +-1 + +fd86 +fc9c b882 43f9 3e15 0000 0000 0000 0000 9781 8b33 0000 0000 +00 00 0 0 0 0 1 +0000 fd 86 ce -1 +8b01 e1 -1 +-1 + +fd8c +fd9c 42b1 5e8a 081c 0000 0000 0000 0000 cb58 3b4e 0000 0000 +00 00 0 0 0 0 1 +0000 fd 8c -1 +-1 + +fd8d +9301 7750 8ad6 295c 0000 0000 0000 0000 695c 99fb 0000 0000 +00 00 0 0 0 0 1 +0000 fd 8d -1 +-1 + +fd8e +41ee 398f f6dc 06f3 0000 0000 0000 0000 f34a 1aa2 0000 0000 +00 00 0 0 0 0 1 +0000 fd 8e 78 -1 +1b1a c0 -1 +-1 + +fd94 +0431 d255 b9d6 20bb 0000 0000 0000 0000 1e6a d5ef 0000 0000 +00 00 0 0 0 0 1 +0000 fd 94 -1 +-1 + +fd95 +8b5d b455 2388 ec1e 0000 0000 0000 0000 7637 cb97 0000 0000 +00 00 0 0 0 0 1 +0000 fd 95 -1 +-1 + +fd96 +a0c6 22ac 0413 4b13 0000 0000 0000 0000 b44e c08b 0000 0000 +00 00 0 0 0 0 1 +0000 fd 96 55 -1 +c0e0 7b -1 +-1 + +fd9c +a44a 3ecf ced3 66ec 0000 0000 0000 0000 4bff b133 0000 0000 +00 00 0 0 0 0 1 +0000 fd 9c -1 +-1 + +fd9d +06c0 8bd0 131b 3094 0000 0000 0000 0000 afc3 7409 0000 0000 +00 00 0 0 0 0 1 +0000 fd 9d -1 +-1 + +fd9e +b983 981f bb8e d6d5 0000 0000 0000 0000 5c3b f66c 0000 0000 +00 00 0 0 0 0 1 +0000 fd 9e f9 -1 +f665 f3 -1 +-1 + +fda4 +b079 79c0 2c7c 3e06 0000 0000 0000 0000 7399 037a 0000 0000 +00 00 0 0 0 0 1 +0000 fd a4 -1 +-1 + +fda5 +01d2 654d 9653 2b33 0000 0000 0000 0000 61a4 8f88 0000 0000 +00 00 0 0 0 0 1 +0000 fd a5 -1 +-1 + +fda6 +ddb8 40bb 3742 6ff1 0000 0000 0000 0000 ad28 659b 0000 0000 +00 00 0 0 0 0 1 +0000 fd a6 53 -1 +65ee 95 -1 +-1 + +fdac +7a43 72e3 dd4d 1b62 0000 0000 0000 0000 4753 5d63 0000 0000 +00 00 0 0 0 0 1 +0000 fd ac -1 +-1 + +fdad +7d8e 2573 19cc 78fb 0000 0000 0000 0000 5248 8391 0000 0000 +00 00 0 0 0 0 1 +0000 fd ad -1 +-1 + +fdae +a0da bc27 257b 5489 0000 0000 0000 0000 fa59 81f8 0000 0000 +00 00 0 0 0 0 1 +0000 fd ae 09 -1 +8201 cb -1 +-1 + +fdb4 +4f95 3461 f173 8ad3 0000 0000 0000 0000 c1a2 8265 0000 0000 +00 00 0 0 0 0 1 +0000 fd b4 -1 +-1 + +fdb5 +17f6 e6ea f919 327c 0000 0000 0000 0000 4299 9733 0000 0000 +00 00 0 0 0 0 1 +0000 fd b5 -1 +-1 + +fdb6 +db37 3509 d6ca b16a 0000 0000 0000 0000 a099 df6d 0000 0000 +00 00 0 0 0 0 1 +0000 fd b6 4b -1 +dfb8 64 -1 +-1 + +fdbc +b4fc 9302 e35d 31bc 0000 0000 0000 0000 5c12 1c92 0000 0000 +00 00 0 0 0 0 1 +0000 fd bc -1 +-1 + +fdbd +391c 7b82 dfeb 03ee 0000 0000 0000 0000 be7b b30f 0000 0000 +00 00 0 0 0 0 1 +0000 fd bd -1 +-1 + +fdbe +0970 0b31 f4ad 9d4c 0000 0000 0000 0000 b95a a96b 0000 0000 +00 00 0 0 0 0 1 +0000 fd be 6b -1 +a9d6 c0 -1 +-1 + +fdcb00 +85ac 46d0 a135 20c5 0000 0000 0000 0000 b8de 2776 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 0b 00 -1 +2781 50 -1 +-1 + +fdcb01 +577c 2b76 3576 280a 0000 0000 0000 0000 ae22 5c35 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb c8 01 -1 +5bfd cb -1 +-1 + +fdcb02 +dc23 2b37 83c8 5dd9 0000 0000 0000 0000 b2d2 3df2 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 14 02 -1 +3e06 58 -1 +-1 + +fdcb03 +57ee c179 b2b6 7058 0000 0000 0000 0000 3f2e 57e7 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 3a 03 -1 +5821 1a -1 +-1 + +fdcb04 +ed18 3f03 3327 f35a 0000 0000 0000 0000 cbf2 5071 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 67 04 -1 +50d8 92 -1 +-1 + +fdcb05 +7a39 0858 db6c dbe0 0000 0000 0000 0000 157a b25b 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 1e 05 -1 +b279 66 -1 +-1 + +fdcb06 +f285 89a2 e78f ef74 0000 0000 0000 0000 140d ff27 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 72 06 -1 +ff99 f1 -1 +-1 + +fdcb07 +8cce f3a7 3a6e 8f0a 0000 0000 0000 0000 8423 07eb 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 24 07 -1 +080f ae -1 +-1 + +fdcb08 +a611 e8ec c958 7bda 0000 0000 0000 0000 194d 6137 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 25 08 -1 +615c 83 -1 +-1 + +fdcb09 +54b1 fa1a 84e8 4fa5 0000 0000 0000 0000 1ad3 19da 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb a0 09 -1 +197a 27 -1 +-1 + +fdcb0a +b3ef a2bb e5d6 9617 0000 0000 0000 0000 f946 eef6 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb e1 0a -1 +eed7 19 -1 +-1 + +fdcb0b +ae10 8c4e e159 1c54 0000 0000 0000 0000 e108 c68f 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 0c 0b -1 +c69b f2 -1 +-1 + +fdcb0c +8719 6b16 4c3b 180a 0000 0000 0000 0000 175a 8c9d 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb d7 0c -1 +8c74 ae -1 +-1 + +fdcb0d +1204 e0cb 3ab1 2416 0000 0000 0000 0000 1de4 fe2d 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 11 0d -1 +fe3e 1b -1 +-1 + +fdcb0e +8da4 8f91 fc5a 5e2c 0000 0000 0000 0000 b2f2 f223 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 0c 0e -1 +f22f f7 -1 +-1 + +fdcb0f +fbb0 2ac9 ec6b 6511 0000 0000 0000 0000 c93a ce38 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 15 0f -1 +ce4d 44 -1 +-1 + +fdcb10 +259d 3852 590d ac66 0000 0000 0000 0000 144f 42a2 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 7a 10 -1 +431c 1c -1 +-1 + +fdcb11 +bc60 61c1 f5f8 af24 0000 0000 0000 0000 4019 9c90 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 7b 11 -1 +9d0b 5e -1 +-1 + +fdcb12 +4e45 3a25 3417 bcc7 0000 0000 0000 0000 0d7e 8537 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 61 12 -1 +8598 a7 -1 +-1 + +fdcb13 +b224 b79b 84f1 ff7d 0000 0000 0000 0000 414c e798 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb b3 13 -1 +e74b b3 -1 +-1 + +fdcb14 +abbb 451a fc65 14a1 0000 0000 0000 0000 0f4d d93c 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb c4 14 -1 +d900 06 -1 +-1 + +fdcb15 +2864 9532 8631 751c 0000 0000 0000 0000 e327 2d7b 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 17 15 -1 +2d92 12 -1 +-1 + +fdcb16 +0c3c dcd7 adcc 196d 0000 0000 0000 0000 87e2 f0b4 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 23 16 -1 +f0d7 89 -1 +-1 + +fdcb17 +af5b d016 066e 6638 0000 0000 0000 0000 5e92 2013 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 8a 17 -1 +1f9d b8 -1 +-1 + +fdcb18 +23f3 4517 16e0 6894 0000 0000 0000 0000 b908 3216 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb c0 18 -1 +31d6 fa -1 +-1 + +fdcb19 +11ed c2b8 a9f3 2014 0000 0000 0000 0000 6db0 4d2e 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb a2 19 -1 +4cd0 4b -1 +-1 + +fdcb1a +bc5c 6168 e541 b630 0000 0000 0000 0000 0207 40d3 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 78 1a -1 +414b 44 -1 +-1 + +fdcb1b +7a28 1286 fe50 c42d 0000 0000 0000 0000 e290 71b0 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 16 1b -1 +71c6 b8 -1 +-1 + +fdcb1c +932b 097b 6928 83a3 0000 0000 0000 0000 ff2d df62 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 86 1c -1 +dee8 8f -1 +-1 + +fdcb1d +97b1 2b30 2645 04ef 0000 0000 0000 0000 186a d667 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 27 1d -1 +d68e b7 -1 +-1 + +fdcb1e +2f39 2470 b521 6ca3 0000 0000 0000 0000 1066 da38 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 3a 1e -1 +da72 25 -1 +-1 + +fdcb1f +4cdd 49a3 da18 3afd 0000 0000 0000 0000 a4f1 2095 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 7b 1f -1 +2110 04 -1 +-1 + +fdcb20 +3d74 3a8f 206f 8894 0000 0000 0000 0000 ddab da25 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 7a 20 -1 +da9f 89 -1 +-1 + +fdcb21 +1674 6025 641a 6598 0000 0000 0000 0000 473b de36 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 7b 21 -1 +deb1 23 -1 +-1 + +fdcb22 +ada9 efb2 6f03 e732 0000 0000 0000 0000 c11d 8926 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 9a 22 -1 +88c0 d4 -1 +-1 + +fdcb23 +21e9 d678 a71b 25d7 0000 0000 0000 0000 4ca8 5255 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb f5 23 -1 +524a 65 -1 +-1 + +fdcb24 +1c51 da3e cc7c cb19 0000 0000 0000 0000 572c affe 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb b4 24 -1 +afb2 7e -1 +-1 + +fdcb25 +954e 097c a341 89e0 0000 0000 0000 0000 435d 23e9 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb a6 25 -1 +238f 26 -1 +-1 + +fdcb26 +5844 0e19 d277 bf7f 0000 0000 0000 0000 6504 d4e4 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb bd 26 -1 +d4a1 bf -1 +-1 + +fdcb27 +8e0d 8c06 2c4c d7c8 0000 0000 0000 0000 9239 8d42 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 59 27 -1 +8d9b a7 -1 +-1 + +fdcb28 +4122 af9b 7745 76f5 0000 0000 0000 0000 a1bb ab43 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 83 28 -1 +aac6 5d -1 +-1 + +fdcb29 +0b21 affd fea6 9478 0000 0000 0000 0000 32bb 0343 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 7d 29 -1 +03c0 84 -1 +-1 + +fdcb2a +f236 8c31 5932 7feb 0000 0000 0000 0000 7db7 abe7 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb f9 2a -1 +abe0 dd -1 +-1 + +fdcb2b +2450 6945 dcfc d643 0000 0000 0000 0000 5be1 4a94 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 4b 2b -1 +4adf 49 -1 +-1 + +fdcb2c +117f b32b e530 255a 0000 0000 0000 0000 2416 ccd1 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb e6 2c -1 +ccb7 3c -1 +-1 + +fdcb2d +d0c3 344b 1bb0 3eab 0000 0000 0000 0000 fe11 e4e6 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 5f 2d -1 +e545 78 -1 +-1 + +fdcb2e +f4ee b832 4b7f e2b7 0000 0000 0000 0000 9386 42fd 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 06 2e -1 +4303 ad -1 +-1 + +fdcb2f +ff86 f2c2 9f2f c946 0000 0000 0000 0000 5fe0 16b8 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 29 2f -1 +16e1 18 -1 +-1 + +fdcb30 +acf6 e832 f9ed cabc 0000 0000 0000 0000 fabd d646 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 1b 30 -1 +d661 a5 -1 +-1 + +fdcb31 +2b96 5134 83a7 7eee 0000 0000 0000 0000 7750 bfe0 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb f0 31 -1 +bfd0 f1 -1 +-1 + +fdcb32 +b2bc a4b1 b685 f66e 0000 0000 0000 0000 a9a1 5ade 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb c5 32 -1 +5aa3 59 -1 +-1 + +fdcb33 +9c6d 2c90 d0a9 2be3 0000 0000 0000 0000 2691 1964 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 7f 33 -1 +19e3 da -1 +-1 + +fdcb34 +6029 fbcd 5348 f947 0000 0000 0000 0000 5338 5696 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb d2 34 -1 +5668 d4 -1 +-1 + +fdcb35 +96a9 21c6 4cb6 b40b 0000 0000 0000 0000 673a 00f8 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 71 35 -1 +0169 0b -1 +-1 + +fdcb36 +dc6f 0892 3cc7 1494 0000 0000 0000 0000 8598 1ade 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb da 36 -1 +1ab8 3c -1 +-1 + +fdcb37 +d2b3 4524 208f 076f 0000 0000 0000 0000 ad10 e7ec 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb cb 37 -1 +e7b7 9f -1 +-1 + +fdcb38 +4f07 0050 40c6 4fb7 0000 0000 0000 0000 f37e d096 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 8e 38 -1 +d024 0d -1 +-1 + +fdcb39 +bcc2 f5b5 8dee e514 0000 0000 0000 0000 48bc f433 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 7f 39 -1 +f4b2 f5 -1 +-1 + +fdcb3a +d012 2ef5 2910 9ca5 0000 0000 0000 0000 b155 cb03 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 1d 3a -1 +cb20 a8 -1 +-1 + +fdcb3b +503d a85b cfbb de8c 0000 0000 0000 0000 9c5b d263 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 05 3b -1 +d268 b2 -1 +-1 + +fdcb3c +97f0 4456 0b52 fdad 0000 0000 0000 0000 6d2a a80f 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb ae 3c -1 +a7bd 96 -1 +-1 + +fdcb3d +7d44 9303 e12b bff6 0000 0000 0000 0000 4c0f e52a 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 13 3d -1 +e53d fb -1 +-1 + +fdcb3e +0d95 3e02 8f74 0f82 0000 0000 0000 0000 85df b2d1 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 2e 3e -1 +b2ff 50 -1 +-1 + +fdcb3f +89e3 12f6 426c 52d4 0000 0000 0000 0000 d9f7 c1ac 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 21 3f -1 +c1cd 78 -1 +-1 + +fdcb40 +5408 2c34 6784 b376 0000 0000 0000 0000 8ff9 4195 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 3b 40 -1 +41d0 0d -1 +-1 + +fdcb41 +8c35 5a58 b71c 6777 0000 0000 0000 0000 deca 03cb 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb cc 41 -1 +0397 e9 -1 +-1 + +fdcb42 +5535 9c29 2feb 97ff 0000 0000 0000 0000 7f17 9f56 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 01 42 -1 +9f57 a8 -1 +-1 + +fdcb43 +b404 e58c e62e 2a32 0000 0000 0000 0000 7130 1fd1 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 08 43 -1 +1fd9 aa -1 +-1 + +fdcb44 +a954 68f4 9fa4 7f66 0000 0000 0000 0000 0209 f4f3 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 03 44 -1 +f4f6 89 -1 +-1 + +fdcb45 +73e5 8dde 5e4f 84a7 0000 0000 0000 0000 4e24 93ed 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 8d 45 -1 +937a 8d -1 +-1 + +fdcb46 +0e5a b1f9 475f ebfc 0000 0000 0000 0000 7765 63b1 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 8c 46 -1 +633d fe -1 +-1 + +fdcb47 +9b3d 7f38 0753 d5e7 0000 0000 0000 0000 b9c3 6e0e 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 96 47 -1 +6da4 d6 -1 +-1 + +fdcb48 +7d94 50a9 2511 8f9f 0000 0000 0000 0000 b612 aba9 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 44 48 -1 +abed b0 -1 +-1 + +fdcb49 +691e 3a39 b834 74b6 0000 0000 0000 0000 0eb7 3e21 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 4e 49 -1 +3e6f a9 -1 +-1 + +fdcb4a +31e3 68e0 fe2f a2c4 0000 0000 0000 0000 ac96 e7db 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 52 4a -1 +e82d da -1 +-1 + +fdcb4b +09a1 2453 9186 a32a 0000 0000 0000 0000 71af 883f 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb ea 4b -1 +8829 4e -1 +-1 + +fdcb4c +4a52 1e5b be2e 3ee4 0000 0000 0000 0000 af79 7f22 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb ee 4c -1 +7f10 70 -1 +-1 + +fdcb4d +9f87 6c8f 34f4 5a79 0000 0000 0000 0000 d3cc a770 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 29 4d -1 +a799 78 -1 +-1 + +fdcb4e +30cb 5626 52bc 5503 0000 0000 0000 0000 303b e1c8 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 20 4e -1 +e1e8 aa -1 +-1 + +fdcb4f +6088 e079 7152 671f 0000 0000 0000 0000 8c22 1cf8 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 9d 4f -1 +1c95 18 -1 +-1 + +fdcb50 +8cde 1409 6d69 e5b2 0000 0000 0000 0000 4a0c c75f 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 6b 50 -1 +c7ca fe -1 +-1 + +fdcb51 +8f59 40cb 9543 9b3a 0000 0000 0000 0000 1942 3495 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 86 51 -1 +341b 13 -1 +-1 + +fdcb52 +8905 3e41 7ab4 37f6 0000 0000 0000 0000 f82d 8b0d 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb e6 52 -1 +8af3 87 -1 +-1 + +fdcb53 +efde e345 09a3 f0b2 0000 0000 0000 0000 c378 7ee1 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb d1 53 -1 +7eb2 e4 -1 +-1 + +fdcb54 +72a6 cb82 d966 2fc6 0000 0000 0000 0000 3c00 5b6b 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 08 54 -1 +5b73 07 -1 +-1 + +fdcb55 +855c c23b 6aab 9b00 0000 0000 0000 0000 fe93 b4b2 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 54 55 -1 +b506 46 -1 +-1 + +fdcb56 +f5ad f9f6 1e8c 9e08 0000 0000 0000 0000 716a 6932 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 6f 56 -1 +69a1 df -1 +-1 + +fdcb57 +37d7 b7dc be1c 38ea 0000 0000 0000 0000 5e82 a3bb 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 3c 57 -1 +a3f7 6c -1 +-1 + +fdcb58 +752c 7296 3ea5 1143 0000 0000 0000 0000 d7cc 1e94 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 4e 58 -1 +1ee2 f6 -1 +-1 + +fdcb59 +8056 bf2a 1809 ed31 0000 0000 0000 0000 fe2b fad3 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 2e 59 -1 +fb01 6f -1 +-1 + +fdcb5a +cc74 a108 65d4 6f66 0000 0000 0000 0000 0008 7bb8 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 88 5a -1 +7b40 6e -1 +-1 + +fdcb5b +5cf1 b3bd 25bd 98cf 0000 0000 0000 0000 2ba1 315c 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb e7 5b -1 +3143 b1 -1 +-1 + +fdcb5c +b3e0 d43d d9c0 b04d 0000 0000 0000 0000 21a9 543e 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 74 5c -1 +54b2 e3 -1 +-1 + +fdcb5d +9f49 43dd ccb3 085a 0000 0000 0000 0000 f130 3b84 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb dc 5d -1 +3b60 ef -1 +-1 + +fdcb5e +6f89 eff5 993b 22b5 0000 0000 0000 0000 0f30 e165 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb e2 5e -1 +e147 17 -1 +-1 + +fdcb5f +d72a a57a aca6 667e 0000 0000 0000 0000 5c33 f81b 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb ab 5f -1 +f7c6 e2 -1 +-1 + +fdcb60 +15e9 8d30 43f4 c65e 0000 0000 0000 0000 1e34 8c44 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 85 60 -1 +8bc9 b9 -1 +-1 + +fdcb61 +7bd1 d421 5570 cb85 0000 0000 0000 0000 32ec 92e4 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb be 61 -1 +92a2 28 -1 +-1 + +fdcb62 +ba2f 4fbb 67a7 c5db 0000 0000 0000 0000 470b 7eb1 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 9d 62 -1 +7e4e 1a -1 +-1 + +fdcb63 +c0a1 2cc2 ce12 e77c 0000 0000 0000 0000 71c5 1713 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb f4 63 -1 +1707 3b -1 +-1 + +fdcb64 +0c1f 7847 2494 71eb 0000 0000 0000 0000 315c b336 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 35 64 -1 +b36b 8c -1 +-1 + +fdcb65 +5245 a82d 1112 8f09 0000 0000 0000 0000 672a 89f4 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 37 65 -1 +8a2b 08 -1 +-1 + +fdcb66 +583f c13e b136 6bc5 0000 0000 0000 0000 3ef9 6948 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 9d 66 -1 +68e5 90 -1 +-1 + +fdcb67 +31b6 0f7d 48b5 cc5f 0000 0000 0000 0000 2103 6572 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb cb 67 -1 +653d 15 -1 +-1 + +fdcb68 +e330 39fb a03a 59bc 0000 0000 0000 0000 e04a 03be 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb ca 68 -1 +0388 83 -1 +-1 + +fdcb69 +1896 5bc2 d4d9 4e8a 0000 0000 0000 0000 3716 a603 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb e2 69 -1 +a5e5 01 -1 +-1 + +fdcb6a +5bc9 0099 34f8 3e96 0000 0000 0000 0000 f251 93be 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb ae 6a -1 +936c 33 -1 +-1 + +fdcb6b +bbe5 9e6c abd1 515f 0000 0000 0000 0000 73db aa2f 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 1f 6b -1 +aa4e 7c -1 +-1 + +fdcb6c +144b 3af2 8f80 7be5 0000 0000 0000 0000 c379 86ba 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 0d 6c -1 +86c7 25 -1 +-1 + +fdcb6d +6392 d077 668d 6e4a 0000 0000 0000 0000 b0a8 62c8 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb f0 6d -1 +62b8 e3 -1 +-1 + +fdcb6e +2da0 f872 692d 92c4 0000 0000 0000 0000 36b5 4210 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 93 6e -1 +41a3 1e -1 +-1 + +fdcb6f +df7b c7aa 9002 86b8 0000 0000 0000 0000 1347 004e 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 20 6f -1 +006e 37 -1 +-1 + +fdcb70 +6ea9 018d 5075 cf4e 0000 0000 0000 0000 cd2b 3e68 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb d9 70 -1 +3e41 c9 -1 +-1 + +fdcb71 +1b48 e3af 94d5 0996 0000 0000 0000 0000 cad5 999a 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 27 71 -1 +99c1 3e -1 +-1 + +fdcb72 +e83b 26b1 8608 f3cb 0000 0000 0000 0000 6323 fd31 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 98 72 -1 +fcc9 4f -1 +-1 + +fdcb73 +101b 446c c2f9 b9b1 0000 0000 0000 0000 0820 f5d8 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 7a 73 -1 +f652 31 -1 +-1 + +fdcb74 +6847 38c2 0ea4 0825 0000 0000 0000 0000 d255 5e4a 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 4b 74 -1 +5e95 fe -1 +-1 + +fdcb75 +56f2 c034 6e11 d35e 0000 0000 0000 0000 e702 60be 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 57 75 -1 +6115 21 -1 +-1 + +fdcb76 +7375 caff dd80 c8ed 0000 0000 0000 0000 7e39 6623 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 53 76 -1 +6676 3a -1 +-1 + +fdcb77 +ab10 983e 0bdc 3b46 0000 0000 0000 0000 ae51 8841 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 02 77 -1 +8843 d8 -1 +-1 + +fdcb78 +2765 ce2f 4824 6930 0000 0000 0000 0000 ae69 fecb 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 7d 78 -1 +ff48 ec -1 +-1 + +fdcb79 +b428 6355 7896 8a7c 0000 0000 0000 0000 9090 1cae 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 23 79 -1 +1cd1 87 -1 +-1 + +fdcb7a +59f4 ca21 1482 3fae 0000 0000 0000 0000 c6c9 d923 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 42 7a -1 +d965 b3 -1 +-1 + +fdcb7b +6314 0240 5efa 5e7b 0000 0000 0000 0000 3e50 0a83 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 17 7b -1 +0a9a bd -1 +-1 + +fdcb7c +22a6 aff4 b89b 4dca 0000 0000 0000 0000 0ac2 d371 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb f1 7c -1 +d362 1b -1 +-1 + +fdcb7d +1c95 d615 825a 5e64 0000 0000 0000 0000 32fb ac3b 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 9f 7d -1 +abda 8a -1 +-1 + +fdcb7e +503c 8dfe 1019 6778 0000 0000 0000 0000 f7df 9484 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 40 7e -1 +94c4 9e -1 +-1 + +fdcb7f +1b07 9ec3 14be 5ebe 0000 0000 0000 0000 1178 ce69 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb a2 7f -1 +ce0b 47 -1 +-1 + +fdcb80 +e196 72ea 507e 6457 0000 0000 0000 0000 ab75 920d 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 8b 80 -1 +9198 a9 -1 +-1 + +fdcb81 +3d3d b255 8759 0cb0 0000 0000 0000 0000 e078 82a5 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 55 81 -1 +82fa fa -1 +-1 + +fdcb82 +4e10 5d8d 27a0 ffff 0000 0000 0000 0000 ee0a 5dd8 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 9c 82 -1 +5d74 9d -1 +-1 + +fdcb83 +3c7f fd81 47fb 9f12 0000 0000 0000 0000 cbf9 374a 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 28 83 -1 +3772 d5 -1 +-1 + +fdcb84 +6872 81b1 1e7a e37e 0000 0000 0000 0000 9b4c f1c3 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb aa 84 -1 +f16d ea -1 +-1 + +fdcb85 +25b3 5694 57cd f34d 0000 0000 0000 0000 8ed2 0433 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 6c 85 -1 +049f e0 -1 +-1 + +fdcb86 +152b 8ce1 818d 40f2 0000 0000 0000 0000 9b7a 2a50 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 7e 86 -1 +2ace 36 -1 +-1 + +fdcb87 +fe1d 5353 618d 3266 0000 0000 0000 0000 1a53 246a 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 59 87 -1 +24c3 65 -1 +-1 + +fdcb88 +7d14 a0ec 1e47 76e1 0000 0000 0000 0000 3871 c60d 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb d4 88 -1 +c5e1 d6 -1 +-1 + +fdcb89 +86c3 50a6 8592 d6ca 0000 0000 0000 0000 947b 0a01 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb c3 89 -1 +09c4 b0 -1 +-1 + +fdcb8a +599c 961a 55f9 8470 0000 0000 0000 0000 d2a5 d4d2 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb f9 8a -1 +d4cb d8 -1 +-1 + +fdcb8b +2715 a209 ab47 3eac 0000 0000 0000 0000 f352 c71e 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb ed 8b -1 +c70b dc -1 +-1 + +fdcb8c +2818 4259 a9b0 e7a0 0000 0000 0000 0000 6471 a202 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 97 8c -1 +a199 67 -1 +-1 + +fdcb8d +14e3 c330 9aa2 8418 0000 0000 0000 0000 0d4f 5669 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb c9 8d -1 +5632 9a -1 +-1 + +fdcb8e +cb79 0fff b244 c902 0000 0000 0000 0000 6246 4c81 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb c2 8e -1 +4c43 7f -1 +-1 + +fdcb8f +66b4 5fbb 6c9b d0e3 0000 0000 0000 0000 ac5a 6b51 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb d4 8f -1 +6b25 59 -1 +-1 + +fdcb90 +1305 1ce1 d627 7402 0000 0000 0000 0000 b470 d7f5 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb fd 90 -1 +d7f2 70 -1 +-1 + +fdcb91 +10df c48f 0213 fc7e 0000 0000 0000 0000 bfab 47d2 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb bf 91 -1 +4791 0e -1 +-1 + +fdcb92 +6a11 f89e f49d c115 0000 0000 0000 0000 bc5d 313a 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 0b 92 -1 +3145 f6 -1 +-1 + +fdcb93 +61e5 cc2c 959a b52b 0000 0000 0000 0000 fa64 2940 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 52 93 -1 +2992 38 -1 +-1 + +fdcb94 +31b4 3e5a fb3d ab83 0000 0000 0000 0000 a801 fe1c 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 95 94 -1 +fdb1 48 -1 +-1 + +fdcb95 +337e 63a7 2918 ed6b 0000 0000 0000 0000 b12c e776 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 90 95 -1 +e706 eb -1 +-1 + +fdcb96 +5d99 d9ec b6d0 5ed5 0000 0000 0000 0000 5d9d e6cf 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 9e 96 -1 +e66d fc -1 +-1 + +fdcb97 +ccb6 8406 72c6 1ba7 0000 0000 0000 0000 6dca 187f 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 64 97 -1 +18e3 9d -1 +-1 + +fdcb98 +0495 312f 8000 b749 0000 0000 0000 0000 e9cb 43b8 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb da 98 -1 +4392 15 -1 +-1 + +fdcb99 +2824 a485 a30b b286 0000 0000 0000 0000 10b0 d86c 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 78 99 -1 +d8e4 b5 -1 +-1 + +fdcb9a +b0cc c40c dc1a 014a 0000 0000 0000 0000 2ff9 d717 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 9c 9a -1 +d6b3 9d -1 +-1 + +fdcb9b +d092 a6c2 7900 5448 0000 0000 0000 0000 fab0 cb1e 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 83 9b -1 +caa1 95 -1 +-1 + +fdcb9c +b58d 1ed1 e93b 9e0c 0000 0000 0000 0000 5605 03b3 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 1e 9c -1 +03d1 78 -1 +-1 + +fdcb9d +c7e9 18d3 8eed bd7d 0000 0000 0000 0000 9a7f c087 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb e6 9d -1 +c06d 53 -1 +-1 + +fdcb9e +81c7 71df 45d5 0ca7 0000 0000 0000 0000 648f 41bd 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb eb 9e -1 +41a8 61 -1 +-1 + +fdcb9f +ebf5 dc9f d490 15be 0000 0000 0000 0000 0e12 9d49 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 50 9f -1 +9d99 89 -1 +-1 + +fdcba0 +8ccb 0057 bc19 e543 0000 0000 0000 0000 8c5d d68d 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 76 a0 -1 +d703 d4 -1 +-1 + +fdcba1 +eee6 6da4 3a20 8bba 0000 0000 0000 0000 1de7 66c8 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 31 a1 -1 +66f9 ec -1 +-1 + +fdcba2 +3f89 5120 0bd1 e669 0000 0000 0000 0000 2993 04bf 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 0e a2 -1 +04cd 47 -1 +-1 + +fdcba3 +4439 6b8b 6178 1246 0000 0000 0000 0000 4cdb ad77 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 05 a3 -1 +ad7c 59 -1 +-1 + +fdcba4 +3385 261e a487 b3bd 0000 0000 0000 0000 4b8f c0cd 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 66 a4 -1 +c133 c5 -1 +-1 + +fdcba5 +6e70 b7ed 22cd aedc 0000 0000 0000 0000 46de f1a1 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb a0 a5 -1 +f141 44 -1 +-1 + +fdcba6 +814b 6408 3dcb 971f 0000 0000 0000 0000 5716 93f3 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 76 a6 -1 +9469 bc -1 +-1 + +fdcba7 +a4c2 679e c313 61df 0000 0000 0000 0000 67e6 79c4 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 66 a7 -1 +7a2a 2e -1 +-1 + +fdcba8 +537c 1fed 6cbb bd26 0000 0000 0000 0000 c638 0d46 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb a9 a8 -1 +0cef b7 -1 +-1 + +fdcba9 +ba5a 3076 cdd7 298d 0000 0000 0000 0000 59ab 0f54 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 2b a9 -1 +0f7f 8f -1 +-1 + +fdcbaa +406a 2ed6 fa8c c633 0000 0000 0000 0000 87cb b3d1 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 0b aa -1 +b3dc 3a -1 +-1 + +fdcbab +da61 0521 a123 c7fa 0000 0000 0000 0000 b71a 8ece 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb a9 ab -1 +8e77 1f -1 +-1 + +fdcbac +34a3 81ce 07d6 f3a4 0000 0000 0000 0000 430b 0525 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 23 ac -1 +0548 9c -1 +-1 + +fdcbad +5010 918e ddbc 4f89 0000 0000 0000 0000 88c5 948f 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 4e ad -1 +94dd 37 -1 +-1 + +fdcbae +ec0d b57e 18c6 7b01 0000 0000 0000 0000 bac6 0c1d 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 0c ae -1 +0c29 a9 -1 +-1 + +fdcbaf +b322 6731 daad 8d38 0000 0000 0000 0000 dd8f 26eb 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 0d af -1 +26f8 44 -1 +-1 + +fdcbb0 +b984 796c 44b1 fef9 0000 0000 0000 0000 4069 a0cb 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 5a b0 -1 +a125 76 -1 +-1 + +fdcbb1 +59c3 ab13 42ee b764 0000 0000 0000 0000 8f7f f398 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 82 b1 -1 +f31a 79 -1 +-1 + +fdcbb2 +f310 ceec bbfb 3569 0000 0000 0000 0000 4a6f 33f9 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 23 b2 -1 +341c 7b -1 +-1 + +fdcbb3 +9c05 0f92 bd3b 553d 0000 0000 0000 0000 c75e 51d2 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 6c b3 -1 +523e 37 -1 +-1 + +fdcbb4 +3e55 1338 638d 353c 0000 0000 0000 0000 44ad 4d17 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb c5 b4 -1 +4cdc e9 -1 +-1 + +fdcbb5 +2f3a b709 4167 57be 0000 0000 0000 0000 b543 8edd 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 50 b5 -1 +8f2d 0f -1 +-1 + +fdcbb6 +a887 519b c91b cc91 0000 0000 0000 0000 a416 1e16 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 3a b6 -1 +1e50 13 -1 +-1 + +fdcbb7 +1335 a599 9fbf c111 0000 0000 0000 0000 8bc5 00a9 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb c0 b7 -1 +0069 38 -1 +-1 + +fdcbb8 +d146 1138 1a45 8259 0000 0000 0000 0000 6a03 d087 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 31 b8 -1 +d0b8 17 -1 +-1 + +fdcbb9 +757b 0b9e 767b 2ad1 0000 0000 0000 0000 1498 b84e 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 3b b9 -1 +b889 b4 -1 +-1 + +fdcbba +43ef 1c58 dda3 4519 0000 0000 0000 0000 b67b 383f 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 38 ba -1 +3877 d6 -1 +-1 + +fdcbbb +dccb 7ab3 7615 4161 0000 0000 0000 0000 2942 e2fe 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 07 bb -1 +e305 6e -1 +-1 + +fdcbbc +0e07 34f5 0995 cc42 0000 0000 0000 0000 9d42 af0c 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb f8 bc -1 +af04 cf -1 +-1 + +fdcbbd +30ef e60c 9bf0 a1bf 0000 0000 0000 0000 bd1c df0d 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb aa bd -1 +deb7 8d -1 +-1 + +fdcbbe +1133 bef6 5059 1089 0000 0000 0000 0000 d558 3d0f 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb c8 be -1 +3cd7 a1 -1 +-1 + +fdcbbf +83d6 c893 8db8 716b 0000 0000 0000 0000 0956 bde7 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb fd bf -1 +bde4 ac -1 +-1 + +fdcbc0 +3666 676c 35e5 db0a 0000 0000 0000 0000 ea93 2b31 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 0a c0 -1 +2b3b ec -1 +-1 + +fdcbc1 +3902 d498 af62 9821 0000 0000 0000 0000 48b8 bd67 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 87 c1 -1 +bcee ee -1 +-1 + +fdcbc2 +ad26 5a6d 6762 16c9 0000 0000 0000 0000 495a 5b2c 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 8d c2 -1 +5ab9 c2 -1 +-1 + +fdcbc3 +3e6c 9a74 a2ee 9838 0000 0000 0000 0000 eafa e666 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 5a c3 -1 +e6c0 4f -1 +-1 + +fdcbc4 +bf68 d00b 5283 51c2 0000 0000 0000 0000 517c 5d10 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 89 c4 -1 +5c99 61 -1 +-1 + +fdcbc5 +127b db6a 00b9 5138 0000 0000 0000 0000 98f6 02bb 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb a9 c5 -1 +0264 cd -1 +-1 + +fdcbc6 +35da 98c2 3f57 44a4 0000 0000 0000 0000 2771 76c4 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb ee c6 -1 +76b2 82 -1 +-1 + +fdcbc7 +763f b86f 12d3 7e2d 0000 0000 0000 0000 d870 f30b 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 9e c7 -1 +f2a9 d7 -1 +-1 + +fdcbc8 +1f81 c7c0 85da 3cdd 0000 0000 0000 0000 d854 c412 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 10 c8 -1 +c422 e9 -1 +-1 + +fdcbc9 +ed19 3f88 1370 e084 0000 0000 0000 0000 4fdd 8b42 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 61 c9 -1 +8ba3 b7 -1 +-1 + +fdcbca +c7e5 233b 2312 f7f9 0000 0000 0000 0000 e417 5190 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 1a ca -1 +51aa 90 -1 +-1 + +fdcbcb +bdba a964 ea38 9422 0000 0000 0000 0000 fca3 9a72 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 5e cb -1 +9ad0 70 -1 +-1 + +fdcbcc +0f4f 0261 21b0 2097 0000 0000 0000 0000 575d 14f9 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 2d cc -1 +1526 4e -1 +-1 + +fdcbcd +1b79 8f9f 31bf 9ca6 0000 0000 0000 0000 7ecb bbe9 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb a1 cd -1 +bb8a 66 -1 +-1 + +fdcbce +8e13 968e 1784 0a0a 0000 0000 0000 0000 1e87 b8a2 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 36 ce -1 +b8d8 45 -1 +-1 + +fdcbcf +8d0a a073 c4ba 5b69 0000 0000 0000 0000 3b47 c29c 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 70 cf -1 +c30c 7a -1 +-1 + +fdcbd0 +e2bb 8635 650c 689a 0000 0000 0000 0000 1294 3beb 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb bc d0 -1 +3ba7 20 -1 +-1 + +fdcbd1 +5df8 f701 9494 4967 0000 0000 0000 0000 ad00 8c65 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 11 d1 -1 +8c76 b9 -1 +-1 + +fdcbd2 +9876 4bd9 3148 665a 0000 0000 0000 0000 7eac c051 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb fb d2 -1 +c04c 51 -1 +-1 + +fdcbd3 +8f90 bacd e87a 538f 0000 0000 0000 0000 fe5a 0a87 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 3e d3 -1 +0ac5 e0 -1 +-1 + +fdcbd4 +15e2 1820 5588 e67f 0000 0000 0000 0000 7193 9478 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 36 d4 -1 +94ae 7d -1 +-1 + +fdcbd5 +1409 6535 c371 abe2 0000 0000 0000 0000 2e10 8608 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 48 d5 -1 +8650 98 -1 +-1 + +fdcbd6 +7801 78b6 d191 054a 0000 0000 0000 0000 2065 6aa3 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb c9 d6 -1 +6a6c 7c -1 +-1 + +fdcbd7 +1b6a 266e 387f 7fcb 0000 0000 0000 0000 1941 36ab 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb be d7 -1 +3669 95 -1 +-1 + +fdcbd8 +7b1b a191 efee 55b9 0000 0000 0000 0000 f789 43f8 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb bc d8 -1 +43b4 d8 -1 +-1 + +fdcbd9 +0faf 4eda c556 6ed3 0000 0000 0000 0000 3fc3 0a66 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 16 d9 -1 +0a7c f4 -1 +-1 + +fdcbda +9ea1 8186 c045 d6e0 0000 0000 0000 0000 34d3 d0f0 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb e8 da -1 +d0d8 6b -1 +-1 + +fdcbdb +5ee0 bdea d00e 513f 0000 0000 0000 0000 690a 8c29 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 7a db -1 +8ca3 15 -1 +-1 + +fdcbdc +5cfa 2e2b 1d17 dbf6 0000 0000 0000 0000 a4f2 593a 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 64 dc -1 +599e 15 -1 +-1 + +fdcbdd +8773 70a6 83ce 52b8 0000 0000 0000 0000 35da 1d94 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 75 dd -1 +1e09 28 -1 +-1 + +fdcbde +8310 fa01 6c69 252a 0000 0000 0000 0000 5291 c9e0 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 17 de -1 +c9f7 41 -1 +-1 + +fdcbdf +780d a722 e78e 50ba 0000 0000 0000 0000 9d67 eac3 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 93 df -1 +ea56 ef -1 +-1 + +fdcbe0 +10ef 4101 2ca5 f752 0000 0000 0000 0000 4747 1507 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 56 e0 -1 +155d b9 -1 +-1 + +fdcbe1 +e4cb 6f72 1c11 1426 0000 0000 0000 0000 189b 0e0d 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb d1 e1 -1 +0dde 16 -1 +-1 + +fdcbe2 +11a9 bae8 938b bac4 0000 0000 0000 0000 d8ed e49c 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 50 e2 -1 +e4ec c2 -1 +-1 + +fdcbe3 +8832 952b 02b2 26ef 0000 0000 0000 0000 fb55 ada8 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb ca e3 -1 +ad72 ba -1 +-1 + +fdcbe4 +3989 4142 89e2 785b 0000 0000 0000 0000 0bf7 5474 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 62 e4 -1 +54d6 7b -1 +-1 + +fdcbe5 +e5c5 b86d 41bb 315e 0000 0000 0000 0000 1a78 a52d 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb da e5 -1 +a507 4c -1 +-1 + +fdcbe6 +fd89 d888 1e2f ddf5 0000 0000 0000 0000 42f5 8b06 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 76 e6 -1 +8b7c 45 -1 +-1 + +fdcbe7 +2025 d3e9 d4b6 aa30 0000 0000 0000 0000 88bd b597 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 11 e7 -1 +b5a8 a6 -1 +-1 + +fdcbe8 +514d c2ab 37b5 57de 0000 0000 0000 0000 a4ec 0a77 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb ed e8 -1 +0a64 d0 -1 +-1 + +fdcbe9 +974e d28e d5cb 6bd4 0000 0000 0000 0000 158a a84e 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 35 e9 -1 +a883 2f -1 +-1 + +fdcbea +3ef4 3fc6 4a44 e9a4 0000 0000 0000 0000 c877 7593 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 93 ea -1 +7526 1b -1 +-1 + +fdcbeb +798f 5e9b 940e 2e52 0000 0000 0000 0000 d6ad 2411 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb d0 eb -1 +23e1 47 -1 +-1 + +fdcbec +38a4 07c0 6cee e715 0000 0000 0000 0000 f160 d2eb 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb f3 ec -1 +d2de 49 -1 +-1 + +fdcbed +e0bc 70c1 de35 81c5 0000 0000 0000 0000 d57f 0eab 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 58 ed -1 +0f03 10 -1 +-1 + +fdcbee +5fcb 9007 1736 aca8 0000 0000 0000 0000 4bab 42bc 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 02 ee -1 +42be d0 -1 +-1 + +fdcbef +4ee3 d344 cb5b aeb5 0000 0000 0000 0000 de5f 2272 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 58 ef -1 +22ca 09 -1 +-1 + +fdcbf0 +1080 b270 1b5b a9b7 0000 0000 0000 0000 e89d ee9e 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 45 f0 -1 +eee3 2c -1 +-1 + +fdcbf1 +1702 c43b d138 316f 0000 0000 0000 0000 8067 4783 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 2f f1 -1 +47b2 dc -1 +-1 + +fdcbf2 +732a 4cd1 77fe 4814 0000 0000 0000 0000 42f1 ea97 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 2c f2 -1 +eac3 5e -1 +-1 + +fdcbf3 +6b97 59d3 f546 7530 0000 0000 0000 0000 6670 7d90 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 38 f3 -1 +7dc8 0c -1 +-1 + +fdcbf4 +7af0 a81f 5d3a 799b 0000 0000 0000 0000 e12b 309c 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb d0 f4 -1 +306c 0e -1 +-1 + +fdcbf5 +1370 f6b2 aaa2 7f0a 0000 0000 0000 0000 c9f6 6b1f 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 55 f5 -1 +6b74 f8 -1 +-1 + +fdcbf6 +7c43 fcd1 34bd f4ab 0000 0000 0000 0000 ef33 c61a 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 56 f6 -1 +c670 5d -1 +-1 + +fdcbf7 +e6da 231a 7bb1 800d 0000 0000 0000 0000 e37e 5789 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 9e f7 -1 +5727 66 -1 +-1 + +fdcbf8 +fa29 ee74 d7c4 afaf 0000 0000 0000 0000 512c de7a 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 54 f8 -1 +dece 7a -1 +-1 + +fdcbf9 +4662 a71b 5065 ed06 0000 0000 0000 0000 279e 99e3 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 30 f9 -1 +9a13 c6 -1 +-1 + +fdcbfa +9426 53ec 5016 6c99 0000 0000 0000 0000 8b99 bd79 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 09 fa -1 +bd82 f4 -1 +-1 + +fdcbfb +5343 b212 09ca e3c6 0000 0000 0000 0000 cd2b f875 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb ba fb -1 +f82f ed -1 +-1 + +fdcbfc +0965 4392 ca25 2baa 0000 0000 0000 0000 f023 6623 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 56 fc -1 +6679 65 -1 +-1 + +fdcbfd +1751 233c 6214 d119 0000 0000 0000 0000 c415 5d2b 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 25 fd -1 +5d50 27 -1 +-1 + +fdcbfe +b4cf 5639 677b 0ca2 0000 0000 0000 0000 ddc5 4e4f 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 88 fe -1 +4dd7 4a -1 +-1 + +fdcbff +f151 13da 7c56 f025 0000 0000 0000 0000 2b36 2aed 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb e4 ff -1 +2ad1 97 -1 +-1 + +fde1 +828e 078b 1e35 8f1c 0000 0000 0000 0000 4827 b742 716e 0000 +00 00 0 0 0 0 1 +0000 fd e1 -1 +716e d5 92 -1 +-1 + +fde3 +4298 c805 6030 4292 0000 0000 0000 0000 473b 9510 1a38 0000 +00 00 0 0 0 0 1 +0000 fd e3 -1 +1a38 e0 0f -1 +-1 + +fde5 +d139 aa0d bf2b 2a56 0000 0000 0000 0000 e138 d4da a8e1 0000 +00 00 0 0 0 0 1 +0000 fd e5 -1 +-1 + +fde9 +c14f 2eb6 edf0 27cf 0000 0000 0000 0000 09ee a2a4 0000 0000 +00 00 0 0 0 0 1 +0000 fd e9 -1 +-1 + +fdf9 +c260 992e d544 67fb 0000 0000 0000 0000 ba5e 3596 353f 0000 +00 00 0 0 0 0 1 +0000 fd f9 -1 +-1 + +fe +6900 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 fe 82 -1 +-1 + +ff +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 5507 6d33 +00 00 0 0 0 0 1 +6d33 ff -1 +-1 \ No newline at end of file diff --git a/src/z80free/tests.z80free b/src/z80free/tests.z80free new file mode 100644 index 0000000..94c4cd3 --- /dev/null +++ b/src/z80free/tests.z80free @@ -0,0 +1,14752 @@ +00 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 00 -1 +-1 +-1 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +01 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 01 12 34 -1 +-1 +-1 +0000 3412 0000 0000 0000 0000 0000 0000 0000 0000 0000 0003 +00 01 0 0 0 0 10 +-1 + +02 +5600 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 02 -1 +-1 +-1 +5600 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 +0001 56 -1 +-1 + +03 +0000 789a 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 03 -1 +-1 +-1 +0000 789b 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 6 +-1 + +04 +0000 ff00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 04 -1 +-1 +-1 +0050 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +05 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 05 -1 +-1 +-1 +00ba ff00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +06 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 06 bc -1 +-1 +-1 +0000 bc00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 +-1 + +07 +8800 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 07 -1 +-1 +-1 +1101 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +08 +def0 0000 0000 0000 1234 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 08 -1 +-1 +-1 +1234 0000 0000 0000 def0 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +09 +0000 5678 0000 9abc 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 09 -1 +-1 +-1 +0030 5678 0000 f134 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 11 +-1 + +0a +0000 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 0a de -1 +-1 +-1 +de00 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 +-1 + +0b +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 0b -1 +-1 +-1 +0000 ffff 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 6 +-1 + +0c +0000 007f 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 0c -1 +-1 +-1 +0094 0080 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +0d +0000 0080 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 0d -1 +-1 +-1 +003e 007f 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +0e +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 0e f0 -1 +-1 +-1 +0000 00f0 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 +-1 + +0f +4100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 0f -1 +-1 +-1 +a021 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +10 +0000 0800 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 132 +0000 00 10 fd 0c -1 +-1 +-1 +0000 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 0004 +00 11 0 0 0 0 135 +-1 + +11 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 11 9a bc -1 +-1 +-1 +0000 0000 bc9a 0000 0000 0000 0000 0000 0000 0000 0000 0003 +00 01 0 0 0 0 10 +-1 + +12 +5600 0000 8000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 12 -1 +-1 +-1 +5600 0000 8000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 +8000 56 -1 +-1 + +13 +0000 0000 def0 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 13 -1 +-1 +-1 +0000 0000 def1 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 6 +-1 + +14 +0000 0000 2700 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 14 -1 +-1 +-1 +0028 0000 2800 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +15 +0000 0000 1000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 15 -1 +-1 +-1 +001a 0000 0f00 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +16 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 16 12 -1 +-1 +-1 +0000 0000 1200 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 +-1 + +17 +0801 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 17 -1 +-1 +-1 +1100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +18 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 18 40 -1 +-1 +-1 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0042 +00 01 0 0 0 0 12 +-1 + +19 +0000 0000 3456 789a 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 19 -1 +-1 +-1 +0028 0000 3456 acf0 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 11 +-1 + +1a +0000 0000 8000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 1a -1 +8000 13 -1 +-1 +-1 +1300 0000 8000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 +-1 + +1b +0000 0000 e5d4 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 1b -1 +-1 +-1 +0000 0000 e5d3 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 6 +-1 + +1c +0000 0000 00aa 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 1c -1 +-1 +-1 +00a8 0000 00ab 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +1d +0000 0000 00aa 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 1d -1 +-1 +-1 +00aa 0000 00a9 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +1e +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 1e ef -1 +-1 +-1 +0000 0000 00ef 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 +-1 + +1f +01c4 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 1f -1 +-1 +-1 +00c5 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +20_1 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 20 40 -1 +-1 +-1 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0042 +00 01 0 0 0 0 12 +-1 + +20_2 +0040 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 20 40 -1 +-1 +-1 +0040 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 +-1 + +21 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 21 28 ed -1 +-1 +-1 +0000 0000 0000 ed28 0000 0000 0000 0000 0000 0000 0000 0003 +00 01 0 0 0 0 10 +-1 + +22 +0000 0000 0000 c64c 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 22 b0 c3 -1 +-1 +-1 +0000 0000 0000 c64c 0000 0000 0000 0000 0000 0000 0000 0003 +00 01 0 0 0 0 16 +c3b0 4c c6 -1 +-1 + +23 +0000 0000 0000 9c4e 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 23 -1 +-1 +-1 +0000 0000 0000 9c4f 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 6 +-1 + +24 +0000 0000 0000 7200 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 24 -1 +-1 +-1 +0020 0000 0000 7300 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +25 +0000 0000 0000 a500 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 25 -1 +-1 +-1 +00a2 0000 0000 a400 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +26 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 26 3a -1 +-1 +-1 +0000 0000 0000 3a00 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 +-1 + +27_1 +9a02 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 27 -1 +-1 +-1 +3423 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +27 +1f00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 27 -1 +-1 +-1 +2530 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +28_1 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 28 8e -1 +-1 +-1 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 +-1 + +28_2 +0040 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 28 8e -1 +-1 +-1 +0040 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 ff90 +00 01 0 0 0 0 12 +-1 + +29 +0000 0000 0000 cdfa 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 29 -1 +-1 +-1 +0019 0000 0000 9bf4 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 11 +-1 + +2a +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 2a 45 ac -1 +ac45 c4 de -1 +-1 +-1 +0000 0000 0000 dec4 0000 0000 0000 0000 0000 0000 0000 0003 +00 01 0 0 0 0 16 +-1 + +2b +0000 0000 0000 9e66 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 2b -1 +-1 +-1 +0000 0000 0000 9e65 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 6 +-1 + +2c +0000 0000 0000 0026 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 2c -1 +-1 +-1 +0020 0000 0000 0027 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +2d +0000 0000 0000 0032 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 2d -1 +-1 +-1 +0022 0000 0000 0031 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +2e +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 2e 18 -1 +-1 +-1 +0000 0000 0000 0018 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 +-1 + +2f +8900 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 2f -1 +-1 +-1 +7632 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +30_1 +0036 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 30 50 -1 +-1 +-1 +0036 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0052 +00 01 0 0 0 0 12 +-1 + +30_2 +0037 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 30 50 -1 +-1 +-1 +0037 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 +-1 + +31 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 31 d4 61 -1 +-1 +-1 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 61d4 0003 +00 01 0 0 0 0 10 +-1 + +32 +0e00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 32 ac ad -1 +-1 +-1 +0e00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0003 +00 01 0 0 0 0 13 +adac 0e -1 +-1 + +33 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 a55a 0000 +00 00 0 0 0 0 1 +0000 33 -1 +-1 +-1 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 a55b 0001 +00 01 0 0 0 0 6 +-1 + +34 +0000 0000 0000 fe1d 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 34 -1 +fe1d fd -1 +-1 +-1 +00a8 0000 0000 fe1d 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 11 +fe1d fe -1 +-1 + +35 +0000 0000 0000 470c 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 35 -1 +470c 82 -1 +-1 +-1 +0082 0000 0000 470c 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 11 +470c 81 -1 +-1 + +36 +0000 0000 0000 7d29 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 36 7c -1 +-1 +-1 +0000 0000 0000 7d29 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 10 +7d29 7c -1 +-1 + +37_1 +00ff 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 37 -1 +-1 +-1 +00c5 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +37_2 +ff00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 37 -1 +-1 +-1 +ff29 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +37_3 +ffff 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 37 -1 +-1 +-1 +ffed 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +37 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 37 -1 +-1 +-1 +0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +38_1 +00b2 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 38 66 -1 +-1 +-1 +00b2 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 +-1 + +38_2 +00b3 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 38 66 -1 +-1 +-1 +00b3 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0068 +00 01 0 0 0 0 12 +-1 + +39 +0000 0000 0000 1aef 0000 0000 0000 0000 0000 0000 c534 0000 +00 00 0 0 0 0 1 +0000 29 -1 +-1 +-1 +0030 0000 0000 35de 0000 0000 0000 0000 0000 0000 c534 0001 +00 01 0 0 0 0 11 +-1 + +3a +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 3a 52 99 -1 +9952 28 -1 +-1 +-1 +2800 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0003 +00 01 0 0 0 0 13 +-1 + +3b +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 9d36 0000 +00 00 0 0 0 0 1 +0000 3b -1 +-1 +-1 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 9d35 0001 +00 01 0 0 0 0 6 +-1 + +3c +cf00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 3c -1 +-1 +-1 +d090 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +3d +ea00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 3d -1 +-1 +-1 +e9aa 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +3e +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 3e d6 -1 +-1 +-1 +d600 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 +-1 + +3f +005b 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 3f -1 +-1 +-1 +0050 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +40 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 40 -1 +a169 50 -1 +-1 +-1 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +41 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 41 -1 +a169 50 -1 +-1 +-1 +0200 9898 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +42 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 42 -1 +a169 50 -1 +-1 +-1 +0200 9098 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +43 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 43 -1 +a169 50 -1 +-1 +-1 +0200 d898 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +44 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 44 -1 +a169 50 -1 +-1 +-1 +0200 a198 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +45 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 45 -1 +a169 50 -1 +-1 +-1 +0200 6998 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +46 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 46 -1 +a169 50 -1 +-1 +-1 +0200 5098 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 +-1 + +47 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 47 -1 +a169 50 -1 +-1 +-1 +0200 0298 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +48 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 48 -1 +a169 50 -1 +-1 +-1 +0200 cfcf 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +49 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 49 -1 +a169 50 -1 +-1 +-1 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +4a +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 4a -1 +a169 50 -1 +-1 +-1 +0200 cf90 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +4b +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 4b -1 +a169 50 -1 +-1 +-1 +0200 cfd8 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +4c +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 4c -1 +a169 50 -1 +-1 +-1 +0200 cfa1 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +4d +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 4d -1 +a169 50 -1 +-1 +-1 +0200 cf69 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +4e +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 4e -1 +a169 50 -1 +-1 +-1 +0200 cf50 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 +-1 + +4f +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 4f -1 +a169 50 -1 +-1 +-1 +0200 cf02 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +50 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 50 -1 +a169 50 -1 +-1 +-1 +0200 cf98 cfd8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +51 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 51 -1 +a169 50 -1 +-1 +-1 +0200 cf98 98d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +52 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 52 -1 +a169 50 -1 +-1 +-1 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +53 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 53 -1 +a169 50 -1 +-1 +-1 +0200 cf98 d8d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +54 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 54 -1 +a169 50 -1 +-1 +-1 +0200 cf98 a1d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +55 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 55 -1 +a169 50 -1 +-1 +-1 +0200 cf98 69d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +56 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 56 -1 +a169 50 -1 +-1 +-1 +0200 cf98 50d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 +-1 + +57 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 57 -1 +a169 50 -1 +-1 +-1 +0200 cf98 02d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +58 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 58 -1 +a169 50 -1 +-1 +-1 +0200 cf98 90cf a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +59 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 59 -1 +a169 50 -1 +-1 +-1 +0200 cf98 9098 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +5a +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 5a -1 +a169 50 -1 +-1 +-1 +0200 cf98 9090 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +5b +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 5b -1 +a169 50 -1 +-1 +-1 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +5c +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 5c -1 +a169 50 -1 +-1 +-1 +0200 cf98 90a1 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +5d +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 5d -1 +a169 50 -1 +-1 +-1 +0200 cf98 9069 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +5e +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 5e -1 +a169 50 -1 +-1 +-1 +0200 cf98 9050 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 +-1 + +5f +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 5f -1 +a169 50 -1 +-1 +-1 +0200 cf98 9002 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +60 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 60 -1 +a169 50 -1 +-1 +-1 +0200 cf98 90d8 cf69 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +61 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 61 -1 +a169 50 -1 +-1 +-1 +0200 cf98 90d8 9869 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +62 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 62 -1 +a169 50 -1 +-1 +-1 +0200 cf98 90d8 9069 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +63 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 63 -1 +a169 50 -1 +-1 +-1 +0200 cf98 90d8 d869 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +64 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 64 -1 +a169 50 -1 +-1 +-1 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +65 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 65 -1 +a169 50 -1 +-1 +-1 +0200 cf98 90d8 6969 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +66 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 66 -1 +a169 50 -1 +-1 +-1 +0200 cf98 90d8 5069 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 +-1 + +67 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 67 -1 +a169 50 -1 +-1 +-1 +0200 cf98 90d8 0269 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +68 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 68 -1 +a169 50 -1 +-1 +-1 +0200 cf98 90d8 a1cf 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +69 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 69 -1 +a169 50 -1 +-1 +-1 +0200 cf98 90d8 a198 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +6a +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 6a -1 +a169 50 -1 +-1 +-1 +0200 cf98 90d8 a190 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +6b +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 6b -1 +a169 50 -1 +-1 +-1 +0200 cf98 90d8 a1d8 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +6c +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 6c -1 +a169 50 -1 +-1 +-1 +0200 cf98 90d8 a1a1 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +6d +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 6d -1 +a169 50 -1 +-1 +-1 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +6e +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 6e -1 +a169 50 -1 +-1 +-1 +0200 cf98 90d8 a150 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 +-1 + +6f +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 6f -1 +a169 50 -1 +-1 +-1 +0200 cf98 90d8 a102 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +70 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 70 -1 +a169 50 -1 +-1 +-1 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 +a169 cf -1 +-1 + +71 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 71 -1 +a169 50 -1 +-1 +-1 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 +a169 98 -1 +-1 + +72 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 72 -1 +a169 50 -1 +-1 +-1 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 +a169 90 -1 +-1 + +73 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 73 -1 +a169 50 -1 +-1 +-1 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 +a169 d8 -1 +-1 + +74 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 74 -1 +a169 50 -1 +-1 +-1 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 +a169 a1 -1 +-1 + +75 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 75 -1 +a169 50 -1 +-1 +-1 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 +a169 69 -1 +-1 + +76 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 76 -1 +a169 50 -1 +-1 +-1 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 01 0 0 0 1 4 +-1 + +77 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 77 -1 +a169 50 -1 +-1 +-1 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 +a169 02 -1 +-1 + +78 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 78 -1 +a169 50 -1 +-1 +-1 +cf00 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +79 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 79 -1 +a169 50 -1 +-1 +-1 +9800 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +7a +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 7a -1 +a169 50 -1 +-1 +-1 +9000 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +7b +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 7b -1 +a169 50 -1 +-1 +-1 +d800 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +7c +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 7c -1 +a169 50 -1 +-1 +-1 +a100 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +7d +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 7d -1 +a169 50 -1 +-1 +-1 +6900 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +7e +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 7e -1 +a169 50 -1 +-1 +-1 +5000 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 +-1 + +7f +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 7f -1 +a169 50 -1 +-1 +-1 +0200 cf98 90d8 a169 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +80 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 80 -1 +dca6 49 -1 +-1 +-1 +0411 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +81 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 81 -1 +dca6 49 -1 +-1 +-1 +3031 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +82 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 82 -1 +dca6 49 -1 +-1 +-1 +1501 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +83 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 83 -1 +dca6 49 -1 +-1 +-1 +0211 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +84 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 84 -1 +dca6 49 -1 +-1 +-1 +d191 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +85 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 85 -1 +dca6 49 -1 +-1 +-1 +9b89 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +86 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 86 -1 +dca6 49 -1 +-1 +-1 +3e29 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 +-1 + +87 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 87 -1 +dca6 49 -1 +-1 +-1 +eaa9 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +88 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 88 -1 +dca6 49 -1 +-1 +-1 +0411 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +89 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 89 -1 +dca6 49 -1 +-1 +-1 +3031 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +8a +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 8a -1 +dca6 49 -1 +-1 +-1 +1501 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +8b +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 8b -1 +dca6 49 -1 +-1 +-1 +0211 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +8c +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 8c -1 +dca6 49 -1 +-1 +-1 +d191 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +8d +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 8d -1 +dca6 49 -1 +-1 +-1 +9b89 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +8e +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 8e -1 +dca6 49 -1 +-1 +-1 +3e29 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 +-1 + +8f +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 8f -1 +dca6 49 -1 +-1 +-1 +eaa9 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +90 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 90 -1 +dca6 49 -1 +-1 +-1 +e6b2 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +91 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 91 -1 +dca6 49 -1 +-1 +-1 +baba 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +92 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 92 -1 +dca6 49 -1 +-1 +-1 +d582 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +93 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 93 -1 +dca6 49 -1 +-1 +-1 +e8ba 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +94 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 94 -1 +dca6 49 -1 +-1 +-1 +191a 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +95 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 95 -1 +dca6 49 -1 +-1 +-1 +4f1a 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +96 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 96 -1 +dca6 49 -1 +-1 +-1 +acba 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 +-1 + +97 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 97 -1 +dca6 49 -1 +-1 +-1 +0042 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +98 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 98 -1 +dca6 49 -1 +-1 +-1 +e6b2 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +99 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 99 -1 +dca6 49 -1 +-1 +-1 +baba 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +9a +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 9a -1 +dca6 49 -1 +-1 +-1 +d582 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +9b +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 9b -1 +dca6 49 -1 +-1 +-1 +e8ba 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +9c +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 9c -1 +dca6 49 -1 +-1 +-1 +191a 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +9d +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 9d -1 +dca6 49 -1 +-1 +-1 +4f1a 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +9e +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 9e -1 +dca6 49 -1 +-1 +-1 +acba 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 +-1 + +9f +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 9f -1 +dca6 49 -1 +-1 +-1 +0042 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +a0 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 a0 -1 +dca6 49 -1 +-1 +-1 +0514 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +a1 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 a1 -1 +dca6 49 -1 +-1 +-1 +3130 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +a2 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 a2 -1 +dca6 49 -1 +-1 +-1 +2030 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +a3 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 a3 -1 +dca6 49 -1 +-1 +-1 +0514 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +a4 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 a4 -1 +dca6 49 -1 +-1 +-1 +d494 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +a5 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 a5 -1 +dca6 49 -1 +-1 +-1 +a4b0 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +a6 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 a6 -1 +dca6 49 -1 +-1 +-1 +4114 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 +-1 + +a7 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 a7 -1 +dca6 49 -1 +-1 +-1 +f5b4 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +a8 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 a8 -1 +dca6 49 -1 +-1 +-1 +faac 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +a9 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 a9 -1 +dca6 49 -1 +-1 +-1 +ce88 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +aa +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 aa -1 +dca6 49 -1 +-1 +-1 +d580 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +ab +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ab -1 +dca6 49 -1 +-1 +-1 +f8a8 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +ac +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ac -1 +dca6 49 -1 +-1 +-1 +2928 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +ad +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ad -1 +dca6 49 -1 +-1 +-1 +5304 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +ae +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ae -1 +dca6 49 -1 +-1 +-1 +bca8 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 +-1 + +af +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 af -1 +dca6 49 -1 +-1 +-1 +0044 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +b0 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 b0 -1 +dca6 49 -1 +-1 +-1 +ffac 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +b1 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 b1 -1 +dca6 49 -1 +-1 +-1 +ffac 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +b2 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 b2 -1 +dca6 49 -1 +-1 +-1 +f5a4 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +b3 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 b3 -1 +dca6 49 -1 +-1 +-1 +fda8 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +b4 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 b4 -1 +dca6 49 -1 +-1 +-1 +fda8 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +b5 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 b5 -1 +dca6 49 -1 +-1 +-1 +f7a0 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +b6 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 b6 -1 +dca6 49 -1 +-1 +-1 +fda8 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 +-1 + +b7 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 b7 -1 +dca6 49 -1 +-1 +-1 +f5a4 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +b8 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 b8 -1 +dca6 49 -1 +-1 +-1 +f59a 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +b9 +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 b9 -1 +dca6 49 -1 +-1 +-1 +f5ba 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +ba +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ba -1 +dca6 49 -1 +-1 +-1 +f5a2 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +bb +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 bb -1 +dca6 49 -1 +-1 +-1 +f59a 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +bc +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 bc -1 +dca6 49 -1 +-1 +-1 +f51a 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +bd +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 bd -1 +dca6 49 -1 +-1 +-1 +f532 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +be +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 be -1 +dca6 49 -1 +-1 +-1 +f59a 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 7 +-1 + +bf +f500 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 bf -1 +dca6 49 -1 +-1 +-1 +f562 0f3b 200d dca6 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +c0_1 +0098 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0000 +00 00 0 0 0 0 1 +0000 c0 -1 +43f7 e9 af -1 +-1 +-1 +0098 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f9 afe9 +00 01 0 0 0 0 11 +-1 + +c0_2 +00d8 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0000 +00 00 0 0 0 0 1 +0000 c0 -1 +43f7 e9 af -1 +-1 +-1 +00d8 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0001 +00 01 0 0 0 0 5 +-1 + +c1 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 4143 0000 +00 00 0 0 0 0 1 +0000 c1 -1 +4143 ce e8 -1 +-1 +-1 +0000 e8ce 0000 0000 0000 0000 0000 0000 0000 0000 4145 0001 +00 01 0 0 0 0 10 +-1 + +c2_1 +0087 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 c2 1b e1 -1 +-1 +-1 +0087 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 e11b +00 01 0 0 0 0 10 +-1 + +c2_2 +00c7 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 c2 1b e1 -1 +-1 +-1 +00c7 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0003 +00 01 0 0 0 0 10 +-1 + +c3 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 c3 ed 7c -1 +-1 +-1 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 7ced +00 01 0 0 0 0 10 +-1 + +c4_1 +000e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0000 +00 00 0 0 0 0 1 +0000 c4 61 9c -1 +-1 +-1 +000e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5696 9c61 +00 01 0 0 0 0 17 +5696 03 00 -1 +-1 + +c4_2 +004e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0000 +00 00 0 0 0 0 1 +0000 c4 61 9c -1 +-1 +-1 +004e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0003 +00 01 0 0 0 0 10 +-1 + +c5 +53e3 1459 775f 1a2f 0000 0000 0000 0000 0000 0000 ec12 0000 +00 00 0 0 0 0 1 +0000 c5 -1 +-1 +-1 +53e3 1459 775f 1a2f 0000 0000 0000 0000 0000 0000 ec10 0001 +00 01 0 0 0 0 11 +ec10 59 14 -1 +-1 + +c6 +ca00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 c6 6f -1 +-1 +-1 +3939 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 +-1 + +c7 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 5507 6d33 +00 00 0 0 0 0 1 +6d33 c7 -1 +-1 +-1 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 5505 0000 +00 01 0 0 0 0 11 +5505 34 6d -1 +-1 + +c8_1 +0098 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0000 +00 00 0 0 0 0 1 +0000 c8 -1 +43f7 e9 af -1 +-1 +-1 +0098 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0001 +00 01 0 0 0 0 5 +-1 + +c8_2 +00d8 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0000 +00 00 0 0 0 0 1 +0000 c8 -1 +43f7 e9 af -1 +-1 +-1 +00d8 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f9 afe9 +00 01 0 0 0 0 11 +-1 + +c9 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 887e 0000 +00 00 0 0 0 0 1 +0000 c9 -1 +887e 36 11 -1 +-1 +-1 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 8880 1136 +00 01 0 0 0 0 10 +-1 + +ca_1 +0087 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ca 1b e1 -1 +-1 +-1 +0087 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0003 +00 01 0 0 0 0 10 +-1 + +ca_2 +00c7 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ca 1b e1 -1 +-1 +-1 +00c7 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 e11b +00 01 0 0 0 0 10 +-1 + +cb00 +da00 e479 552e a806 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 00 -1 +a806 76 -1 +-1 +-1 +da8d c979 552e a806 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb01 +1000 b379 b480 ef65 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 01 -1 +ef65 fb -1 +-1 +-1 +10a0 b3f2 b480 ef65 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb02 +2e00 9adf ae6e a7f2 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 02 -1 +a7f2 4a -1 +-1 +-1 +2e09 9adf 5d6e a7f2 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb03 +6800 9995 de3f ca71 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 03 -1 +ca71 e7 -1 +-1 +-1 +682c 9995 de7e ca71 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb04 +8c00 beea 0ce4 67b0 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 04 -1 +67b0 cd -1 +-1 +-1 +8c88 beea 0ce4 ceb0 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb05 +3600 e19f 78c9 cb32 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 05 -1 +cb32 1b -1 +-1 +-1 +3620 e19f 78c9 cb64 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb06 +8a00 db02 8fb1 5b04 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 06 -1 +5b04 d4 -1 +-1 +-1 +8aad db02 8fb1 5b04 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +5b04 a9 -1 +-1 + +cb07 +6d00 19cf 7259 dcaa 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 07 -1 +dcaa 8d -1 +-1 +-1 +da88 19cf 7259 dcaa 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb08 +8000 cdb5 818e 2ee2 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 08 -1 +2ee2 53 -1 +-1 +-1 +80a1 e6b5 818e 2ee2 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb09 +1800 125c dd97 59c6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 09 -1 +59c6 9e -1 +-1 +-1 +182c 122e dd97 59c6 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb0a +1200 3ba1 7724 63ad 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 0a -1 +63ad 96 -1 +-1 +-1 +12ad 3ba1 bb24 63ad 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb0b +7600 2abf b626 0289 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 0b -1 +0289 37 -1 +-1 +-1 +7600 2abf b613 0289 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb0c +0e00 6fc5 2f12 34d9 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 0c -1 +34d9 50 -1 +-1 +-1 +0e08 6fc5 2f12 1ad9 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb0d +6300 95a3 fcd2 519a 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 0d -1 +519a 7a -1 +-1 +-1 +630c 95a3 fcd2 514d 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb0e +fc00 adf9 4925 543e 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 0e -1 +543e d2 -1 +-1 +-1 +fc2c adf9 4925 543e 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +543e 69 -1 +-1 + +cb0f +c300 18f3 41b8 070b 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 0f -1 +070b 86 -1 +-1 +-1 +e1a5 18f3 41b8 070b 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb10 +f800 dc25 33b3 0d74 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 10 -1 +0d74 3d -1 +-1 +-1 +f8ad b825 33b3 0d74 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb11 +6500 e25c 4b8a ed42 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 11 -1 +ed42 b7 -1 +-1 +-1 +65ac e2b8 4b8a ed42 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb12 +7700 1384 0f50 29c6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 12 -1 +29c6 88 -1 +-1 +-1 +770c 1384 1e50 29c6 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb13 +ce00 9f17 e128 3ed7 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 13 -1 +3ed7 ea -1 +-1 +-1 +ce04 9f17 e150 3ed7 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb14 +b200 541a 60c7 7c9a 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 14 -1 +7c9a 0f -1 +-1 +-1 +b2a8 541a 60c7 f89a 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb15 +2d00 c1df 6eab 03e2 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 15 -1 +03e2 bc -1 +-1 +-1 +2d81 c1df 6eab 03c4 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb16 +3600 3b53 1a4a 684e 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 16 -1 +684e c3 -1 +-1 +-1 +3681 3b53 1a4a 684e 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +684e 86 -1 +-1 + +cb17 +5400 d090 f60d 0fa2 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 17 -1 +0fa2 23 -1 +-1 +-1 +a8a8 d090 f60d 0fa2 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb18 +8600 c658 755f 9596 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 18 -1 +9596 b6 -1 +-1 +-1 +8624 6358 755f 9596 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb19 +9600 beb3 7c22 71c8 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 19 -1 +71c8 85 -1 +-1 +-1 +960d be59 7c22 71c8 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb1a +3900 882f 543b 5279 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 1a -1 +5279 26 -1 +-1 +-1 +3928 882f 2a3b 5279 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb1b +9e00 b338 876c e8b4 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 1b -1 +e8b4 b9 -1 +-1 +-1 +9e24 b338 8736 e8b4 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb1c +4b00 b555 238f 311d 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 1c -1 +311d 11 -1 +-1 +-1 +4b0d b555 238f 181d 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb1d +2100 3d7e 5e39 e451 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 1d -1 +e451 47 -1 +-1 +-1 +212d 3d7e 5e39 e428 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb1e +5e00 66b9 80dc 00ef 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 1e -1 +00ef 91 -1 +-1 +-1 +5e0d 66b9 80dc 00ef 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +00ef 48 -1 +-1 + +cb1f +ed00 b838 8e18 ace7 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 1f -1 +ace7 82 -1 +-1 +-1 +7621 b838 8e18 ace7 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb20 +c700 0497 d72b ccb6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 20 -1 +ccb6 1a -1 +-1 +-1 +c708 0897 d72b ccb6 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb21 +2200 5cf4 938e 37a8 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 21 -1 +37a8 dd -1 +-1 +-1 +22ad 5ce8 938e 37a8 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb22 +8500 0950 e7e8 0641 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 22 -1 +0641 4d -1 +-1 +-1 +8589 0950 cee8 0641 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb23 +2100 2a7c 37d0 aa59 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 23 -1 +aa59 c1 -1 +-1 +-1 +21a5 2a7c 37a0 aa59 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb24 +fb00 b9de 7014 84b6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 24 -1 +84b6 80 -1 +-1 +-1 +fb09 b9de 7014 08b6 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb25 +1500 6bbc 894e 85bc 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 25 -1 +85bc ef -1 +-1 +-1 +152d 6bbc 894e 8578 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb26 +0a00 372e e315 283a 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 26 -1 +283a ee -1 +-1 +-1 +0a89 372e e315 283a 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +283a dc -1 +-1 + +cb27 +bf00 bdba 67ab 5ea2 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 27 -1 +5ea2 bd -1 +-1 +-1 +7e2d bdba 67ab 5ea2 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb28 +c000 0435 3e0f 021b 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 28 -1 +021b 90 -1 +-1 +-1 +c000 0235 3e0f 021b 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb29 +0600 f142 6ada c306 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 29 -1 +c306 5c -1 +-1 +-1 +0624 f121 6ada c306 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb2a +3000 ec3a 7f7d 3473 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 2a -1 +3473 34 -1 +-1 +-1 +302d ec3a 3f7d 3473 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb2b +e000 ccf0 bbda b78a 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 2b -1 +b78a ab -1 +-1 +-1 +e0ac ccf0 bbed b78a 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb2c +5b00 25c0 996d 1e7b 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 2c -1 +1e7b 2c -1 +-1 +-1 +5b0c 25c0 996d 0f7b 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb2d +5e00 c51b 58e3 78ea 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 2d -1 +78ea 85 -1 +-1 +-1 +5ea4 c51b 58e3 78f5 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb2e +3900 a2cd 0629 24bf 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 2e -1 +24bf b5 -1 +-1 +-1 +3989 a2cd 0629 24bf 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +24bf da -1 +-1 + +cb2f +aa00 a194 d0e3 5c65 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 2f -1 +5c65 c9 -1 +-1 +-1 +d580 a194 d0e3 5c65 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb30 +cd00 7a81 d67b 656b 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 30 -1 +656b 32 -1 +-1 +-1 +cda4 f581 d67b 656b 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb31 +2800 e7fa 6d8c 75a4 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 31 -1 +75a4 0c -1 +-1 +-1 +28a5 e7f5 6d8c 75a4 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb32 +1300 3f36 f608 5e56 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 32 -1 +5e56 8d -1 +-1 +-1 +13ad 3f36 ed08 5e56 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb33 +d500 9720 7644 038f 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 33 -1 +038f ba -1 +-1 +-1 +d588 9720 7689 038f 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb34 +1200 77f6 0206 fb38 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 34 -1 +fb38 07 -1 +-1 +-1 +12a1 77f6 0206 f738 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb35 +3c00 fd68 ea91 7861 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 35 -1 +7861 72 -1 +-1 +-1 +3c84 fd68 ea91 78c3 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb36 +8a00 1185 1dde 6d38 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 36 -1 +6d38 f1 -1 +-1 +-1 +8aa1 1185 1dde 6d38 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +6d38 e3 -1 +-1 + +cb37 +4300 d7bc 9133 6e56 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 37 -1 +6e56 f8 -1 +-1 +-1 +8784 d7bc 9133 6e56 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb38 +df00 7c1b 9f9f 4ff2 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 38 -1 +4ff2 aa -1 +-1 +-1 +df28 3e1b 9f9f 4ff2 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb39 +6600 b702 14f5 3c17 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 39 -1 +3c17 61 -1 +-1 +-1 +6600 b701 14f5 3c17 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb3a +d100 5c5f e42e f1b1 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 3a -1 +f1b1 6e -1 +-1 +-1 +d124 5c5f 722e f1b1 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb3b +b200 38c8 a560 7419 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 3b -1 +7419 11 -1 +-1 +-1 +b224 38c8 a530 7419 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb3c +7800 cfae 66d8 2ad8 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 3c -1 +2ad8 8d -1 +-1 +-1 +7800 cfae 66d8 15d8 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb3d +e600 dcda 06aa 46cd 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 3d -1 +46cd f9 -1 +-1 +-1 +e625 dcda 06aa 4666 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb3e +a900 6a34 e8d0 a96c 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 3e -1 +a96c a0 -1 +-1 +-1 +a904 6a34 e8d0 a96c 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +a96c 50 -1 +-1 + +cb3f +f100 ceea 721e 77f0 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 3f -1 +77f0 7c -1 +-1 +-1 +782d ceea 721e 77f0 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb40 +9e00 bcb2 efaa 505f 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 40 -1 +505f 59 -1 +-1 +-1 +9e7c bcb2 efaa 505f 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb41 +9e00 1b43 954e 7be9 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 41 -1 +7be9 f7 -1 +-1 +-1 +9e10 1b43 954e 7be9 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb42 +f200 dd12 7d4f 551f 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 42 -1 +551f c9 -1 +-1 +-1 +f238 dd12 7d4f 551f 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb43 +ad00 c3b3 f1d0 bab4 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 43 -1 +bab4 76 -1 +-1 +-1 +ad54 c3b3 f1d0 bab4 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb44 +b700 c829 27e3 5b92 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 44 -1 +5b92 78 -1 +-1 +-1 +b718 c829 27e3 5b92 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb45 +7700 68ee 0c77 409b 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 45 -1 +409b 64 -1 +-1 +-1 +7718 68ee 0c77 409b 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb46 +7200 7ae3 a11e 6131 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 46 -1 +6131 d5 -1 +-1 +-1 +7210 7ae3 a11e 6131 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 +-1 + +cb47_1 +ff00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 47 -1 +-1 +-1 +ff38 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb47 +1000 d8ca e2c4 8a8c 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 47 -1 +8a8c 0e -1 +-1 +-1 +1054 d8ca e2c4 8a8c 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb48 +a900 6264 e833 6de0 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 48 -1 +6de0 8c -1 +-1 +-1 +a930 6264 e833 6de0 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb49 +6c00 d0f7 1db7 a040 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 49 -1 +a040 5f -1 +-1 +-1 +6c30 d0f7 1db7 a040 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb4a +4f00 f04c 5b29 77a4 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 4a -1 +77a4 96 -1 +-1 +-1 +4f18 f04c 5b29 77a4 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb4b +5500 9848 095f 40ca 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 4b -1 +40ca 8a -1 +-1 +-1 +5518 9848 095f 40ca 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb4c +8800 0521 bf31 6d5d 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 4c -1 +6d5d e7 -1 +-1 +-1 +887c 0521 bf31 6d5d 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb4d +f900 27d0 0f7e 158d 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 4d -1 +158d e0 -1 +-1 +-1 +f95c 27d0 0f7e 158d 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb4e +2600 9207 459a ada3 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 4e -1 +ada3 5b -1 +-1 +-1 +2618 9207 459a ada3 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 +-1 + +cb4f_1 +ff00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 4f -1 +-1 +-1 +ff38 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb4f +1700 2dc1 aca2 0bcc 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 4f -1 +0bcc a3 -1 +-1 +-1 +1710 2dc1 aca2 0bcc 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb50 +2300 2749 1012 84d2 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 50 -1 +84d2 6a -1 +-1 +-1 +2330 2749 1012 84d2 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb51 +2200 b7db e19d aafc 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 51 -1 +aafc a6 -1 +-1 +-1 +225c b7db e19d aafc 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb52 +8b00 ff7a b0ff ac44 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 52 -1 +ac44 00 -1 +-1 +-1 +8b74 ff7a b0ff ac44 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb53 +6000 31a1 a4f4 7c75 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 53 -1 +7c75 ab -1 +-1 +-1 +6030 31a1 a4f4 7c75 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb54 +3800 7ccc 89cc 1999 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 54 -1 +1999 98 -1 +-1 +-1 +385c 7ccc 89cc 1999 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb55 +f900 1f79 19cd fb4b 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 55 -1 +fb4b 0b -1 +-1 +-1 +f95c 1f79 19cd fb4b 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb56 +1500 2bfe e3b5 bbf9 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 56 -1 +bbf9 10 -1 +-1 +-1 +1554 2bfe e3b5 bbf9 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 +-1 + +cb57_1 +ff00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 57 -1 +-1 +-1 +ff38 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb57 +6600 af32 532a da50 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 57 -1 +da50 30 -1 +-1 +-1 +6630 af32 532a da50 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb58 +5000 1aee 2e47 1479 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 58 -1 +1479 a0 -1 +-1 +-1 +5018 1aee 2e47 1479 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb59 +7200 5e68 ff28 2075 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 59 -1 +2075 c1 -1 +-1 +-1 +7238 5e68 ff28 2075 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb5a +eb00 fea7 17d1 d99b 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 5a -1 +d99b e8 -1 +-1 +-1 +eb54 fea7 17d1 d99b 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb5b +6b00 6f2c 3fe3 1691 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 5b -1 +1691 c7 -1 +-1 +-1 +6b74 6f2c 3fe3 1691 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb5c +3300 a7e7 2077 13e9 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 5c -1 +13e9 ae -1 +-1 +-1 +3354 a7e7 2077 13e9 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb5d +c100 afcc c8b1 ee49 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 5d -1 +ee49 a6 -1 +-1 +-1 +c118 afcc c8b1 ee49 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb5e +3000 ad43 16c1 349a 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 5e -1 +349a 3c -1 +-1 +-1 +3038 ad43 16c1 349a 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 +-1 + +cb5f_1 +ff00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 5f -1 +-1 +-1 +ff38 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb5f +8c00 1b67 2314 6133 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 5f -1 +6133 90 -1 +-1 +-1 +8c18 1b67 2314 6133 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb60 +9900 34b5 0fd8 5273 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 60 -1 +5273 0a -1 +-1 +-1 +9930 34b5 0fd8 5273 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb61 +d100 219f 3bb4 7c44 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 61 -1 +7c44 77 -1 +-1 +-1 +d118 219f 3bb4 7c44 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb62 +af00 bdf8 c536 8cc5 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 62 -1 +8cc5 af -1 +-1 +-1 +af54 bdf8 c536 8cc5 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb63 +2a00 5e16 f627 84ca 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 63 -1 +84ca e6 -1 +-1 +-1 +2a74 5e16 f627 84ca 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb64 +a900 a365 c00b ea94 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 64 -1 +ea94 0c -1 +-1 +-1 +a97c a365 c00b ea94 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb65 +1800 8d58 4256 427a 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 65 -1 +427a ee -1 +-1 +-1 +1838 8d58 4256 427a 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb66 +4c00 3ef7 e544 a44f 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 66 -1 +a44f d2 -1 +-1 +-1 +4c10 3ef7 e544 a44f 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 +-1 + +cb67_1 +ff00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 67 -1 +-1 +-1 +ff38 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb67 +8600 5e92 2986 394d 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 67 -1 +394d 10 -1 +-1 +-1 +8654 5e92 2986 394d 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb68 +d700 0f6a 18a6 ddd2 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 68 -1 +ddd2 16 -1 +-1 +-1 +d75c 0f6a 18a6 ddd2 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb69 +da00 691b 7c79 1dba 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 69 -1 +1dba 8a -1 +-1 +-1 +da5c 691b 7c79 1dba 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb6a +2200 13e8 86d4 4e09 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 6a -1 +4e09 d5 -1 +-1 +-1 +2254 13e8 86d4 4e09 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb6b +af00 5123 7635 1ca9 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 6b -1 +1ca9 86 -1 +-1 +-1 +af30 5123 7635 1ca9 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb6c +4300 faa6 abc2 5605 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 6c -1 +5605 2b -1 +-1 +-1 +4354 faa6 abc2 5605 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb6d +7f00 f099 d435 d9ad 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 6d -1 +d9ad 4e -1 +-1 +-1 +7f38 f099 d435 d9ad 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb6e +4a00 08c9 8177 d8ba 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 6e -1 +d8ba 31 -1 +-1 +-1 +4a30 08c9 8177 d8ba 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 +-1 + +cb6f_1 +ff00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 6f -1 +-1 +-1 +ff38 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb6f +a100 8c80 4678 4d34 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 6f -1 +4d34 78 -1 +-1 +-1 +a130 8c80 4678 4d34 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb70 +1900 958a 5dab f913 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 70 -1 +f913 cf -1 +-1 +-1 +1954 958a 5dab f913 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb71 +3d00 095e d6df 42fe 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 71 -1 +42fe 24 -1 +-1 +-1 +3d18 095e d6df 42fe 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb72 +a500 c0bf 4c8d ad11 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 72 -1 +ad11 3b -1 +-1 +-1 +a518 c0bf 4c8d ad11 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb73 +f200 49a6 b279 2ecc 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 73 -1 +2ecc e0 -1 +-1 +-1 +f238 49a6 b279 2ecc 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb74 +0500 445e 05e9 983d 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 74 -1 +983d fa -1 +-1 +-1 +055c 445e 05e9 983d 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb75 +6b00 83c6 635a d18d 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 75 -1 +d18d 11 -1 +-1 +-1 +6b5c 83c6 635a d18d 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb76 +f800 3057 3629 bc71 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 76 -1 +bc71 18 -1 +-1 +-1 +f85c 3057 3629 bc71 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 +-1 + +cb77_1 +ff00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 77 -1 +-1 +-1 +ff38 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb77 +9200 d6f8 5100 736d 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 77 -1 +736d 36 -1 +-1 +-1 +9254 d6f8 5100 736d 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb78 +7200 1cf8 8d2b c76a 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 78 -1 +c76a 1f -1 +-1 +-1 +725c 1cf8 8d2b c76a 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb79 +a800 809e 1124 39e8 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 79 -1 +39e8 98 -1 +-1 +-1 +a898 809e 1124 39e8 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb7a +5800 7d24 63e1 d9af 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 7a -1 +d9af ed -1 +-1 +-1 +5874 7d24 63e1 d9af 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb7b +0300 50ab 05bd 6bd0 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 7b -1 +6bd0 a5 -1 +-1 +-1 +03b8 50ab 05bd 6bd0 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb7c +ad00 f77b 55ae 063b 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 7c -1 +063b 34 -1 +-1 +-1 +ad54 f77b 55ae 063b 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb7d +8200 b792 38cb 5f9b 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 7d -1 +5f9b 97 -1 +-1 +-1 +8298 b792 38cb 5f9b 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb7e +4200 3b91 f59c a25e 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 7e -1 +a25e d7 -1 +-1 +-1 +4290 3b91 f59c a25e 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 +-1 + +cb7f_1 +ff00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 7f -1 +-1 +-1 +ffb8 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb7f +6a00 84ec cf4e 185b 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 7f -1 +185b f1 -1 +-1 +-1 +6a7c 84ec cf4e 185b 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb80 +8f00 702f 17bd a706 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 80 -1 +a706 0a -1 +-1 +-1 +8f00 702f 17bd a706 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb81 +ae00 947f 7153 6616 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 81 -1 +6616 74 -1 +-1 +-1 +ae00 947e 7153 6616 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb82 +8100 bed2 c719 4572 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 82 -1 +4572 2f -1 +-1 +-1 +8100 bed2 c619 4572 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb83 +e600 63a2 ccf7 ae9a 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 83 -1 +ae9a 16 -1 +-1 +-1 +e600 63a2 ccf6 ae9a 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb84 +ce00 e0cc d305 d6c0 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 84 -1 +d6c0 72 -1 +-1 +-1 +ce00 e0cc d305 d6c0 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb85 +f300 ed79 9db7 dda0 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 85 -1 +dda0 8a -1 +-1 +-1 +f300 ed79 9db7 dda0 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb86 +2a00 b0b9 9426 1b48 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 86 -1 +1b48 62 -1 +-1 +-1 +2a00 b0b9 9426 1b48 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +-1 + +cb87 +1100 86dc 1798 dfc5 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 87 -1 +dfc5 de -1 +-1 +-1 +1000 86dc 1798 dfc5 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb88 +e300 8a21 e33e 674d 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 88 -1 +674d 5f -1 +-1 +-1 +e300 8821 e33e 674d 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb89 +6000 d186 c5b6 1bd7 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 89 -1 +1bd7 f2 -1 +-1 +-1 +6000 d184 c5b6 1bd7 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb8a +3e00 5fcd 0b38 b98e 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 8a -1 +b98e 2f -1 +-1 +-1 +3e00 5fcd 0938 b98e 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb8b +6500 040e 103f 4a07 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 8b -1 +4a07 3f -1 +-1 +-1 +6500 040e 103d 4a07 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb8c +f800 6d27 9bdf daef 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 8c -1 +daef 0c -1 +-1 +-1 +f800 6d27 9bdf d8ef 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb8d +3e00 5469 2c28 bd72 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 8d -1 +bd72 13 -1 +-1 +-1 +3e00 5469 2c28 bd70 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb8e +1f00 140b b492 63a7 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 8e -1 +63a7 d4 -1 +-1 +-1 +1f00 140b b492 63a7 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +-1 + +cb8f +2500 c522 ca46 1c1a 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 8f -1 +1c1a 37 -1 +-1 +-1 +2500 c522 ca46 1c1a 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb90 +5700 595c 4f0a c73c 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 90 -1 +c73c a2 -1 +-1 +-1 +5700 595c 4f0a c73c 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb91 +5e00 8f26 a735 97e0 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 91 -1 +97e0 5e -1 +-1 +-1 +5e00 8f22 a735 97e0 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb92 +3300 7d9f 87d0 83d0 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 92 -1 +83d0 2b -1 +-1 +-1 +3300 7d9f 83d0 83d0 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb93 +c200 4e05 b3f8 2234 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 93 -1 +2234 a0 -1 +-1 +-1 +c200 4e05 b3f8 2234 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb94 +ee00 8f4b 2831 d6a6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 94 -1 +d6a6 d0 -1 +-1 +-1 +ee00 8f4b 2831 d2a6 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb95 +3c00 6af2 b25d 36ff 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 95 -1 +36ff cd -1 +-1 +-1 +3c00 6af2 b25d 36fb 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb96 +7600 b027 d0a5 3324 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 96 -1 +3324 21 -1 +-1 +-1 +7600 b027 d0a5 3324 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +-1 + +cb97 +1600 ad09 7902 97bc 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 97 -1 +97bc 75 -1 +-1 +-1 +1200 ad09 7902 97bc 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb98 +3400 b61c 771d 5d5e 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 98 -1 +5d5e a4 -1 +-1 +-1 +3400 b61c 771d 5d5e 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb99 +5100 65be 1359 8bec 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 99 -1 +8bec 0b -1 +-1 +-1 +5100 65b6 1359 8bec 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb9a +6400 976d 4c25 dcb2 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 9a -1 +dcb2 09 -1 +-1 +-1 +6400 976d 4425 dcb2 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb9b +a100 b58a d264 2bd6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 9b -1 +2bd6 d3 -1 +-1 +-1 +a100 b58a d264 2bd6 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb9c +d800 63d6 ac7b c7a0 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 9c -1 +c7a0 75 -1 +-1 +-1 +d800 63d6 ac7b c7a0 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb9d +0d00 d840 0810 0800 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 9d -1 +0800 cd -1 +-1 +-1 +0d00 d840 0810 0800 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cb9e +3b00 ebbf 9434 3a65 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 9e -1 +3a65 2a -1 +-1 +-1 +3b00 ebbf 9434 3a65 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +3a65 22 -1 +-1 + +cb9f +b200 d1de f991 72f6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb 9f -1 +72f6 72 -1 +-1 +-1 +b200 d1de f991 72f6 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cba0 +fa00 d669 71e1 c80d 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb a0 -1 +c80d c0 -1 +-1 +-1 +fa00 c669 71e1 c80d 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cba1 +8200 75e4 a0de d0ba 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb a1 -1 +d0ba bd -1 +-1 +-1 +8200 75e4 a0de d0ba 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cba2 +dd00 2b0d 5554 6fc0 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb a2 -1 +6fc0 61 -1 +-1 +-1 +dd00 2b0d 4554 6fc0 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cba3 +2200 2f0d 4d2c 6666 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb a3 -1 +6666 8e -1 +-1 +-1 +2200 2f0d 4d2c 6666 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cba4 +d600 d8ed 9cd4 8bb1 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb a4 -1 +8bb1 bb -1 +-1 +-1 +d600 d8ed 9cd4 8bb1 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cba5 +b400 b393 3e42 88ca 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb a5 -1 +88ca 4f -1 +-1 +-1 +b400 b393 3e42 88ca 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cba6 +0a00 4c34 f5a7 e70d 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb a6 -1 +e70d 27 -1 +-1 +-1 +0a00 4c34 f5a7 e70d 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +-1 + +cba7 +4500 af61 569a c77b 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb a7 -1 +c77b ff -1 +-1 +-1 +4500 af61 569a c77b 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cba8 +6400 f269 bae4 c9e7 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb a8 -1 +c9e7 46 -1 +-1 +-1 +6400 d269 bae4 c9e7 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cba9 +e400 7ad4 bf0a ce0b 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb a9 -1 +ce0b 39 -1 +-1 +-1 +e400 7ad4 bf0a ce0b 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbaa +cd00 d249 4159 fed5 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb aa -1 +fed5 b0 -1 +-1 +-1 +cd00 d249 4159 fed5 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbab +ac00 939a 5d9b 0812 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb ab -1 +0812 f2 -1 +-1 +-1 +ac00 939a 5d9b 0812 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbac +2400 8a7d 2cac ffaa 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb ac -1 +ffaa 09 -1 +-1 +-1 +2400 8a7d 2cac dfaa 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbad +6f00 5ffb 2360 ae15 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb ad -1 +ae15 30 -1 +-1 +-1 +6f00 5ffb 2360 ae15 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbae +5a00 aa17 12f3 190e 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb ae -1 +190e 66 -1 +-1 +-1 +5a00 aa17 12f3 190e 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +190e 46 -1 +-1 + +cbaf +fc00 bb3f 8bb6 5877 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb af -1 +5877 62 -1 +-1 +-1 +dc00 bb3f 8bb6 5877 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbb0 +b900 7a79 1aaa c3ba 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb b0 -1 +c3ba 4c -1 +-1 +-1 +b900 3a79 1aaa c3ba 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbb1 +4900 63e4 a544 1190 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb b1 -1 +1190 e3 -1 +-1 +-1 +4900 63a4 a544 1190 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbb2 +4d00 2b03 6b23 6ff5 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb b2 -1 +6ff5 04 -1 +-1 +-1 +4d00 2b03 2b23 6ff5 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbb3 +8700 857a e98b 5cb1 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb b3 -1 +5cb1 43 -1 +-1 +-1 +8700 857a e98b 5cb1 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbb4 +2b00 b73e 79c9 e1bb 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb b4 -1 +e1bb 78 -1 +-1 +-1 +2b00 b73e 79c9 a1bb 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbb5 +9b00 d879 2ec9 4bba 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb b5 -1 +4bba 70 -1 +-1 +-1 +9b00 d879 2ec9 4bba 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbb6 +8600 89bf de4a 4fab 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb b6 -1 +4fab a5 -1 +-1 +-1 +8600 89bf de4a 4fab 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +-1 + +cbb7 +2200 fb8a 3d6e d4a2 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb b7 -1 +d4a2 f2 -1 +-1 +-1 +2200 fb8a 3d6e d4a2 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbb8 +d000 37c6 225a d249 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb b8 -1 +d249 c4 -1 +-1 +-1 +d000 37c6 225a d249 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbb9 +a500 1b4a d584 5dee 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb b9 -1 +5dee cc -1 +-1 +-1 +a500 1b4a d584 5dee 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbba +6300 a5fe f42b 34c9 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb ba -1 +34c9 bc -1 +-1 +-1 +6300 a5fe 742b 34c9 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbbb +1200 f661 aa4f cb30 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb bb -1 +cb30 f4 -1 +-1 +-1 +1200 f661 aa4f cb30 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbbc +9800 adc3 0b29 7b6e 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb bc -1 +7b6e 45 -1 +-1 +-1 +9800 adc3 0b29 7b6e 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbbd +d600 a6e1 8813 10b8 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb bd -1 +10b8 35 -1 +-1 +-1 +d600 a6e1 8813 1038 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbbe +ca00 ff64 1218 77d5 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb be -1 +77d5 ea -1 +-1 +-1 +ca00 ff64 1218 77d5 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +77d5 6a -1 +-1 + +cbbf +6800 4845 690a 15de 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb bf -1 +15de 1d -1 +-1 +-1 +6800 4845 690a 15de 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbc0 +e300 ef71 bffb b3a1 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb c0 -1 +b3a1 5c -1 +-1 +-1 +e300 ef71 bffb b3a1 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbc1 +3200 32a1 59ab 3343 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb c1 -1 +3343 aa -1 +-1 +-1 +3200 32a1 59ab 3343 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbc2 +c700 b159 c023 e1f3 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb c2 -1 +e1f3 14 -1 +-1 +-1 +c700 b159 c123 e1f3 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbc3 +0400 b463 c211 8f3a 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb c3 -1 +8f3a 81 -1 +-1 +-1 +0400 b463 c211 8f3a 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbc4 +7e00 545a 6ecf 5876 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb c4 -1 +5876 9d -1 +-1 +-1 +7e00 545a 6ecf 5976 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbc5 +4000 c617 079c 4107 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb c5 -1 +4107 cc -1 +-1 +-1 +4000 c617 079c 4107 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbc6 +b800 0373 b807 f0be 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb c6 -1 +f0be 9c -1 +-1 +-1 +b800 0373 b807 f0be 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +f0be 9d -1 +-1 + +cbc7 +7700 3681 9b55 583f 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb c7 -1 +583f 58 -1 +-1 +-1 +7700 3681 9b55 583f 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbc8 +7d00 a772 8682 7cf3 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb c8 -1 +7cf3 75 -1 +-1 +-1 +7d00 a772 8682 7cf3 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbc9 +0b00 67ee 30e0 72db 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb c9 -1 +72db 87 -1 +-1 +-1 +0b00 67ee 30e0 72db 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbca +9c00 9517 cfbb fbc7 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb ca -1 +fbc7 1a -1 +-1 +-1 +9c00 9517 cfbb fbc7 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbcb +e800 0f3d 336f f70d 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb cb -1 +f70d a1 -1 +-1 +-1 +e800 0f3d 336f f70d 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbcc +fb00 7981 0bbb 18fd 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb cc -1 +18fd fe -1 +-1 +-1 +fb00 7981 0bbb 1afd 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbcd +5500 5e78 bf34 2602 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb cd -1 +2602 2d -1 +-1 +-1 +5500 5e78 bf34 2602 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbce +d500 a111 cb2a 8ec6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb ce -1 +8ec6 bf -1 +-1 +-1 +d500 a111 cb2a 8ec6 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +-1 + +cbcf +a200 6baf 98b2 98a0 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb cf -1 +98a0 d4 -1 +-1 +-1 +a200 6baf 98b2 98a0 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbd0 +2300 7bcb 02e7 1724 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb d0 -1 +1724 30 -1 +-1 +-1 +2300 7fcb 02e7 1724 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbd1 +5300 581f b775 47f4 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb d1 -1 +47f4 c7 -1 +-1 +-1 +5300 581f b775 47f4 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbd2 +6900 c147 b79c 7528 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb d2 -1 +7528 4f -1 +-1 +-1 +6900 c147 b79c 7528 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbd3 +ae00 bbc4 ce52 5fba 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb d3 -1 +5fba 3a -1 +-1 +-1 +ae00 bbc4 ce56 5fba 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbd4 +d800 6e1e af6f bf2e 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb d4 -1 +bf2e 71 -1 +-1 +-1 +d800 6e1e af6f bf2e 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbd5 +8400 a19a d2fd 8a77 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb d5 -1 +8a77 52 -1 +-1 +-1 +8400 a19a d2fd 8a77 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbd6 +a900 f5f3 2180 6029 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb d6 -1 +6029 b7 -1 +-1 +-1 +a900 f5f3 2180 6029 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +-1 + +cbd7 +b100 c008 8425 290a 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb d7 -1 +290a 42 -1 +-1 +-1 +b500 c008 8425 290a 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbd8 +8b00 09c4 ddf3 6d7e 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb d8 -1 +6d7e 6e -1 +-1 +-1 +8b00 09c4 ddf3 6d7e 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbd9 +3e00 3e36 30ec efc6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb d9 -1 +efc6 5b -1 +-1 +-1 +3e00 3e3e 30ec efc6 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbda +d000 3e8f 28fe 1c87 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb da -1 +1c87 b9 -1 +-1 +-1 +d000 3e8f 28fe 1c87 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbdb +1200 977a 8c49 bc48 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb db -1 +bc48 ef -1 +-1 +-1 +1200 977a 8c49 bc48 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbdc +8d00 05de f8d3 b125 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb dc -1 +b125 0e -1 +-1 +-1 +8d00 05de f8d3 b925 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbdd +c300 08a9 2bc8 5b9f 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb dd -1 +5b9f 94 -1 +-1 +-1 +c300 08a9 2bc8 5b9f 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbde +1900 900f d572 ba03 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb de -1 +ba03 93 -1 +-1 +-1 +1900 900f d572 ba03 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +ba03 9b -1 +-1 + +cbdf +6700 2745 7e3d 0fa1 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb df -1 +0fa1 c5 -1 +-1 +-1 +6f00 2745 7e3d 0fa1 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbe0 +3e00 d633 9897 3744 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb e0 -1 +3744 54 -1 +-1 +-1 +3e00 d633 9897 3744 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbe1 +7d00 50a6 0136 5334 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb e1 -1 +5334 85 -1 +-1 +-1 +7d00 50b6 0136 5334 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbe2 +d400 6b45 a192 3a4c 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb e2 -1 +3a4c 47 -1 +-1 +-1 +d400 6b45 b192 3a4c 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbe3 +3b00 d29c 05e0 2e78 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb e3 -1 +2e78 48 -1 +-1 +-1 +3b00 d29c 05f0 2e78 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbe4 +1e00 7d5e 846d 0978 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb e4 -1 +0978 84 -1 +-1 +-1 +1e00 7d5e 846d 1978 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbe5 +ca00 df0d d588 b48f 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb e5 -1 +b48f cf -1 +-1 +-1 +ca00 df0d d588 b49f 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbe6 +b300 52c2 dbfe 9f9b 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb e6 -1 +9f9b f6 -1 +-1 +-1 +b300 52c2 dbfe 9f9b 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +-1 + +cbe7 +8e00 cf02 67ef f2e0 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb e7 -1 +f2e0 cf -1 +-1 +-1 +9e00 cf02 67ef f2e0 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbe8 +7100 bb18 66ec 4a05 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb e8 -1 +4a05 e6 -1 +-1 +-1 +7100 bb18 66ec 4a05 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbe9 +5700 2897 8f2f a4d0 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb e9 -1 +a4d0 b2 -1 +-1 +-1 +5700 28b7 8f2f a4d0 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbea +ec00 304a 60a1 f32a 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb ea -1 +f32a 9c -1 +-1 +-1 +ec00 304a 60a1 f32a 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbeb +f000 532b a1be 1a1a 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb eb -1 +1a1a 21 -1 +-1 +-1 +f000 532b a1be 1a1a 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbec +f200 f0f3 a816 ba08 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb ec -1 +ba08 82 -1 +-1 +-1 +f200 f0f3 a816 ba08 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbed +1300 5127 adab 2dec 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb ed -1 +2dec cb -1 +-1 +-1 +1300 5127 adab 2dec 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbee +9000 b273 50ae e90d 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb ee -1 +e90d f1 -1 +-1 +-1 +9000 b273 50ae e90d 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +-1 + +cbef +2500 4281 f0d4 2c39 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb ef -1 +2c39 c8 -1 +-1 +-1 +2500 4281 f0d4 2c39 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbf0 +fb00 5802 0c27 6ff5 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb f0 -1 +6ff5 f6 -1 +-1 +-1 +fb00 5802 0c27 6ff5 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbf1 +5500 a103 3ff5 5e1c 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb f1 -1 +5e1c 37 -1 +-1 +-1 +5500 a143 3ff5 5e1c 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbf2 +f000 625a af82 9819 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb f2 -1 +9819 e4 -1 +-1 +-1 +f000 625a ef82 9819 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbf3 +8600 d7bd 5d86 263f 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb f3 -1 +263f a1 -1 +-1 +-1 +8600 d7bd 5dc6 263f 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbf4 +9400 0243 9ec1 75d9 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb f4 -1 +75d9 3f -1 +-1 +-1 +9400 0243 9ec1 75d9 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbf5 +ce00 2d42 5e6a 47e6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb f5 -1 +47e6 ce -1 +-1 +-1 +ce00 2d42 5e6a 47e6 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbf6 +7b00 c2d7 4492 a9bc 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb f6 -1 +a9bc b1 -1 +-1 +-1 +7b00 c2d7 4492 a9bc 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +a9bc f1 -1 +-1 + +cbf7 +6d00 abaf 5b5d 188c 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb f7 -1 +188c 6c -1 +-1 +-1 +6d00 abaf 5b5d 188c 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbf8 +c600 b812 a037 d2b0 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb f8 -1 +d2b0 cb -1 +-1 +-1 +c600 b812 a037 d2b0 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbf9 +ef00 c5f2 77a8 0730 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb f9 -1 +0730 ae -1 +-1 +-1 +ef00 c5f2 77a8 0730 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbfa +8700 1581 63e3 ed03 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb fa -1 +ed03 27 -1 +-1 +-1 +8700 1581 e3e3 ed03 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbfb +a300 7d27 97c3 d1ae 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb fb -1 +d1ae f2 -1 +-1 +-1 +a300 7d27 97c3 d1ae 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbfc +ec00 060a 3ef6 500f 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb fc -1 +500f 94 -1 +-1 +-1 +ec00 060a 3ef6 d00f 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbfd +1100 231a 8563 28c5 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb fd -1 +28c5 ab -1 +-1 +-1 +1100 231a 8563 28c5 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cbfe +5300 4948 89dd 3a24 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb fe -1 +3a24 c3 -1 +-1 +-1 +5300 4948 89dd 3a24 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +-1 + +cbff +7900 799b 6cf7 e3f2 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 cb ff -1 +e3f2 25 -1 +-1 +-1 +f900 799b 6cf7 e3f2 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 8 +-1 + +cc_1 +004e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0000 +00 00 0 0 0 0 1 +0000 cc 61 9c -1 +-1 +-1 +004e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5696 9c61 +00 01 0 0 0 0 17 +5696 03 00 -1 +-1 + +cc_2 +000e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0000 +00 00 0 0 0 0 1 +0000 cc 61 9c -1 +-1 +-1 +000e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0003 +00 01 0 0 0 0 10 +-1 + +cd +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 b07d 0000 +00 00 0 0 0 0 1 +0000 cd 5d 3a -1 +-1 +-1 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 b07b 3a5d +00 01 0 0 0 0 17 +b07b 03 00 -1 +-1 + +ce +60f5 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ce b2 -1 +-1 +-1 +1301 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 +-1 + +cf +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 5507 6d33 +00 00 0 0 0 0 1 +6d33 cf -1 +-1 +-1 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 5505 0008 +00 01 0 0 0 0 11 +5505 34 6d -1 +-1 + +d0_1 +0098 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0000 +00 00 0 0 0 0 1 +0000 d0 -1 +43f7 e9 af -1 +-1 +-1 +0098 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f9 afe9 +00 01 0 0 0 0 11 +-1 + +d0_2 +0099 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0000 +00 00 0 0 0 0 1 +0000 d0 -1 +43f7 e9 af -1 +-1 +-1 +0099 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0001 +00 01 0 0 0 0 5 +-1 + +d1 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 4143 0000 +00 00 0 0 0 0 1 +0000 d1 -1 +4143 ce e8 -1 +-1 +-1 +0000 0000 e8ce 0000 0000 0000 0000 0000 0000 0000 4145 0001 +00 01 0 0 0 0 10 +-1 + +d2_1 +0086 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 d2 1b e1 -1 +-1 +-1 +0086 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 e11b +00 01 0 0 0 0 10 +-1 + +d2_2 +0087 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 d2 1b e1 -1 +-1 +-1 +0087 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0003 +00 01 0 0 0 0 10 +-1 + +d3_1 +a200 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 d3 ed -1 +-1 +-1 +a200 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 11 +-1 + +d3_2 +4200 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 d3 ec -1 +-1 +-1 +4200 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 11 +-1 + +d3_3 +4200 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 d3 ed -1 +-1 +-1 +4200 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 11 +-1 + +d3 +a200 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 d3 ec -1 +-1 +-1 +a200 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 11 +-1 + +d4_1 +000e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0000 +00 00 0 0 0 0 1 +0000 d4 61 9c -1 +-1 +-1 +000e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5696 9c61 +00 01 0 0 0 0 17 +5696 03 00 -1 +-1 + +d4_2 +000f 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0000 +00 00 0 0 0 0 1 +0000 d4 61 9c -1 +-1 +-1 +000f 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0003 +00 01 0 0 0 0 10 +-1 + +d5 +53e3 1459 775f 1a2f 0000 0000 0000 0000 0000 0000 ec12 0000 +00 00 0 0 0 0 1 +0000 d5 -1 +-1 +-1 +53e3 1459 775f 1a2f 0000 0000 0000 0000 0000 0000 ec10 0001 +00 01 0 0 0 0 11 +ec10 5f 77 -1 +-1 + +d6 +3900 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 d6 df -1 +-1 +-1 +5a1b 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 +-1 + +d7 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 5507 6d33 +00 00 0 0 0 0 1 +6d33 d7 -1 +-1 +-1 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 5505 0010 +00 01 0 0 0 0 11 +5505 34 6d -1 +-1 + +d8_1 +0098 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0000 +00 00 0 0 0 0 1 +0000 d8 -1 +43f7 e9 af -1 +-1 +-1 +0098 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0001 +00 01 0 0 0 0 5 +-1 + +d8_2 +0099 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0000 +00 00 0 0 0 0 1 +0000 d8 -1 +43f7 e9 af -1 +-1 +-1 +0099 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f9 afe9 +00 01 0 0 0 0 11 +-1 + +d9 +4d94 e07a e35b 9d64 1a64 c930 3d01 7d02 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 d9 -1 +-1 +-1 +4d94 c930 3d01 7d02 1a64 e07a e35b 9d64 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +da_1 +0087 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 da 1b e1 -1 +-1 +-1 +0087 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 e11b +00 01 0 0 0 0 10 +-1 + +da_2 +0086 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 da 1b e1 -1 +-1 +-1 +0086 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0003 +00 01 0 0 0 0 10 +-1 + +db_1 +c100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 db e3 -1 +-1 +c1e3 c1 + -1 +c100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 11 +-1 + +db_2 +7100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 db e2 -1 +-1 +71e2 71 + -1 +7100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 11 +-1 + +db_3 +7100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 db e3 -1 +-1 +71e3 71 + -1 +7100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 11 +-1 + +db +c100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 db e2 -1 +-1 +c1e2 c1 + -1 +c100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 11 +-1 + +dc_1 +000f 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0000 +00 00 0 0 0 0 1 +0000 dc 61 9c -1 +-1 +-1 +000f 0000 0000 0000 0000 0000 0000 0000 0000 0000 5696 9c61 +00 01 0 0 0 0 17 +5696 03 00 -1 +-1 + +dc_2 +000e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0000 +00 00 0 0 0 0 1 +0000 dc 61 9c -1 +-1 +-1 +000e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0003 +00 01 0 0 0 0 10 +-1 + +dd00 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 9 +0000 dd 00 00 -1 +-1 +-1 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0003 +00 03 0 0 0 0 12 +-1 + +dd09 +0d05 1426 53ce 41e3 0000 0000 0000 0000 9ec0 5c89 0000 0000 +00 00 0 0 0 0 1 +0000 dd 09 -1 +-1 +-1 +0d34 1426 53ce 41e3 0000 0000 0000 0000 b2e6 5c89 0000 0002 +00 02 0 0 0 0 15 +-1 + +dd19 +1911 0e0b 2724 be62 0000 0000 0000 0000 824f 760b 0000 0000 +00 00 0 0 0 0 1 +0000 dd 19 -1 +-1 +-1 +1928 0e0b 2724 be62 0000 0000 0000 0000 a973 760b 0000 0002 +00 02 0 0 0 0 15 +-1 + +dd21 +c935 4353 bd22 94d5 0000 0000 0000 0000 dade aad6 0000 0000 +00 00 0 0 0 0 1 +0000 dd 21 f2 7c -1 +-1 +-1 +c935 4353 bd22 94d5 0000 0000 0000 0000 7cf2 aad6 0000 0004 +00 02 0 0 0 0 14 +-1 + +dd22 +5b1d 45a1 6de8 39d3 0000 0000 0000 0000 ebe7 05b0 0000 0000 +00 00 0 0 0 0 1 +0000 dd 22 4f ad -1 +-1 +-1 +5b1d 45a1 6de8 39d3 0000 0000 0000 0000 ebe7 05b0 0000 0004 +00 02 0 0 0 0 20 +ad4f e7 eb -1 +-1 + +dd23 +9095 ac3c 4d90 379b 0000 0000 0000 0000 d50b a157 0000 0000 +00 00 0 0 0 0 1 +0000 dd 23 -1 +-1 +-1 +9095 ac3c 4d90 379b 0000 0000 0000 0000 d50c a157 0000 0002 +00 02 0 0 0 0 10 +-1 + +dd24 +0698 dcd0 a31b d527 0000 0000 0000 0000 8cda b096 0000 0000 +00 00 0 0 0 0 1 +0000 dd 24 -1 +-1 +-1 +0688 dcd0 a31b d527 0000 0000 0000 0000 8dda b096 0000 0002 +00 02 0 0 0 0 8 +-1 + +dd25 +5acc 206b ed10 6eab 0000 0000 0000 0000 bb3c 5ebd 0000 0000 +00 00 0 0 0 0 1 +0000 dd 25 -1 +-1 +-1 +5aaa 206b ed10 6eab 0000 0000 0000 0000 ba3c 5ebd 0000 0002 +00 02 0 0 0 0 8 +-1 + +dd26 +9522 ede0 a352 adea 0000 0000 0000 0000 5f40 82e1 0000 0000 +00 00 0 0 0 0 1 +0000 dd 26 ad -1 +-1 +-1 +9522 ede0 a352 adea 0000 0000 0000 0000 ad40 82e1 0000 0003 +00 02 0 0 0 0 11 +-1 + +dd29 +ac80 0f0e 72c8 1f2a 0000 0000 0000 0000 5195 7d8a 0000 0000 +00 00 0 0 0 0 1 +0000 dd 29 -1 +-1 +-1 +aca0 0f0e 72c8 1f2a 0000 0000 0000 0000 a32a 7d8a 0000 0002 +00 02 0 0 0 0 15 +-1 + +dd2a +3d36 b24e bdbc ca4e 0000 0000 0000 0000 ba65 e7ce 0000 0000 +00 00 0 0 0 0 1 +0000 dd 2a bc 40 -1 +40bc b5 30 -1 +-1 +-1 +3d36 b24e bdbc ca4e 0000 0000 0000 0000 30b5 e7ce 0000 0004 +00 02 0 0 0 0 20 +-1 + +dd2b +ad4b d5e6 9377 f132 0000 0000 0000 0000 7a17 2188 0000 0000 +00 00 0 0 0 0 1 +0000 dd 2b -1 +-1 +-1 +ad4b d5e6 9377 f132 0000 0000 0000 0000 7a16 2188 0000 0002 +00 02 0 0 0 0 10 +-1 + +dd2c +8838 f2f3 d277 9153 0000 0000 0000 0000 c62f b002 0000 0000 +00 00 0 0 0 0 1 +0000 dd 2c -1 +-1 +-1 +8830 f2f3 d277 9153 0000 0000 0000 0000 c630 b002 0000 0002 +00 02 0 0 0 0 8 +-1 + +dd2d +39bc b23c 6e11 5a49 0000 0000 0000 0000 0267 ab03 0000 0000 +00 00 0 0 0 0 1 +0000 dd 2d -1 +-1 +-1 +3922 b23c 6e11 5a49 0000 0000 0000 0000 0266 ab03 0000 0002 +00 02 0 0 0 0 8 +-1 + +dd2e +9aca a04a b49f a4a6 0000 0000 0000 0000 bd90 38a1 0000 0000 +00 00 0 0 0 0 1 +0000 dd 2e 1c -1 +-1 +-1 +9aca a04a b49f a4a6 0000 0000 0000 0000 bd1c 38a1 0000 0003 +00 02 0 0 0 0 11 +-1 + +dd34 +8304 d1fc b80b 8082 0000 0000 0000 0000 dea9 6fd8 0000 0000 +00 00 0 0 0 0 1 +0000 dd 34 e6 -1 +de8f 57 -1 +-1 +-1 +8308 d1fc b80b 8082 0000 0000 0000 0000 dea9 6fd8 0000 0003 +00 02 0 0 0 0 23 +de8f 58 -1 +-1 + +dd35 +8681 4641 1ef6 10ab 0000 0000 0000 0000 c733 8ec4 0000 0000 +00 00 0 0 0 0 1 +0000 dd 35 60 -1 +c793 f7 -1 +-1 +-1 +86a3 4641 1ef6 10ab 0000 0000 0000 0000 c733 8ec4 0000 0003 +00 02 0 0 0 0 23 +c793 f6 -1 +-1 + +dd36 +76dc 2530 5158 877d 0000 0000 0000 0000 b5c6 8d3c 0000 0000 +00 00 0 0 0 0 1 +0000 dd 36 35 b5 -1 +-1 +-1 +76dc 2530 5158 877d 0000 0000 0000 0000 b5c6 8d3c 0000 0004 +00 02 0 0 0 0 19 +b5fb b5 -1 +-1 + +dd39 +875b a334 d79d 59e4 0000 0000 0000 0000 b11a 4c88 fa4a 0000 +00 00 0 0 0 0 1 +0000 dd 39 -1 +-1 +-1 +8769 a334 d79d 59e4 0000 0000 0000 0000 ab64 4c88 fa4a 0002 +00 02 0 0 0 0 15 +-1 + +dd44 +b37e cbb0 36e8 3f45 0000 0000 0000 0000 2702 b3b9 0000 0000 +00 00 0 0 0 0 1 +0000 dd 44 -1 +-1 +-1 +b37e 27b0 36e8 3f45 0000 0000 0000 0000 2702 b3b9 0000 0002 +00 02 0 0 0 0 8 +-1 + +dd45 +4e10 5c6d d11d 1736 0000 0000 0000 0000 7298 2d10 0000 0000 +00 00 0 0 0 0 1 +0000 dd 45 -1 +-1 +-1 +4e10 986d d11d 1736 0000 0000 0000 0000 7298 2d10 0000 0002 +00 02 0 0 0 0 8 +-1 + +dd46 +c758 bf29 66f2 29ef 0000 0000 0000 0000 5cc7 407d 0000 0000 +00 00 0 0 0 0 1 +0000 dd 46 68 -1 +5d2f 8d -1 +-1 +-1 +c758 8d29 66f2 29ef 0000 0000 0000 0000 5cc7 407d 0000 0003 +00 02 0 0 0 0 19 +-1 + +dd4c +e15c 75ec 7531 ae9e 0000 0000 0000 0000 3ed8 03b7 0000 0000 +00 00 0 0 0 0 1 +0000 dd 4c -1 +-1 +-1 +e15c 753e 7531 ae9e 0000 0000 0000 0000 3ed8 03b7 0000 0002 +00 02 0 0 0 0 8 +-1 + +dd4d +469e 7864 6a5a 00e2 0000 0000 0000 0000 a1aa 0d6f 0000 0000 +00 00 0 0 0 0 1 +0000 dd 4d -1 +-1 +-1 +469e 78aa 6a5a 00e2 0000 0000 0000 0000 a1aa 0d6f 0000 0002 +00 02 0 0 0 0 8 +-1 + +dd4e +7bf7 6605 8d55 def2 0000 0000 0000 0000 d94b 17fb 0000 0000 +00 00 0 0 0 0 1 +0000 dd 4e 2e -1 +d979 76 -1 +-1 +-1 +7bf7 6676 8d55 def2 0000 0000 0000 0000 d94b 17fb 0000 0003 +00 02 0 0 0 0 19 +-1 + +dd54 +8376 0d13 c767 3119 0000 0000 0000 0000 4b6d 030b 0000 0000 +00 00 0 0 0 0 1 +0000 dd 54 -1 +-1 +-1 +8376 0d13 4b67 3119 0000 0000 0000 0000 4b6d 030b 0000 0002 +00 02 0 0 0 0 8 +-1 + +dd55 +ff78 85e3 566b 8f3a 0000 0000 0000 0000 d7d7 4e0b 0000 0000 +00 00 0 0 0 0 1 +0000 dd 55 -1 +-1 +-1 +ff78 85e3 d76b 8f3a 0000 0000 0000 0000 d7d7 4e0b 0000 0002 +00 02 0 0 0 0 8 +-1 + +dd56 +97b3 b617 bb50 81d1 0000 0000 0000 0000 a306 7a49 0000 0000 +00 00 0 0 0 0 1 +0000 dd 56 f4 -1 +a2fa de -1 +-1 +-1 +97b3 b617 de50 81d1 0000 0000 0000 0000 a306 7a49 0000 0003 +00 02 0 0 0 0 19 +-1 + +dd5c +af82 24bf 2793 f925 0000 0000 0000 0000 f9a3 0b82 0000 0000 +00 00 0 0 0 0 1 +0000 dd 5c -1 +-1 +-1 +af82 24bf 27f9 f925 0000 0000 0000 0000 f9a3 0b82 0000 0002 +00 02 0 0 0 0 8 +-1 + +dd5d +36cb 97a9 400d 30fe 0000 0000 0000 0000 3340 b3ed 0000 0000 +00 00 0 0 0 0 1 +0000 dd 5d -1 +-1 +-1 +36cb 97a9 4040 30fe 0000 0000 0000 0000 3340 b3ed 0000 0002 +00 02 0 0 0 0 8 +-1 + +dd5e +a220 389d 2ff8 368c 0000 0000 0000 0000 8d32 3512 0000 0000 +00 00 0 0 0 0 1 +0000 dd 5e 8f -1 +8cc1 ce -1 +-1 +-1 +a220 389d 2fce 368c 0000 0000 0000 0000 8d32 3512 0000 0003 +00 02 0 0 0 0 19 +-1 + +dd60 +2392 7f6a 3dc0 cefb 0000 0000 0000 0000 44a0 c424 0000 0000 +00 00 0 0 0 0 1 +0000 dd 60 -1 +-1 +-1 +2392 7f6a 3dc0 cefb 0000 0000 0000 0000 7fa0 c424 0000 0002 +00 02 0 0 0 0 8 +-1 + +dd61 +76ed 268c d5c8 bab0 0000 0000 0000 0000 b650 0a93 0000 0000 +00 00 0 0 0 0 1 +0000 dd 61 -1 +-1 +-1 +76ed 268c d5c8 bab0 0000 0000 0000 0000 8c50 0a93 0000 0002 +00 02 0 0 0 0 8 +-1 + +dd62 +4c6f b482 fef4 62e7 0000 0000 0000 0000 6e25 9655 0000 0000 +00 00 0 0 0 0 1 +0000 dd 62 -1 +-1 +-1 +4c6f b482 fef4 62e7 0000 0000 0000 0000 fe25 9655 0000 0002 +00 02 0 0 0 0 8 +-1 + +dd63 +6e9a 5499 3c8f 1f64 0000 0000 0000 0000 bf35 0df7 0000 0000 +00 00 0 0 0 0 1 +0000 dd 63 -1 +-1 +-1 +6e9a 5499 3c8f 1f64 0000 0000 0000 0000 8f35 0df7 0000 0002 +00 02 0 0 0 0 8 +-1 + +dd64 +47f6 1b7a a55e 2fc2 0000 0000 0000 0000 efc7 aca0 0000 0000 +00 00 0 0 0 0 1 +0000 dd 64 -1 +-1 +-1 +47f6 1b7a a55e 2fc2 0000 0000 0000 0000 efc7 aca0 0000 0002 +00 02 0 0 0 0 8 +-1 + +dd65 +d786 7d1d b659 77e8 0000 0000 0000 0000 58fa 006d 0000 0000 +00 00 0 0 0 0 1 +0000 dd 65 -1 +-1 +-1 +d786 7d1d b659 77e8 0000 0000 0000 0000 fafa 006d 0000 0002 +00 02 0 0 0 0 8 +-1 + +dd66 +84c2 79b1 ca4a aaa0 0000 0000 0000 0000 ce5d dd2d 0000 0000 +00 00 0 0 0 0 1 +0000 dd 66 b5 -1 +ce12 03 -1 +-1 +-1 +84c2 79b1 ca4a 03a0 0000 0000 0000 0000 ce5d dd2d 0000 0003 +00 02 0 0 0 0 19 +-1 + +dd67 +967c 511e 336d 40f6 0000 0000 0000 0000 66e7 5be2 0000 0000 +00 00 0 0 0 0 1 +0000 dd 67 -1 +-1 +-1 +967c 511e 336d 40f6 0000 0000 0000 0000 96e7 5be2 0000 0002 +00 02 0 0 0 0 8 +-1 + +dd68 +4a9d efa8 febd 07e4 0000 0000 0000 0000 5fd8 b23f 0000 0000 +00 00 0 0 0 0 1 +0000 dd 68 -1 +-1 +-1 +4a9d efa8 febd 07e4 0000 0000 0000 0000 5fef b23f 0000 0002 +00 02 0 0 0 0 8 +-1 + +dd69 +6466 2142 2523 82b3 0000 0000 0000 0000 6479 04a7 0000 0000 +00 00 0 0 0 0 1 +0000 dd 69 -1 +-1 +-1 +6466 2142 2523 82b3 0000 0000 0000 0000 6442 04a7 0000 0002 +00 02 0 0 0 0 8 +-1 + +dd6a +401f 61f1 4b08 fa88 0000 0000 0000 0000 c37f d8f6 0000 0000 +00 00 0 0 0 0 1 +0000 dd 6a -1 +-1 +-1 +401f 61f1 4b08 fa88 0000 0000 0000 0000 c34b d8f6 0000 0002 +00 02 0 0 0 0 8 +-1 + +dd6b +6dc7 e2ae 40bd f3c0 0000 0000 0000 0000 2290 2749 0000 0000 +00 00 0 0 0 0 1 +0000 dd 6b -1 +-1 +-1 +6dc7 e2ae 40bd f3c0 0000 0000 0000 0000 22bd 2749 0000 0002 +00 02 0 0 0 0 8 +-1 + +dd6c +3939 90da 62dc 7c31 0000 0000 0000 0000 412f 7211 0000 0000 +00 00 0 0 0 0 1 +0000 dd 6c -1 +-1 +-1 +3939 90da 62dc 7c31 0000 0000 0000 0000 4141 7211 0000 0002 +00 02 0 0 0 0 8 +-1 + +dd6d +3964 ff3f 23d4 c7c7 0000 0000 0000 0000 9b70 20c6 0000 0000 +00 00 0 0 0 0 1 +0000 dd 6d -1 +-1 +-1 +3964 ff3f 23d4 c7c7 0000 0000 0000 0000 9b70 20c6 0000 0002 +00 02 0 0 0 0 8 +-1 + +dd6e +223f f661 b61c 0f53 0000 0000 0000 0000 c648 fae8 0000 0000 +00 00 0 0 0 0 1 +0000 dd 6e 2c -1 +c674 6b -1 +-1 +-1 +223f f661 b61c 0f6b 0000 0000 0000 0000 c648 fae8 0000 0003 +00 02 0 0 0 0 19 +-1 + +dd6f +6e84 9cd4 a293 647d 0000 0000 0000 0000 0d0b 4a56 0000 0000 +00 00 0 0 0 0 1 +0000 dd 6f -1 +-1 +-1 +6e84 9cd4 a293 647d 0000 0000 0000 0000 0d6e 4a56 0000 0002 +00 02 0 0 0 0 8 +-1 + +dd70 +d09f fe00 231e 31ec 0000 0000 0000 0000 05fa ea92 0000 0000 +00 00 0 0 0 0 1 +0000 dd 70 f6 -1 +-1 +-1 +d09f fe00 231e 31ec 0000 0000 0000 0000 05fa ea92 0000 0003 +00 02 0 0 0 0 19 +05f0 fe -1 +-1 + +dd71 +ebee 151c 05c7 ee08 0000 0000 0000 0000 3722 2ec6 0000 0000 +00 00 0 0 0 0 1 +0000 dd 71 23 -1 +-1 +-1 +ebee 151c 05c7 ee08 0000 0000 0000 0000 3722 2ec6 0000 0003 +00 02 0 0 0 0 19 +3745 1c -1 +-1 + +dd72 +80c9 ac1e 63bd 828b 0000 0000 0000 0000 8dff 94ef 0000 0000 +00 00 0 0 0 0 1 +0000 dd 72 93 -1 +-1 +-1 +80c9 ac1e 63bd 828b 0000 0000 0000 0000 8dff 94ef 0000 0003 +00 02 0 0 0 0 19 +8d92 63 -1 +-1 + +dd73 +8f3e b5a3 07de 0b0c 0000 0000 0000 0000 79c6 ae79 0000 0000 +00 00 0 0 0 0 1 +0000 dd 73 57 -1 +-1 +-1 +8f3e b5a3 07de 0b0c 0000 0000 0000 0000 79c6 ae79 0000 0003 +00 02 0 0 0 0 19 +7a1d de -1 +-1 + +dd74 +4ae0 49c5 3deb 0125 0000 0000 0000 0000 5910 429a 0000 0000 +00 00 0 0 0 0 1 +0000 dd 74 b9 -1 +-1 +-1 +4ae0 49c5 3deb 0125 0000 0000 0000 0000 5910 429a 0000 0003 +00 02 0 0 0 0 19 +58c9 01 -1 +-1 + +dd75 +5772 e833 b63e 734f 0000 0000 0000 0000 ae4c e8c2 0000 0000 +00 00 0 0 0 0 1 +0000 dd 75 30 -1 +-1 +-1 +5772 e833 b63e 734f 0000 0000 0000 0000 ae4c e8c2 0000 0003 +00 02 0 0 0 0 19 +ae7c 4f -1 +-1 + +dd77 +dc56 d893 4116 f2d2 0000 0000 0000 0000 a181 3157 0000 0000 +00 00 0 0 0 0 1 +0000 dd 77 8c -1 +-1 +-1 +dc56 d893 4116 f2d2 0000 0000 0000 0000 a181 3157 0000 0003 +00 02 0 0 0 0 19 +a10d dc -1 +-1 + +dd7c +7558 7705 ac92 a6a1 0000 0000 0000 0000 8cde 7507 0000 0000 +00 00 0 0 0 0 1 +0000 dd 7c -1 +-1 +-1 +8c58 7705 ac92 a6a1 0000 0000 0000 0000 8cde 7507 0000 0002 +00 02 0 0 0 0 8 +-1 + +dd7d +6c18 93fb 6bdd 3a10 0000 0000 0000 0000 d7cb c0f6 0000 0000 +00 00 0 0 0 0 1 +0000 dd 7d -1 +-1 +-1 +cb18 93fb 6bdd 3a10 0000 0000 0000 0000 d7cb c0f6 0000 0002 +00 02 0 0 0 0 8 +-1 + +dd7e +6a66 1f77 6220 0c40 0000 0000 0000 0000 1cf4 1a1f 0000 0000 +00 00 0 0 0 0 1 +0000 dd 7e bc -1 +1cb0 57 -1 +-1 +-1 +5766 1f77 6220 0c40 0000 0000 0000 0000 1cf4 1a1f 0000 0003 +00 02 0 0 0 0 19 +-1 + +dd84 +2e47 1de8 b8b9 78a6 0000 0000 0000 0000 9f1d b11f 0000 0000 +00 00 0 0 0 0 1 +0000 dd 84 -1 +-1 +-1 +cd98 1de8 b8b9 78a6 0000 0000 0000 0000 9f1d b11f 0000 0002 +00 02 0 0 0 0 8 +-1 + +dd85 +b27a b1ff 8d7b 40c0 0000 0000 0000 0000 b513 0688 0000 0000 +00 00 0 0 0 0 1 +0000 dd 85 -1 +-1 +-1 +c580 b1ff 8d7b 40c0 0000 0000 0000 0000 b513 0688 0000 0002 +00 02 0 0 0 0 8 +-1 + +dd86 +4efa d085 5bac e364 0000 0000 0000 0000 b5b5 fe3a 0000 0000 +00 00 0 0 0 0 1 +0000 dd 86 c1 -1 +b576 5b -1 +-1 +-1 +a9bc d085 5bac e364 0000 0000 0000 0000 b5b5 fe3a 0000 0003 +00 02 0 0 0 0 19 +-1 + +dd8c +bc63 8fdc ea8f 9734 0000 0000 0000 0000 0eb3 1b54 0000 0000 +00 00 0 0 0 0 1 +0000 dd 8c -1 +-1 +-1 +cb98 8fdc ea8f 9734 0000 0000 0000 0000 0eb3 1b54 0000 0002 +00 02 0 0 0 0 8 +-1 + +dd8d +b61f 1c81 b6fb d6e5 0000 0000 0000 0000 09be a736 0000 0000 +00 00 0 0 0 0 1 +0000 dd 8d -1 +-1 +-1 +7535 1c81 b6fb d6e5 0000 0000 0000 0000 09be a736 0000 0002 +00 02 0 0 0 0 8 +-1 + +dd8e +4ed4 182d ab17 94ae 0000 0000 0000 0000 bb97 87da 0000 0000 +00 00 0 0 0 0 1 +0000 dd 8e 25 -1 +bbbc 32 -1 +-1 +-1 +8094 182d ab17 94ae 0000 0000 0000 0000 bb97 87da 0000 0003 +00 02 0 0 0 0 19 +-1 + +dd94 +7ef1 9efe 6ea1 fc55 0000 0000 0000 0000 0a09 89c5 0000 0000 +00 00 0 0 0 0 1 +0000 dd 94 -1 +-1 +-1 +7422 9efe 6ea1 fc55 0000 0000 0000 0000 0a09 89c5 0000 0002 +00 02 0 0 0 0 8 +-1 + +dd95 +2920 59ab 428c 3a94 0000 0000 0000 0000 44fd f243 0000 0000 +00 00 0 0 0 0 1 +0000 dd 95 -1 +-1 +-1 +2c3b 59ab 428c 3a94 0000 0000 0000 0000 44fd f243 0000 0002 +00 02 0 0 0 0 8 +-1 + +dd96 +9b76 461f ced7 db3f 0000 0000 0000 0000 2c66 9dbf 0000 0000 +00 00 0 0 0 0 1 +0000 dd 96 5f -1 +2cc5 49 -1 +-1 +-1 +5206 461f ced7 db3f 0000 0000 0000 0000 2c66 9dbf 0000 0003 +00 02 0 0 0 0 19 +-1 + +dd9c +faf4 670e afcc 8b34 0000 0000 0000 0000 285f 1caa 0000 0000 +00 00 0 0 0 0 1 +0000 dd 9c -1 +-1 +-1 +d282 670e afcc 8b34 0000 0000 0000 0000 285f 1caa 0000 0002 +00 02 0 0 0 0 8 +-1 + +dd9d +f827 0cdb df32 d0e4 0000 0000 0000 0000 9b12 7d07 0000 0000 +00 00 0 0 0 0 1 +0000 dd 9d -1 +-1 +-1 +e5a2 0cdb df32 d0e4 0000 0000 0000 0000 9b12 7d07 0000 0002 +00 02 0 0 0 0 8 +-1 + +dd9e +938e f9c5 cbc4 ca21 0000 0000 0000 0000 b4cc 46fa 0000 0000 +00 00 0 0 0 0 1 +0000 dd 9e 14 -1 +b4e0 b5 -1 +-1 +-1 +de9b f9c5 cbc4 ca21 0000 0000 0000 0000 b4cc 46fa 0000 0003 +00 02 0 0 0 0 19 +-1 + +dda4 +52f5 ba53 acfc 9481 0000 0000 0000 0000 2f8b edf6 0000 0000 +00 00 0 0 0 0 1 +0000 dd a4 -1 +-1 +-1 +0210 ba53 acfc 9481 0000 0000 0000 0000 2f8b edf6 0000 0002 +00 02 0 0 0 0 8 +-1 + +dda5 +baaf a675 d757 f1db 0000 0000 0000 0000 fdef d8ce 0000 0000 +00 00 0 0 0 0 1 +0000 dd a5 -1 +-1 +-1 +aabc a675 d757 f1db 0000 0000 0000 0000 fdef d8ce 0000 0002 +00 02 0 0 0 0 8 +-1 + +dda6 +1da4 20c4 ebc3 da8d 0000 0000 0000 0000 7e95 5e8a 0000 0000 +00 00 0 0 0 0 1 +0000 dd a6 41 -1 +7ed6 c7 -1 +-1 +-1 +0514 20c4 ebc3 da8d 0000 0000 0000 0000 7e95 5e8a 0000 0003 +00 02 0 0 0 0 19 +-1 + +ddac +ef15 2a7c 17e5 3f6e 0000 0000 0000 0000 affa a0b5 0000 0000 +00 00 0 0 0 0 1 +0000 dd ac -1 +-1 +-1 +4000 2a7c 17e5 3f6e 0000 0000 0000 0000 affa a0b5 0000 0002 +00 02 0 0 0 0 8 +-1 + +ddad +ba2e 6ba1 ef1b 5713 0000 0000 0000 0000 ba38 a708 0000 0000 +00 00 0 0 0 0 1 +0000 dd ad -1 +-1 +-1 +8284 6ba1 ef1b 5713 0000 0000 0000 0000 ba38 a708 0000 0002 +00 02 0 0 0 0 8 +-1 + +ddae +8009 3ad6 a721 2100 0000 0000 0000 0000 e909 87b4 0000 0000 +00 00 0 0 0 0 1 +0000 dd ae 72 -1 +e97b c3 -1 +-1 +-1 +4300 3ad6 a721 2100 0000 0000 0000 0000 e909 87b4 0000 0003 +00 02 0 0 0 0 19 +-1 + +ddb4 +1ccd 29aa 2e82 4dc8 0000 0000 0000 0000 9c04 8be3 0000 0000 +00 00 0 0 0 0 1 +0000 dd b4 -1 +-1 +-1 +9c8c 29aa 2e82 4dc8 0000 0000 0000 0000 9c04 8be3 0000 0002 +00 02 0 0 0 0 8 +-1 + +ddb5 +46b4 fc93 7a06 0518 0000 0000 0000 0000 0ac5 4150 0000 0000 +00 00 0 0 0 0 1 +0000 dd b5 -1 +-1 +-1 +c780 fc93 7a06 0518 0000 0000 0000 0000 0ac5 4150 0000 0002 +00 02 0 0 0 0 8 +-1 + +ddb6 +5017 ab81 4287 5ee1 0000 0000 0000 0000 c66f d6cc 0000 0000 +00 00 0 0 0 0 1 +0000 dd b6 31 -1 +c6a0 1c -1 +-1 +-1 +5c0c ab81 4287 5ee1 0000 0000 0000 0000 c66f d6cc 0000 0003 +00 02 0 0 0 0 19 +-1 + +ddbc +53e0 aa98 f7d7 fa0c 0000 0000 0000 0000 be7a a41f 0000 0000 +00 00 0 0 0 0 1 +0000 dd bc -1 +-1 +-1 +53bf aa98 f7d7 fa0c 0000 0000 0000 0000 be7a a41f 0000 0002 +00 02 0 0 0 0 8 +-1 + +ddbd +dc83 80ce 5d2f e999 0000 0000 0000 0000 bb41 a24f 0000 0000 +00 00 0 0 0 0 1 +0000 dd bd -1 +-1 +-1 +dc82 80ce 5d2f e999 0000 0000 0000 0000 bb41 a24f 0000 0002 +00 02 0 0 0 0 8 +-1 + +ddbe +9838 bfd5 a299 d34b 0000 0000 0000 0000 9332 b1d5 0000 0000 +00 00 0 0 0 0 1 +0000 dd be 48 -1 +937a 5b -1 +-1 +-1 +981e bfd5 a299 d34b 0000 0000 0000 0000 9332 b1d5 0000 0003 +00 02 0 0 0 0 19 +-1 + +ddcb00 +3c65 f0e4 09d1 646b 0000 0000 0000 0000 1da1 f08f 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 0d 00 -1 +1dae a1 -1 +-1 +-1 +3c01 43e4 09d1 646b 0000 0000 0000 0000 1da1 f08f 0000 0004 +00 02 0 0 0 0 23 +1dae 43 -1 +-1 + +ddcb01 +f68f e33b 2d4a 7725 0000 0000 0000 0000 28fd f31b 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb b7 01 -1 +28b4 e3 -1 +-1 +-1 +f681 e3c7 2d4a 7725 0000 0000 0000 0000 28fd f31b 0000 0004 +00 02 0 0 0 0 23 +28b4 c7 -1 +-1 + +ddcb02 +e20c 836e 513a f840 0000 0000 0000 0000 c796 ae9b 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 91 02 -1 +c727 8d -1 +-1 +-1 +e20d 836e 1b3a f840 0000 0000 0000 0000 c796 ae9b 0000 0004 +00 02 0 0 0 0 23 +c727 1b -1 +-1 + +ddcb03 +6224 3571 c519 48dc 0000 0000 0000 0000 041e c07b 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 48 03 -1 +0466 78 -1 +-1 +-1 +62a4 3571 c5f0 48dc 0000 0000 0000 0000 041e c07b 0000 0004 +00 02 0 0 0 0 23 +0466 f0 -1 +-1 + +ddcb04 +b310 bfc4 64af d622 0000 0000 0000 0000 5949 a989 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 48 04 -1 +5991 68 -1 +-1 +-1 +b380 bfc4 64af d022 0000 0000 0000 0000 5949 a989 0000 0004 +00 02 0 0 0 0 23 +5991 d0 -1 +-1 + +ddcb05 +4954 bb04 56ec 9d58 0000 0000 0000 0000 0077 1349 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb ff 05 -1 +0076 95 -1 +-1 +-1 +492d bb04 56ec 9d2b 0000 0000 0000 0000 0077 1349 0000 0004 +00 02 0 0 0 0 23 +0076 2b -1 +-1 + +ddcb06 +0cf4 f636 90a6 6117 0000 0000 0000 0000 5421 90ee 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 07 06 -1 +5428 97 -1 +-1 +-1 +0c29 f636 90a6 6117 0000 0000 0000 0000 5421 90ee 0000 0004 +00 02 0 0 0 0 23 +5428 2f -1 +-1 + +ddcb07 +6f4d 9ca3 bdf6 ed50 0000 0000 0000 0000 9803 55f9 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 42 07 -1 +9845 ae -1 +-1 +-1 +5d09 9ca3 bdf6 ed50 0000 0000 0000 0000 9803 55f9 0000 0004 +00 02 0 0 0 0 23 +9845 5d -1 +-1 + +ddcb08 +02f4 1c66 6023 ae06 0000 0000 0000 0000 ef40 b006 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 0a 08 -1 +ef4a da -1 +-1 +-1 +0228 6d66 6023 ae06 0000 0000 0000 0000 ef40 b006 0000 0004 +00 02 0 0 0 0 23 +ef4a 6d -1 +-1 + +ddcb09 +9825 9258 54d5 5e1e 0000 0000 0000 0000 9d0b 6e58 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 3b 09 -1 +9d46 6f -1 +-1 +-1 +98a5 92b7 54d5 5e1e 0000 0000 0000 0000 9d0b 6e58 0000 0004 +00 02 0 0 0 0 23 +9d46 b7 -1 +-1 + +ddcb0a +d2dd 6aac e789 9293 0000 0000 0000 0000 1fb4 2498 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 83 0a -1 +1f37 78 -1 +-1 +-1 +d22c 6aac 3c89 9293 0000 0000 0000 0000 1fb4 2498 0000 0004 +00 02 0 0 0 0 23 +1f37 3c -1 +-1 + +ddcb0b +b82c b284 23f8 7e7d 0000 0000 0000 0000 cd09 6a03 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb fa 0b -1 +cd03 92 -1 +-1 +-1 +b808 b284 2349 7e7d 0000 0000 0000 0000 cd09 6a03 0000 0004 +00 02 0 0 0 0 23 +cd03 49 -1 +-1 + +ddcb0c +df8b b6cc ee8d 855a 0000 0000 0000 0000 bf6b 9b7d 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 79 0c -1 +bfe4 0d -1 +-1 +-1 +df81 b6cc ee8d 865a 0000 0000 0000 0000 bf6b 9b7d 0000 0004 +00 02 0 0 0 0 23 +bfe4 86 -1 +-1 + +ddcb0d +bae3 ceec bbaa b65e 0000 0000 0000 0000 88bd 503e 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb e4 0d -1 +88a1 1f -1 +-1 +-1 +ba89 ceec bbaa b68f 0000 0000 0000 0000 88bd 503e 0000 0004 +00 02 0 0 0 0 23 +88a1 8f -1 +-1 + +ddcb0e +1c36 890b 7830 060c 0000 0000 0000 0000 fd49 5d07 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb c6 0e -1 +fd0f ad -1 +-1 +-1 +1c81 890b 7830 060c 0000 0000 0000 0000 fd49 5d07 0000 0004 +00 02 0 0 0 0 23 +fd0f d6 -1 +-1 + +ddcb0f +f5a7 fad4 fa4b 9c53 0000 0000 0000 0000 7447 2267 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 57 0f -1 +749e f8 -1 +-1 +-1 +7c28 fad4 fa4b 9c53 0000 0000 0000 0000 7447 2267 0000 0004 +00 02 0 0 0 0 23 +749e 7c -1 +-1 + +ddcb10 +f3af ba1f 5387 926e 0000 0000 0000 0000 bba2 ca47 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 4f 10 -1 +bbf1 45 -1 +-1 +-1 +f38c 8b1f 5387 926e 0000 0000 0000 0000 bba2 ca47 0000 0004 +00 02 0 0 0 0 23 +bbf1 8b -1 +-1 + +ddcb11 +2a69 d604 a9aa 5b52 0000 0000 0000 0000 1809 d275 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb eb 11 -1 +17f4 d9 -1 +-1 +-1 +2aa1 d6b3 a9aa 5b52 0000 0000 0000 0000 1809 d275 0000 0004 +00 02 0 0 0 0 23 +17f4 b3 -1 +-1 + +ddcb12 +9287 c479 26d1 10ce 0000 0000 0000 0000 c0fb 2777 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb a6 12 -1 +c0a1 e2 -1 +-1 +-1 +9285 c479 c5d1 10ce 0000 0000 0000 0000 c0fb 2777 0000 0004 +00 02 0 0 0 0 23 +c0a1 c5 -1 +-1 + +ddcb13 +a507 580a a48f 11cd 0000 0000 0000 0000 5ac4 ccc7 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb ff 13 -1 +5ac3 a7 -1 +-1 +-1 +a509 580a a44f 11cd 0000 0000 0000 0000 5ac4 ccc7 0000 0004 +00 02 0 0 0 0 23 +5ac3 4f -1 +-1 + +ddcb14 +294b 5b89 8467 0430 0000 0000 0000 0000 0977 c4e8 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb dd 14 -1 +0954 85 -1 +-1 +-1 +2909 5b89 8467 0b30 0000 0000 0000 0000 0977 c4e8 0000 0004 +00 02 0 0 0 0 23 +0954 0b -1 +-1 + +ddcb15 +1fd1 6d53 5b7c a134 0000 0000 0000 0000 ede9 a85c 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 07 15 -1 +edf0 0e -1 +-1 +-1 +1f0c 6d53 5b7c a11d 0000 0000 0000 0000 ede9 a85c 0000 0004 +00 02 0 0 0 0 23 +edf0 1d -1 +-1 + +ddcb16 +da70 a1e4 00b0 92c8 0000 0000 0000 0000 16be 2c95 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 45 16 -1 +1703 5b -1 +-1 +-1 +daa0 a1e4 00b0 92c8 0000 0000 0000 0000 16be 2c95 0000 0004 +00 02 0 0 0 0 23 +1703 b6 -1 +-1 + +ddcb17 +3300 cbd1 4e1a cd27 0000 0000 0000 0000 b8c9 e6d4 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 1c 17 -1 +b8e5 7e -1 +-1 +-1 +fcac cbd1 4e1a cd27 0000 0000 0000 0000 b8c9 e6d4 0000 0004 +00 02 0 0 0 0 23 +b8e5 fc -1 +-1 + +ddcb18 +d980 4eb5 9cf9 b9f1 0000 0000 0000 0000 a189 bd7c 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 0e 18 -1 +a197 90 -1 +-1 +-1 +d90c 48b5 9cf9 b9f1 0000 0000 0000 0000 a189 bd7c 0000 0004 +00 02 0 0 0 0 23 +a197 48 -1 +-1 + +ddcb19 +23b7 595a a756 cf2e 0000 0000 0000 0000 f0e7 26e4 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb a3 19 -1 +f08a 37 -1 +-1 +-1 +2389 599b a756 cf2e 0000 0000 0000 0000 f0e7 26e4 0000 0004 +00 02 0 0 0 0 23 +f08a 9b -1 +-1 + +ddcb1a +8b52 7e45 bd0f 37a6 0000 0000 0000 0000 de61 9cd9 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb ac 1a -1 +de0d cc -1 +-1 +-1 +8b24 7e45 660f 37a6 0000 0000 0000 0000 de61 9cd9 0000 0004 +00 02 0 0 0 0 23 +de0d 66 -1 +-1 + +ddcb1b +5c79 1414 811c 5881 0000 0000 0000 0000 b7c3 d14f 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 05 1b -1 +b7c8 91 -1 +-1 +-1 +5c89 1414 81c8 5881 0000 0000 0000 0000 b7c3 d14f 0000 0004 +00 02 0 0 0 0 23 +b7c8 c8 -1 +-1 + +ddcb1c +fafc 6277 8b67 d423 0000 0000 0000 0000 fef9 4a66 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb ff 1c -1 +fef8 61 -1 +-1 +-1 +fa25 6277 8b67 3023 0000 0000 0000 0000 fef9 4a66 0000 0004 +00 02 0 0 0 0 23 +fef8 30 -1 +-1 + +ddcb1d +76a5 324e e641 58f9 0000 0000 0000 0000 5b63 e18b 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 3a 1d -1 +5b9d f3 -1 +-1 +-1 +76ad 324e e641 58f9 0000 0000 0000 0000 5b63 e18b 0000 0004 +00 02 0 0 0 0 23 +5b9d f9 -1 +-1 + +ddcb1e +c5d9 cd58 8967 f074 0000 0000 0000 0000 75b4 693a 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb ce 1e -1 +7582 91 -1 +-1 +-1 +c589 cd58 8967 f074 0000 0000 0000 0000 75b4 693a 0000 0004 +00 02 0 0 0 0 23 +7582 c8 -1 +-1 + +ddcb1f +d28f 7f6d 2058 63e3 0000 0000 0000 0000 1d9b baba 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb a8 1f -1 +1d43 b4 -1 +-1 +-1 +da88 7f6d 2058 63e3 0000 0000 0000 0000 1d9b baba 0000 0004 +00 02 0 0 0 0 23 +1d43 da -1 +-1 + +ddcb20 +4ce5 739e dc6c 18f4 0000 0000 0000 0000 dc39 8b0c 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb e8 20 -1 +dc21 0e -1 +-1 +-1 +4c08 1c9e dc6c 18f4 0000 0000 0000 0000 dc39 8b0c 0000 0004 +00 02 0 0 0 0 23 +dc21 1c -1 +-1 + +ddcb21 +d29d 66dd 23ef 9096 0000 0000 0000 0000 3494 b6c3 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 9e 21 -1 +3432 f7 -1 +-1 +-1 +d2ad 66ee 23ef 9096 0000 0000 0000 0000 3494 b6c3 0000 0004 +00 02 0 0 0 0 23 +3432 ee -1 +-1 + +ddcb22 +fb5d e0d0 7c02 b4b7 0000 0000 0000 0000 bd3f 385b 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 43 22 -1 +bd82 9f -1 +-1 +-1 +fb29 e0d0 3e02 b4b7 0000 0000 0000 0000 bd3f 385b 0000 0004 +00 02 0 0 0 0 23 +bd82 3e -1 +-1 + +ddcb23 +c359 68b6 da84 b990 0000 0000 0000 0000 22dd bd27 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb c1 23 -1 +229e e0 -1 +-1 +-1 +c385 68b6 dac0 b990 0000 0000 0000 0000 22dd bd27 0000 0004 +00 02 0 0 0 0 23 +229e c0 -1 +-1 + +ddcb24 +baf5 7b0b 560b 7c33 0000 0000 0000 0000 31f1 ddbd 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb e8 24 -1 +31d9 c3 -1 +-1 +-1 +ba81 7b0b 560b 8633 0000 0000 0000 0000 31f1 ddbd 0000 0004 +00 02 0 0 0 0 23 +31d9 86 -1 +-1 + +ddcb25 +43bb a21b 2347 ae4a 0000 0000 0000 0000 cc63 fc94 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb c1 25 -1 +cc24 eb -1 +-1 +-1 +4381 a21b 2347 aed6 0000 0000 0000 0000 cc63 fc94 0000 0004 +00 02 0 0 0 0 23 +cc24 d6 -1 +-1 + +ddcb26 +2065 ff37 e41f 70e7 0000 0000 0000 0000 6528 a0d5 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb f7 26 -1 +651f 89 -1 +-1 +-1 +2005 ff37 e41f 70e7 0000 0000 0000 0000 6528 a0d5 0000 0004 +00 02 0 0 0 0 23 +651f 12 -1 +-1 + +ddcb27 +a806 5669 1bee f62c 0000 0000 0000 0000 1f69 3418 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb c3 27 -1 +1f2c ac -1 +-1 +-1 +5809 5669 1bee f62c 0000 0000 0000 0000 1f69 3418 0000 0004 +00 02 0 0 0 0 23 +1f2c 58 -1 +-1 + +ddcb28 +7afd 64b8 51f7 7164 0000 0000 0000 0000 999b 8857 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb b6 28 -1 +9951 24 -1 +-1 +-1 +7a04 12b8 51f7 7164 0000 0000 0000 0000 999b 8857 0000 0004 +00 02 0 0 0 0 23 +9951 12 -1 +-1 + +ddcb29 +0404 b794 323f fd34 0000 0000 0000 0000 20e7 c753 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 9c 29 -1 +2083 82 -1 +-1 +-1 +0480 b7c1 323f fd34 0000 0000 0000 0000 20e7 c753 0000 0004 +00 02 0 0 0 0 23 +2083 c1 -1 +-1 + +ddcb2a +4524 afde 0c08 75d7 0000 0000 0000 0000 9505 b624 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb d8 2a -1 +94dd 7c -1 +-1 +-1 +4528 afde 3e08 75d7 0000 0000 0000 0000 9505 b624 0000 0004 +00 02 0 0 0 0 23 +94dd 3e -1 +-1 + +ddcb2b +8324 e290 26be 7ddd 0000 0000 0000 0000 b484 571c 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb bd 2b -1 +b441 44 -1 +-1 +-1 +8324 e290 2622 7ddd 0000 0000 0000 0000 b484 571c 0000 0004 +00 02 0 0 0 0 23 +b441 22 -1 +-1 + +ddcb2c +c688 0c94 6e4b 7dc7 0000 0000 0000 0000 fe28 dc80 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 2c 2c -1 +fe54 81 -1 +-1 +-1 +c685 0c94 6e4b c0c7 0000 0000 0000 0000 fe28 dc80 0000 0004 +00 02 0 0 0 0 23 +fe54 c0 -1 +-1 + +ddcb2d +ce28 d2ae c9be 4236 0000 0000 0000 0000 b4ed 6de3 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 9b 2d -1 +b488 44 -1 +-1 +-1 +ce24 d2ae c9be 4222 0000 0000 0000 0000 b4ed 6de3 0000 0004 +00 02 0 0 0 0 23 +b488 22 -1 +-1 + +ddcb2e +50b0 de74 eca8 83ff 0000 0000 0000 0000 69d8 75c7 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 3d 2e -1 +6a15 05 -1 +-1 +-1 +5001 de74 eca8 83ff 0000 0000 0000 0000 69d8 75c7 0000 0004 +00 02 0 0 0 0 23 +6a15 02 -1 +-1 + +ddcb2f +aec6 759b 3059 01b9 0000 0000 0000 0000 7a30 dd56 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb d3 2f -1 +7a03 f2 -1 +-1 +-1 +f9ac 759b 3059 01b9 0000 0000 0000 0000 7a30 dd56 0000 0004 +00 02 0 0 0 0 23 +7a03 f9 -1 +-1 + +ddcb30 +3c89 96ad 9cc7 a68c 0000 0000 0000 0000 eee8 5a80 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb df 30 -1 +eec7 32 -1 +-1 +-1 +3c24 65ad 9cc7 a68c 0000 0000 0000 0000 eee8 5a80 0000 0004 +00 02 0 0 0 0 23 +eec7 65 -1 +-1 + +ddcb31 +ebf5 41e9 929b 7d47 0000 0000 0000 0000 f22d 8943 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 49 31 -1 +f276 cd -1 +-1 +-1 +eb89 419b 929b 7d47 0000 0000 0000 0000 f22d 8943 0000 0004 +00 02 0 0 0 0 23 +f276 9b -1 +-1 + +ddcb32 +9a1b aa64 4209 01ad 0000 0000 0000 0000 579f ec4c 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb e0 32 -1 +577f e2 -1 +-1 +-1 +9a85 aa64 c509 01ad 0000 0000 0000 0000 579f ec4c 0000 0004 +00 02 0 0 0 0 23 +577f c5 -1 +-1 + +ddcb33 +b8b1 b854 524f 9599 0000 0000 0000 0000 efac d9ec 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb c9 33 -1 +ef75 0b -1 +-1 +-1 +b804 b854 5217 9599 0000 0000 0000 0000 efac d9ec 0000 0004 +00 02 0 0 0 0 23 +ef75 17 -1 +-1 + +ddcb34 +cd3c 4432 20d4 0b3e 0000 0000 0000 0000 ab48 c95f 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 49 34 -1 +ab91 ef -1 +-1 +-1 +cd89 4432 20d4 df3e 0000 0000 0000 0000 ab48 c95f 0000 0004 +00 02 0 0 0 0 23 +ab91 df -1 +-1 + +ddcb35 +deb1 c6fc 696d 150d 0000 0000 0000 0000 eb1a 4a12 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb b9 35 -1 +ead3 8f -1 +-1 +-1 +de09 c6fc 696d 151f 0000 0000 0000 0000 eb1a 4a12 0000 0004 +00 02 0 0 0 0 23 +ead3 1f -1 +-1 + +ddcb36 +3d81 443b ff21 63e3 0000 0000 0000 0000 132e fb39 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb b4 36 -1 +12e2 02 -1 +-1 +-1 +3d04 443b ff21 63e3 0000 0000 0000 0000 132e fb39 0000 0004 +00 02 0 0 0 0 23 +12e2 05 -1 +-1 + +ddcb37 +72d9 bfc9 a69a ec0b 0000 0000 0000 0000 5077 4e3e 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb c6 37 -1 +503d 3d -1 +-1 +-1 +7b2c bfc9 a69a ec0b 0000 0000 0000 0000 5077 4e3e 0000 0004 +00 02 0 0 0 0 23 +503d 7b -1 +-1 + +ddcb38 +3c64 b1ee 38e1 ae9f 0000 0000 0000 0000 f695 44b3 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 8e 38 -1 +f623 5e -1 +-1 +-1 +3c28 2fee 38e1 ae9f 0000 0000 0000 0000 f695 44b3 0000 0004 +00 02 0 0 0 0 23 +f623 2f -1 +-1 + +ddcb39 +05d6 9aad a2db df75 0000 0000 0000 0000 a895 e243 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb dc 39 -1 +a871 83 -1 +-1 +-1 +0505 9a41 a2db df75 0000 0000 0000 0000 a895 e243 0000 0004 +00 02 0 0 0 0 23 +a871 41 -1 +-1 + +ddcb3a +0e22 0b9f 873b c01d 0000 0000 0000 0000 2591 49c3 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 0d 3a -1 +259e 89 -1 +-1 +-1 +0e05 0b9f 443b c01d 0000 0000 0000 0000 2591 49c3 0000 0004 +00 02 0 0 0 0 23 +259e 44 -1 +-1 + +ddcb3b +1bd9 c795 d8ae 7ccf 0000 0000 0000 0000 6fed 09dc 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 20 3b -1 +700d a9 -1 +-1 +-1 +1b01 c795 d854 7ccf 0000 0000 0000 0000 6fed 09dc 0000 0004 +00 02 0 0 0 0 23 +700d 54 -1 +-1 + +ddcb3c +b651 bdf7 fca3 7529 0000 0000 0000 0000 f53b 018b 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb e1 3c -1 +f51c d0 -1 +-1 +-1 +b628 bdf7 fca3 6829 0000 0000 0000 0000 f53b 018b 0000 0004 +00 02 0 0 0 0 23 +f51c 68 -1 +-1 + +ddcb3d +2a2d 6e6e cfbd 1db5 0000 0000 0000 0000 0320 6ab0 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb be 3d -1 +02de 58 -1 +-1 +-1 +2a28 6e6e cfbd 1d2c 0000 0000 0000 0000 0320 6ab0 0000 0004 +00 02 0 0 0 0 23 +02de 2c -1 +-1 + +ddcb3e +39b8 b26e b670 b8a2 0000 0000 0000 0000 784a 7840 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 0a 3e -1 +7854 5d -1 +-1 +-1 +392d b26e b670 b8a2 0000 0000 0000 0000 784a 7840 0000 0004 +00 02 0 0 0 0 23 +7854 2e -1 +-1 + +ddcb3f +2a17 429d d8c0 e069 0000 0000 0000 0000 3488 7150 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 31 3f -1 +34b9 04 -1 +-1 +-1 +0200 429d d8c0 e069 0000 0000 0000 0000 3488 7150 0000 0004 +00 02 0 0 0 0 23 +34b9 02 -1 +-1 + +ddcb40 +119b f6ba 079e 0e41 0000 0000 0000 0000 8c01 cd21 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb bd 40 -1 +8bbe e7 -1 +-1 +-1 +1119 f6ba 079e 0e41 0000 0000 0000 0000 8c01 cd21 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb41 +22b3 c4b0 575b 66b4 0000 0000 0000 0000 cdcf a25c 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 52 41 -1 +ce21 75 -1 +-1 +-1 +2219 c4b0 575b 66b4 0000 0000 0000 0000 cdcf a25c 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb42 +af5e 7720 aa95 3b0a 0000 0000 0000 0000 f03a 856a 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 1e 42 -1 +f058 90 -1 +-1 +-1 +af74 7720 aa95 3b0a 0000 0000 0000 0000 f03a 856a 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb43 +7fa6 b699 5e71 1827 0000 0000 0000 0000 e8b6 96a8 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb bc 43 -1 +e872 6b -1 +-1 +-1 +7f38 b699 5e71 1827 0000 0000 0000 0000 e8b6 96a8 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb44 +5faa de05 12fd f73b 0000 0000 0000 0000 ee0a 6634 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb e8 44 -1 +edf2 62 -1 +-1 +-1 +5f7c de05 12fd f73b 0000 0000 0000 0000 ee0a 6634 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb45 +eac7 699c 47d3 89c3 0000 0000 0000 0000 a2be d81e 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 02 45 -1 +a2c0 55 -1 +-1 +-1 +ea31 699c 47d3 89c3 0000 0000 0000 0000 a2be d81e 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb46 +60de ac1d 4173 f92a 0000 0000 0000 0000 a39f 12e5 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb e2 46 -1 +a381 d5 -1 +-1 +-1 +6030 ac1d 4173 f92a 0000 0000 0000 0000 a39f 12e5 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb47 +1b1a f7c0 22f6 5253 0000 0000 0000 0000 5227 919d 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 7a 47 -1 +52a1 6a -1 +-1 +-1 +1b54 f7c0 22f6 5253 0000 0000 0000 0000 5227 919d 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb48 +721a 4509 d68f 3b3d 0000 0000 0000 0000 2746 7f97 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 13 48 -1 +2759 a8 -1 +-1 +-1 +7274 4509 d68f 3b3d 0000 0000 0000 0000 2746 7f97 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb49 +7fe9 da22 ea9c f480 0000 0000 0000 0000 41c6 75a9 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 94 49 -1 +415a 26 -1 +-1 +-1 +7f11 da22 ea9c f480 0000 0000 0000 0000 41c6 75a9 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb4a +f16d e6c3 5a42 8b21 0000 0000 0000 0000 bfeb e383 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 3b 4a -1 +c026 b5 -1 +-1 +-1 +f155 e6c3 5a42 8b21 0000 0000 0000 0000 bfeb e383 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb4b +1050 880a 52b2 fb1b 0000 0000 0000 0000 c239 6b40 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb b0 4b -1 +c1e9 18 -1 +-1 +-1 +1054 880a 52b2 fb1b 0000 0000 0000 0000 c239 6b40 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb4c +0538 bc63 f081 0a55 0000 0000 0000 0000 874c 80a3 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 97 4c -1 +86e3 63 -1 +-1 +-1 +0510 bc63 f081 0a55 0000 0000 0000 0000 874c 80a3 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb4d +7f8c 32b4 03d5 ef66 0000 0000 0000 0000 7d2a 03bc 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 15 4d -1 +7d3f 60 -1 +-1 +-1 +7f7c 32b4 03d5 ef66 0000 0000 0000 0000 7d2a 03bc 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb4e +7c67 fa92 b4d0 9f23 0000 0000 0000 0000 eade 1785 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb b0 4e -1 +ea8e 3b -1 +-1 +-1 +7c39 fa92 b4d0 9f23 0000 0000 0000 0000 eade 1785 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb4f +725c 257b db73 2478 0000 0000 0000 0000 88c0 f151 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 8b 4f -1 +884b 4c -1 +-1 +-1 +725c 257b db73 2478 0000 0000 0000 0000 88c0 f151 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb50 +35f4 8e51 406c 2e3c 0000 0000 0000 0000 daf2 413c 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 12 50 -1 +db04 00 -1 +-1 +-1 +355c 8e51 406c 2e3c 0000 0000 0000 0000 daf2 413c 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb51 +a630 ba85 c88c e86c 0000 0000 0000 0000 84b2 cd8e 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 18 51 -1 +84ca 1c -1 +-1 +-1 +a610 ba85 c88c e86c 0000 0000 0000 0000 84b2 cd8e 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb52 +cb88 1220 1103 a868 0000 0000 0000 0000 6156 cfac 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 42 52 -1 +6198 53 -1 +-1 +-1 +cb74 1220 1103 a868 0000 0000 0000 0000 6156 cfac 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb53 +5eb3 569e f76d 88c6 0000 0000 0000 0000 ae45 623e 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb e3 53 -1 +ae28 d6 -1 +-1 +-1 +5e39 569e f76d 88c6 0000 0000 0000 0000 ae45 623e 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb54 +c3c9 76fe f1ff 416e 0000 0000 0000 0000 efd5 7576 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 7d 54 -1 +f052 5d -1 +-1 +-1 +c331 76fe f1ff 416e 0000 0000 0000 0000 efd5 7576 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb55 +7068 dcd0 8345 d498 0000 0000 0000 0000 f352 a88b 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 88 55 -1 +f2da 03 -1 +-1 +-1 +7074 dcd0 8345 d498 0000 0000 0000 0000 f352 a88b 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb56 +9128 2cb8 571c f4fd 0000 0000 0000 0000 6d30 aec2 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 57 56 -1 +6d87 61 -1 +-1 +-1 +917c 2cb8 571c f4fd 0000 0000 0000 0000 6d30 aec2 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb57 +3ca7 541a 027c c0b4 0000 0000 0000 0000 5833 160a 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 06 57 -1 +5839 1d -1 +-1 +-1 +3c19 541a 027c c0b4 0000 0000 0000 0000 5833 160a 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb58 +c650 e1a8 9d6c bec3 0000 0000 0000 0000 6a46 b66c 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 83 58 -1 +69c9 0f -1 +-1 +-1 +c638 e1a8 9d6c bec3 0000 0000 0000 0000 6a46 b66c 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb59 +ad07 9bda b7ee 63c4 0000 0000 0000 0000 9195 9703 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb db 59 -1 +9170 10 -1 +-1 +-1 +ad55 9bda b7ee 63c4 0000 0000 0000 0000 9195 9703 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb5a +80c0 5105 36b0 a37c 0000 0000 0000 0000 0de0 ce7f 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb d1 5a -1 +0db1 be -1 +-1 +-1 +8018 5105 36b0 a37c 0000 0000 0000 0000 0de0 ce7f 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb5b +2a8d 083d 1409 06ba 0000 0000 0000 0000 62ad baff 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb d5 5b -1 +6282 67 -1 +-1 +-1 +2a75 083d 1409 06ba 0000 0000 0000 0000 62ad baff 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb5c +4ca4 e502 d23c 6da8 0000 0000 0000 0000 9dc6 6f04 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 5c 5c -1 +9e22 c9 -1 +-1 +-1 +4c18 e502 d23c 6da8 0000 0000 0000 0000 9dc6 6f04 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb5d +7e39 511b 3cfa 60d3 0000 0000 0000 0000 d193 3fe9 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb ff 5d -1 +d192 0d -1 +-1 +-1 +7e11 511b 3cfa 60d3 0000 0000 0000 0000 d193 3fe9 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb5e +cef1 0235 e2b1 7a4c 0000 0000 0000 0000 ed14 d0d6 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 62 5e -1 +ed76 a7 -1 +-1 +-1 +ce7d 0235 e2b1 7a4c 0000 0000 0000 0000 ed14 d0d6 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb5f +094f 20a8 52e1 d783 0000 0000 0000 0000 df46 da41 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 3f 5f -1 +df85 9e -1 +-1 +-1 +0919 20a8 52e1 d783 0000 0000 0000 0000 df46 da41 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb60 +42ce 0713 dc90 2c89 0000 0000 0000 0000 32a2 c4d4 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 65 60 -1 +3307 2e -1 +-1 +-1 +4274 0713 dc90 2c89 0000 0000 0000 0000 32a2 c4d4 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb61 +1b36 1403 8b9b c221 0000 0000 0000 0000 36cb 93d4 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb a8 61 -1 +3673 bc -1 +-1 +-1 +1b30 1403 8b9b c221 0000 0000 0000 0000 36cb 93d4 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb62 +361b 4055 650a 3f98 0000 0000 0000 0000 0acc a102 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb d9 62 -1 +0aa5 ea -1 +-1 +-1 +365d 4055 650a 3f98 0000 0000 0000 0000 0acc a102 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb63 +6548 08df 3ceb 6d24 0000 0000 0000 0000 e679 f98e 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 79 63 -1 +e6f2 83 -1 +-1 +-1 +6574 08df 3ceb 6d24 0000 0000 0000 0000 e679 f98e 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb64 +3c22 e2a7 6da9 c346 0000 0000 0000 0000 ecfb 85b6 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 71 64 -1 +ed6c 52 -1 +-1 +-1 +3c38 e2a7 6da9 c346 0000 0000 0000 0000 ecfb 85b6 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb65 +09bd 0abb 3afa 91f5 0000 0000 0000 0000 7779 aef5 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 67 65 -1 +77e0 f5 -1 +-1 +-1 +0931 0abb 3afa 91f5 0000 0000 0000 0000 7779 aef5 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb66 +ccbc d301 9b66 40fb 0000 0000 0000 0000 ee15 0d23 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 63 66 -1 +ee78 70 -1 +-1 +-1 +cc38 d301 9b66 40fb 0000 0000 0000 0000 ee15 0d23 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb67 +eccb 342f be3e a79b 0000 0000 0000 0000 eea1 dfae 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb d7 67 -1 +ee78 06 -1 +-1 +-1 +ec7d 342f be3e a79b 0000 0000 0000 0000 eea1 dfae 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb68 +8e51 0063 49ad b7d4 0000 0000 0000 0000 e968 864e 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb b1 68 -1 +e919 20 -1 +-1 +-1 +8e39 0063 49ad b7d4 0000 0000 0000 0000 e968 864e 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb69 +9f11 42b5 74fe 1116 0000 0000 0000 0000 33f4 46c2 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb e8 69 -1 +33dc 4f -1 +-1 +-1 +9f75 42b5 74fe 1116 0000 0000 0000 0000 33f4 46c2 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb6a +4632 0bd8 0018 1ac3 0000 0000 0000 0000 86b6 1dd2 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 33 6a -1 +86e9 1c -1 +-1 +-1 +4654 0bd8 0018 1ac3 0000 0000 0000 0000 86b6 1dd2 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb6b +7a76 f79f a78e f867 0000 0000 0000 0000 187b 0023 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 11 6b -1 +188c bc -1 +-1 +-1 +7a18 f79f a78e f867 0000 0000 0000 0000 187b 0023 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb6c +dd91 1f1e c1e1 0ea7 0000 0000 0000 0000 3e21 f544 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 5e 6c -1 +3e7f 2a -1 +-1 +-1 +dd39 1f1e c1e1 0ea7 0000 0000 0000 0000 3e21 f544 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb6d +debf 9ae4 fd24 b3c2 0000 0000 0000 0000 e314 ad84 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb dd 6d -1 +e2f1 41 -1 +-1 +-1 +de75 9ae4 fd24 b3c2 0000 0000 0000 0000 e314 ad84 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb6e +ca75 9f16 c700 1dce 0000 0000 0000 0000 3086 d68e 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb b2 6e -1 +3038 3f -1 +-1 +-1 +ca31 9f16 c700 1dce 0000 0000 0000 0000 3086 d68e 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb6f +d4cd 0b39 3e2e c06e 0000 0000 0000 0000 fc1b d592 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb be 6f -1 +fbd9 56 -1 +-1 +-1 +d47d 0b39 3e2e c06e 0000 0000 0000 0000 fc1b d592 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb70 +f901 09b8 43f8 2a76 0000 0000 0000 0000 042c 7f2d 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb b5 70 -1 +03e1 74 -1 +-1 +-1 +f911 09b8 43f8 2a76 0000 0000 0000 0000 042c 7f2d 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb71 +ac78 36ad 34cb f950 0000 0000 0000 0000 1b33 aa23 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb f7 71 -1 +1b2a 08 -1 +-1 +-1 +ac5c 36ad 34cb f950 0000 0000 0000 0000 1b33 aa23 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb72 +b1b3 f1e4 9984 c7fb 0000 0000 0000 0000 ce25 c5b6 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 22 72 -1 +ce47 08 -1 +-1 +-1 +b15d f1e4 9984 c7fb 0000 0000 0000 0000 ce25 c5b6 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb73 +21ba 592d f406 e21f 0000 0000 0000 0000 6442 cf58 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 12 73 -1 +6454 3c -1 +-1 +-1 +2174 592d f406 e21f 0000 0000 0000 0000 6442 cf58 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb74 +6642 64c1 dbe5 eb48 0000 0000 0000 0000 7dc1 c1fb 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 08 74 -1 +7dc9 be -1 +-1 +-1 +667c 64c1 dbe5 eb48 0000 0000 0000 0000 7dc1 c1fb 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb75 +8778 580e 00dd f4c6 0000 0000 0000 0000 60ad 9b60 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 5b 75 -1 +6108 cf -1 +-1 +-1 +8730 580e 00dd f4c6 0000 0000 0000 0000 60ad 9b60 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb76 +65b8 5cc2 3058 e258 0000 0000 0000 0000 7e8a b296 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 73 76 -1 +7efd 1e -1 +-1 +-1 +657c 5cc2 3058 e258 0000 0000 0000 0000 7e8a b296 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb77 +e3a8 47a0 c510 cf0a 0000 0000 0000 0000 0537 b242 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 7f 77 -1 +05b6 97 -1 +-1 +-1 +e354 47a0 c510 cf0a 0000 0000 0000 0000 0537 b242 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb78 +424f 24f6 1632 8a4f 0000 0000 0000 0000 9397 846c 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 70 78 -1 +9407 76 -1 +-1 +-1 +4255 24f6 1632 8a4f 0000 0000 0000 0000 9397 846c 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb79 +e6a0 eeaa 41f7 5da2 0000 0000 0000 0000 41de 4189 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb c3 79 -1 +41a1 b8 -1 +-1 +-1 +e690 eeaa 41f7 5da2 0000 0000 0000 0000 41de 4189 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb7a +cabf 56aa 6a06 6cd7 0000 0000 0000 0000 0aa9 9812 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 3f 7a -1 +0ae8 eb -1 +-1 +-1 +ca99 56aa 6a06 6cd7 0000 0000 0000 0000 0aa9 9812 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb7b +ae3f 0227 721f 52a1 0000 0000 0000 0000 5040 b98a 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 88 7b -1 +4fc8 22 -1 +-1 +-1 +ae5d 0227 721f 52a1 0000 0000 0000 0000 5040 b98a 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb7c +8a80 a2f1 239a d5cc 0000 0000 0000 0000 6883 b050 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 9e 7c -1 +6821 3a -1 +-1 +-1 +8a7c a2f1 239a d5cc 0000 0000 0000 0000 6883 b050 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb7d +c37f cf33 1010 98e6 0000 0000 0000 0000 b021 0356 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 29 7d -1 +b04a 2c -1 +-1 +-1 +c375 cf33 1010 98e6 0000 0000 0000 0000 b021 0356 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb7e +9a25 2f6e 0d0d a83f 0000 0000 0000 0000 cef0 8c15 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 4f 7e -1 +cf3f f2 -1 +-1 +-1 +9a99 2f6e 0d0d a83f 0000 0000 0000 0000 cef0 8c15 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb7f +53b9 1f4e 4837 21b6 0000 0000 0000 0000 5ec2 80c3 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 75 7f -1 +5f37 a2 -1 +-1 +-1 +5399 1f4e 4837 21b6 0000 0000 0000 0000 5ec2 80c3 0000 0004 +00 02 0 0 0 0 20 +-1 + +ddcb80 +6319 baf9 c84b bcf2 0000 0000 0000 0000 acc5 a4ed 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 70 80 -1 +ad35 30 -1 +-1 +-1 +6319 30f9 c84b bcf2 0000 0000 0000 0000 acc5 a4ed 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcb81 +fae1 5ae5 9502 dc9b 0000 0000 0000 0000 bdd3 1a52 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 2a 81 -1 +bdfd 24 -1 +-1 +-1 +fae1 5a24 9502 dc9b 0000 0000 0000 0000 bdd3 1a52 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcb82 +daf6 3260 f1ac 1d47 0000 0000 0000 0000 5e74 35e2 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 9a 82 -1 +5e0e 51 -1 +-1 +-1 +daf6 3260 50ac 1d47 0000 0000 0000 0000 5e74 35e2 0000 0004 +00 02 0 0 0 0 23 +5e0e 50 -1 +-1 + +ddcb83 +8e7c 5586 8c92 fb00 0000 0000 0000 0000 3441 d365 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 0e 83 -1 +344f 01 -1 +-1 +-1 +8e7c 5586 8c00 fb00 0000 0000 0000 0000 3441 d365 0000 0004 +00 02 0 0 0 0 23 +344f 00 -1 +-1 + +ddcb84 +c1b3 4874 c535 0e1c 0000 0000 0000 0000 0123 dd28 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 47 84 -1 +016a b0 -1 +-1 +-1 +c1b3 4874 c535 b01c 0000 0000 0000 0000 0123 dd28 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcb85 +0928 b0db 4e07 a7b7 0000 0000 0000 0000 0ba3 c61c 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 6c 85 -1 +0c0f de -1 +-1 +-1 +0928 b0db 4e07 a7de 0000 0000 0000 0000 0ba3 c61c 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcb86 +4515 de09 3ce7 1fde 0000 0000 0000 0000 10c5 33ed 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 5c 86 -1 +1121 7c -1 +-1 +-1 +4515 de09 3ce7 1fde 0000 0000 0000 0000 10c5 33ed 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcb87 +d05e a733 d1dd 1603 0000 0000 0000 0000 ede6 e5fb 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 02 87 -1 +ede8 c4 -1 +-1 +-1 +c45e a733 d1dd 1603 0000 0000 0000 0000 ede6 e5fb 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcb88 +e4fa 3325 c266 1b13 0000 0000 0000 0000 878e e695 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 9b 88 -1 +8729 7c -1 +-1 +-1 +e4fa 7c25 c266 1b13 0000 0000 0000 0000 878e e695 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcb89 +933b 6fdd a3a8 2634 0000 0000 0000 0000 8f3e 7727 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 2b 89 -1 +8f69 cf -1 +-1 +-1 +933b 6fcd a3a8 2634 0000 0000 0000 0000 8f3e 7727 0000 0004 +00 02 0 0 0 0 23 +8f69 cd -1 +-1 + +ddcb8a +6759 ad1e 5d71 ce52 0000 0000 0000 0000 39a9 38a0 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 0a 8a -1 +39b3 ea -1 +-1 +-1 +6759 ad1e e871 ce52 0000 0000 0000 0000 39a9 38a0 0000 0004 +00 02 0 0 0 0 23 +39b3 e8 -1 +-1 + +ddcb8b +3da2 1833 03c1 07e9 0000 0000 0000 0000 1685 d790 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 62 8b -1 +16e7 8a -1 +-1 +-1 +3da2 1833 0388 07e9 0000 0000 0000 0000 1685 d790 0000 0004 +00 02 0 0 0 0 23 +16e7 88 -1 +-1 + +ddcb8c +a625 ed31 3946 32dc 0000 0000 0000 0000 c6a2 7ad6 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb e8 8c -1 +c68a 3e -1 +-1 +-1 +a625 ed31 3946 3cdc 0000 0000 0000 0000 c6a2 7ad6 0000 0004 +00 02 0 0 0 0 23 +c68a 3c -1 +-1 + +ddcb8d +016b 5802 a683 2549 0000 0000 0000 0000 22e6 33bb 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb cc 8d -1 +22b2 9e -1 +-1 +-1 +016b 5802 a683 259c 0000 0000 0000 0000 22e6 33bb 0000 0004 +00 02 0 0 0 0 23 +22b2 9c -1 +-1 + +ddcb8e +f4f4 f3a8 2843 82cb 0000 0000 0000 0000 d2e8 d367 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 0a 8e -1 +d2f2 03 -1 +-1 +-1 +f4f4 f3a8 2843 82cb 0000 0000 0000 0000 d2e8 d367 0000 0004 +00 02 0 0 0 0 23 +d2f2 01 -1 +-1 + +ddcb8f +6b1a 8ae2 269b cb2f 0000 0000 0000 0000 3ffe 75dd 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 7b 8f -1 +4079 96 -1 +-1 +-1 +941a 8ae2 269b cb2f 0000 0000 0000 0000 3ffe 75dd 0000 0004 +00 02 0 0 0 0 23 +4079 94 -1 +-1 + +ddcb90 +c167 3dfc 42e7 9e14 0000 0000 0000 0000 b501 84fe 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 04 90 -1 +b505 46 -1 +-1 +-1 +c167 42fc 42e7 9e14 0000 0000 0000 0000 b501 84fe 0000 0004 +00 02 0 0 0 0 23 +b505 42 -1 +-1 + +ddcb91 +e85e cc89 d249 ea3b 0000 0000 0000 0000 c987 c4d1 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 11 91 -1 +c998 83 -1 +-1 +-1 +e85e cc83 d249 ea3b 0000 0000 0000 0000 c987 c4d1 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcb92 +28a3 85ff ab28 47a5 0000 0000 0000 0000 9166 e755 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 4b 92 -1 +91b1 aa -1 +-1 +-1 +28a3 85ff aa28 47a5 0000 0000 0000 0000 9166 e755 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcb93 +58ac c88b 6d24 dbdd 0000 0000 0000 0000 ac2e 5199 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 03 93 -1 +ac31 93 -1 +-1 +-1 +58ac c88b 6d93 dbdd 0000 0000 0000 0000 ac2e 5199 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcb94 +e38d 35a5 8d07 bfb8 0000 0000 0000 0000 5e84 5f24 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 11 94 -1 +5e95 b7 -1 +-1 +-1 +e38d 35a5 8d07 b3b8 0000 0000 0000 0000 5e84 5f24 0000 0004 +00 02 0 0 0 0 23 +5e95 b3 -1 +-1 + +ddcb95 +41f4 9536 dd7d 4948 0000 0000 0000 0000 fb74 f17d 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb e6 95 -1 +fb5a c6 -1 +-1 +-1 +41f4 9536 dd7d 49c2 0000 0000 0000 0000 fb74 f17d 0000 0004 +00 02 0 0 0 0 23 +fb5a c2 -1 +-1 + +ddcb96 +4a9e 42ef 32d7 18cf 0000 0000 0000 0000 7a81 bb1d 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb d5 96 -1 +7a56 ae -1 +-1 +-1 +4a9e 42ef 32d7 18cf 0000 0000 0000 0000 7a81 bb1d 0000 0004 +00 02 0 0 0 0 23 +7a56 aa -1 +-1 + +ddcb97 +9ad3 89f0 73c7 0b1a 0000 0000 0000 0000 847c 4b86 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 92 97 -1 +840e 23 -1 +-1 +-1 +23d3 89f0 73c7 0b1a 0000 0000 0000 0000 847c 4b86 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcb98 +6e22 b9fd 9fdc 3aed 0000 0000 0000 0000 041e fd79 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb dc 98 -1 +03fa 58 -1 +-1 +-1 +6e22 50fd 9fdc 3aed 0000 0000 0000 0000 041e fd79 0000 0004 +00 02 0 0 0 0 23 +03fa 50 -1 +-1 + +ddcb99 +a132 3891 1515 2830 0000 0000 0000 0000 09fd 0473 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 6d 99 -1 +0a6a ce -1 +-1 +-1 +a132 38c6 1515 2830 0000 0000 0000 0000 09fd 0473 0000 0004 +00 02 0 0 0 0 23 +0a6a c6 -1 +-1 + +ddcb9a +783d 8f69 91c4 e38f 0000 0000 0000 0000 68a8 391d 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 8a 9a -1 +6832 a8 -1 +-1 +-1 +783d 8f69 a0c4 e38f 0000 0000 0000 0000 68a8 391d 0000 0004 +00 02 0 0 0 0 23 +6832 a0 -1 +-1 + +ddcb9b +955a c7b0 53b3 aec6 0000 0000 0000 0000 06ef e991 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 97 9b -1 +0686 62 -1 +-1 +-1 +955a c7b0 5362 aec6 0000 0000 0000 0000 06ef e991 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcb9c +af69 f896 e791 a2ee 0000 0000 0000 0000 847b 59ed 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 54 9c -1 +84cf 1b -1 +-1 +-1 +af69 f896 e791 13ee 0000 0000 0000 0000 847b 59ed 0000 0004 +00 02 0 0 0 0 23 +84cf 13 -1 +-1 + +ddcb9d +7d1e 5009 1248 380c 0000 0000 0000 0000 e920 4fe6 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 0f 9d -1 +e92f e8 -1 +-1 +-1 +7d1e 5009 1248 38e0 0000 0000 0000 0000 e920 4fe6 0000 0004 +00 02 0 0 0 0 23 +e92f e0 -1 +-1 + +ddcb9e +c207 b47c 0e16 e17f 0000 0000 0000 0000 d8bb bb99 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb b5 9e -1 +d870 ee -1 +-1 +-1 +c207 b47c 0e16 e17f 0000 0000 0000 0000 d8bb bb99 0000 0004 +00 02 0 0 0 0 23 +d870 e6 -1 +-1 + +ddcb9f +c26b 7537 46bb 13c0 0000 0000 0000 0000 e63c 1d98 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb b8 9f -1 +e5f4 a6 -1 +-1 +-1 +a66b 7537 46bb 13c0 0000 0000 0000 0000 e63c 1d98 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcba0 +0bbe 8500 8609 5352 0000 0000 0000 0000 a2f0 da02 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 02 a0 -1 +a2f2 39 -1 +-1 +-1 +0bbe 2900 8609 5352 0000 0000 0000 0000 a2f0 da02 0000 0004 +00 02 0 0 0 0 23 +a2f2 29 -1 +-1 + +ddcba1 +ad0a aa76 0f2d 832c 0000 0000 0000 0000 45bb a22d 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb f5 a1 -1 +45b0 d2 -1 +-1 +-1 +ad0a aac2 0f2d 832c 0000 0000 0000 0000 45bb a22d 0000 0004 +00 02 0 0 0 0 23 +45b0 c2 -1 +-1 + +ddcba2 +f586 4a7d a5ab 26fc 0000 0000 0000 0000 628b 6c4d 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 0e a2 -1 +6299 a1 -1 +-1 +-1 +f586 4a7d a1ab 26fc 0000 0000 0000 0000 628b 6c4d 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcba3 +de5b a284 d40e c92d 0000 0000 0000 0000 040d 12c0 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 2e a3 -1 +043b 04 -1 +-1 +-1 +de5b a284 d404 c92d 0000 0000 0000 0000 040d 12c0 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcba4 +dfaa ae40 02c3 e0b5 0000 0000 0000 0000 fe4d faa3 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 03 a4 -1 +fe50 27 -1 +-1 +-1 +dfaa ae40 02c3 27b5 0000 0000 0000 0000 fe4d faa3 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcba5 +1a15 04cb 4352 ee39 0000 0000 0000 0000 7b27 38a0 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb f6 a5 -1 +7b1d 6b -1 +-1 +-1 +1a15 04cb 4352 ee6b 0000 0000 0000 0000 7b27 38a0 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcba6 +5e46 b98a b822 04ca 0000 0000 0000 0000 ae1b 8730 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 27 a6 -1 +ae42 8f -1 +-1 +-1 +5e46 b98a b822 04ca 0000 0000 0000 0000 ae1b 8730 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcba7 +0eed 7b11 8cb0 eb3d 0000 0000 0000 0000 5ec8 97cf 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb f2 a7 -1 +5eba 87 -1 +-1 +-1 +87ed 7b11 8cb0 eb3d 0000 0000 0000 0000 5ec8 97cf 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcba8 +5173 3089 070d e8f9 0000 0000 0000 0000 e84f 55f0 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb d0 a8 -1 +e81f 7e -1 +-1 +-1 +5173 5e89 070d e8f9 0000 0000 0000 0000 e84f 55f0 0000 0004 +00 02 0 0 0 0 23 +e81f 5e -1 +-1 + +ddcba9 +4fb8 ccb5 3e9a 2673 0000 0000 0000 0000 0fdd aef2 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 9d a9 -1 +0f7a 1f -1 +-1 +-1 +4fb8 cc1f 3e9a 2673 0000 0000 0000 0000 0fdd aef2 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcbaa +fe76 6f96 3feb 0b21 0000 0000 0000 0000 6747 07ba 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 9f aa -1 +66e6 50 -1 +-1 +-1 +fe76 6f96 50eb 0b21 0000 0000 0000 0000 6747 07ba 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcbab +2eb4 36f1 8f44 36af 0000 0000 0000 0000 6682 9d60 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 16 ab -1 +6698 eb -1 +-1 +-1 +2eb4 36f1 8fcb 36af 0000 0000 0000 0000 6682 9d60 0000 0004 +00 02 0 0 0 0 23 +6698 cb -1 +-1 + +ddcbac +af32 8ca8 6558 06d9 0000 0000 0000 0000 a4dd cd1f 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb c4 ac -1 +a4a1 44 -1 +-1 +-1 +af32 8ca8 6558 44d9 0000 0000 0000 0000 a4dd cd1f 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcbad +fcc9 69a7 0eed eab5 0000 0000 0000 0000 eef5 3ed2 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 49 ad -1 +ef3e 76 -1 +-1 +-1 +fcc9 69a7 0eed ea56 0000 0000 0000 0000 eef5 3ed2 0000 0004 +00 02 0 0 0 0 23 +ef3e 56 -1 +-1 + +ddcbae +5f7a 9c20 f013 c4b7 0000 0000 0000 0000 b306 15dd 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 6e ae -1 +b374 5a -1 +-1 +-1 +5f7a 9c20 f013 c4b7 0000 0000 0000 0000 b306 15dd 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcbaf +b11e 2583 51fa d427 0000 0000 0000 0000 3619 9cef 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb c2 af -1 +35db 15 -1 +-1 +-1 +151e 2583 51fa d427 0000 0000 0000 0000 3619 9cef 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcbb0 +f43e ce57 3bf3 0933 0000 0000 0000 0000 58d7 d89f 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 47 b0 -1 +591e 1e -1 +-1 +-1 +f43e 1e57 3bf3 0933 0000 0000 0000 0000 58d7 d89f 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcbb1 +35ef bbbc db46 046c 0000 0000 0000 0000 add2 2b6e 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 86 b1 -1 +ad58 46 -1 +-1 +-1 +35ef bb06 db46 046c 0000 0000 0000 0000 add2 2b6e 0000 0004 +00 02 0 0 0 0 23 +ad58 06 -1 +-1 + +ddcbb2 +c26c fd32 9b7f ab6c 0000 0000 0000 0000 e7d0 501f 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 70 b2 -1 +e840 48 -1 +-1 +-1 +c26c fd32 087f ab6c 0000 0000 0000 0000 e7d0 501f 0000 0004 +00 02 0 0 0 0 23 +e840 08 -1 +-1 + +ddcbb3 +36ca b434 e212 f805 0000 0000 0000 0000 53fb b191 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb de b3 -1 +53d9 06 -1 +-1 +-1 +36ca b434 e206 f805 0000 0000 0000 0000 53fb b191 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcbb4 +0a1c ab67 9ca1 2f98 0000 0000 0000 0000 5066 320c 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 6b b4 -1 +50d1 dd -1 +-1 +-1 +0a1c ab67 9ca1 9d98 0000 0000 0000 0000 5066 320c 0000 0004 +00 02 0 0 0 0 23 +50d1 9d -1 +-1 + +ddcbb5 +fd6d 51c9 16d6 1373 0000 0000 0000 0000 146e 2148 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb ec b5 -1 +145a d6 -1 +-1 +-1 +fd6d 51c9 16d6 1396 0000 0000 0000 0000 146e 2148 0000 0004 +00 02 0 0 0 0 23 +145a 96 -1 +-1 + +ddcbb6 +1d0b 04e8 109e 1dde 0000 0000 0000 0000 8772 8661 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 15 b6 -1 +8787 8c -1 +-1 +-1 +1d0b 04e8 109e 1dde 0000 0000 0000 0000 8772 8661 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcbb7 +f012 b87e 65ba a5c8 0000 0000 0000 0000 6120 789d 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb d3 b7 -1 +60f3 54 -1 +-1 +-1 +1412 b87e 65ba a5c8 0000 0000 0000 0000 6120 789d 0000 0004 +00 02 0 0 0 0 23 +60f3 14 -1 +-1 + +ddcbb8 +8eae 4a53 bfa1 5e7e 0000 0000 0000 0000 0bf6 1e35 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 13 b8 -1 +0c09 87 -1 +-1 +-1 +8eae 0753 bfa1 5e7e 0000 0000 0000 0000 0bf6 1e35 0000 0004 +00 02 0 0 0 0 23 +0c09 07 -1 +-1 + +ddcbb9 +5fb7 a81e e2d2 4117 0000 0000 0000 0000 0564 48a1 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 56 b9 -1 +05ba c8 -1 +-1 +-1 +5fb7 a848 e2d2 4117 0000 0000 0000 0000 0564 48a1 0000 0004 +00 02 0 0 0 0 23 +05ba 48 -1 +-1 + +ddcbba +7f6a 47fe ce45 75de 0000 0000 0000 0000 f5e0 032c 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 86 ba -1 +f566 30 -1 +-1 +-1 +7f6a 47fe 3045 75de 0000 0000 0000 0000 f5e0 032c 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcbbb +c7e3 e49e 9ec5 07e7 0000 0000 0000 0000 bd31 9d5f 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb ef bb -1 +bd20 c9 -1 +-1 +-1 +c7e3 e49e 9e49 07e7 0000 0000 0000 0000 bd31 9d5f 0000 0004 +00 02 0 0 0 0 23 +bd20 49 -1 +-1 + +ddcbbc +b430 7ac7 b45f fbf7 0000 0000 0000 0000 638e 3173 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb c0 bc -1 +634e 28 -1 +-1 +-1 +b430 7ac7 b45f 28f7 0000 0000 0000 0000 638e 3173 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcbbd +4e71 6ffa a3f9 a2e5 0000 0000 0000 0000 e3c4 02d4 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb b9 bd -1 +e37d dd -1 +-1 +-1 +4e71 6ffa a3f9 a25d 0000 0000 0000 0000 e3c4 02d4 0000 0004 +00 02 0 0 0 0 23 +e37d 5d -1 +-1 + +ddcbbe +4af8 99a5 d6fd 7a16 0000 0000 0000 0000 58d3 ce54 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 4d be -1 +5920 e8 -1 +-1 +-1 +4af8 99a5 d6fd 7a16 0000 0000 0000 0000 58d3 ce54 0000 0004 +00 02 0 0 0 0 23 +5920 68 -1 +-1 + +ddcbbf +6e31 0320 134b 77c3 0000 0000 0000 0000 1734 bc2d 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 26 bf -1 +175a e2 -1 +-1 +-1 +6231 0320 134b 77c3 0000 0000 0000 0000 1734 bc2d 0000 0004 +00 02 0 0 0 0 23 +175a 62 -1 +-1 + +ddcbc0 +75be 2b93 093d 1128 0000 0000 0000 0000 792e 31f7 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 00 c0 -1 +792e 92 -1 +-1 +-1 +75be 9393 093d 1128 0000 0000 0000 0000 792e 31f7 0000 0004 +00 02 0 0 0 0 23 +792e 93 -1 +-1 + +ddcbc1 +313f 8223 5fcc 42c8 0000 0000 0000 0000 dccc d87b 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb f7 c1 -1 +dcc3 1c -1 +-1 +-1 +313f 821d 5fcc 42c8 0000 0000 0000 0000 dccc d87b 0000 0004 +00 02 0 0 0 0 23 +dcc3 1d -1 +-1 + +ddcbc2 +a7e3 bf55 d27b 0a9d 0000 0000 0000 0000 0cfa ea4e 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 85 c2 -1 +0c7f 30 -1 +-1 +-1 +a7e3 bf55 317b 0a9d 0000 0000 0000 0000 0cfa ea4e 0000 0004 +00 02 0 0 0 0 23 +0c7f 31 -1 +-1 + +ddcbc3 +e076 2760 1eec 9968 0000 0000 0000 0000 5426 a1a0 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 32 c3 -1 +5458 dd -1 +-1 +-1 +e076 2760 1edd 9968 0000 0000 0000 0000 5426 a1a0 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcbc4 +a679 cc05 3f4d c899 0000 0000 0000 0000 7acd 48d7 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb ae c4 -1 +7a7b 27 -1 +-1 +-1 +a679 cc05 3f4d 2799 0000 0000 0000 0000 7acd 48d7 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcbc5 +ddfd 64d4 2671 35e7 0000 0000 0000 0000 ba99 bd98 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 9c c5 -1 +ba35 20 -1 +-1 +-1 +ddfd 64d4 2671 3521 0000 0000 0000 0000 ba99 bd98 0000 0004 +00 02 0 0 0 0 23 +ba35 21 -1 +-1 + +ddcbc6 +b324 dc0c 1e35 8cd5 0000 0000 0000 0000 ab2c b6f3 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb c4 c6 -1 +aaf0 b8 -1 +-1 +-1 +b324 dc0c 1e35 8cd5 0000 0000 0000 0000 ab2c b6f3 0000 0004 +00 02 0 0 0 0 23 +aaf0 b9 -1 +-1 + +ddcbc7 +a254 9e56 6828 3189 0000 0000 0000 0000 64cb dfad 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb f8 c7 -1 +64c3 94 -1 +-1 +-1 +9554 9e56 6828 3189 0000 0000 0000 0000 64cb dfad 0000 0004 +00 02 0 0 0 0 23 +64c3 95 -1 +-1 + +ddcbc8 +8aca 139e e652 248b 0000 0000 0000 0000 6e7a 189a 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 65 c8 -1 +6edf 8f -1 +-1 +-1 +8aca 8f9e e652 248b 0000 0000 0000 0000 6e7a 189a 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcbc9 +f15f 856e a21f 8a59 0000 0000 0000 0000 b670 4f79 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb fb c9 -1 +b66b b9 -1 +-1 +-1 +f15f 85bb a21f 8a59 0000 0000 0000 0000 b670 4f79 0000 0004 +00 02 0 0 0 0 23 +b66b bb -1 +-1 + +ddcbca +dfab a031 1d78 ad3a 0000 0000 0000 0000 a887 7334 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 8a ca -1 +a811 7e -1 +-1 +-1 +dfab a031 7e78 ad3a 0000 0000 0000 0000 a887 7334 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcbcb +ebd6 376e c346 b10c 0000 0000 0000 0000 a447 31d6 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb a4 cb -1 +a3eb 73 -1 +-1 +-1 +ebd6 376e c373 b10c 0000 0000 0000 0000 a447 31d6 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcbcc +0212 dc46 8f41 854e 0000 0000 0000 0000 1f5a 07ca 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 65 cc -1 +1fbf 72 -1 +-1 +-1 +0212 dc46 8f41 724e 0000 0000 0000 0000 1f5a 07ca 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcbcd +3344 d73c d6b8 929d 0000 0000 0000 0000 5376 6d3a 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb e9 cd -1 +535f 1c -1 +-1 +-1 +3344 d73c d6b8 921e 0000 0000 0000 0000 5376 6d3a 0000 0004 +00 02 0 0 0 0 23 +535f 1e -1 +-1 + +ddcbce +9e47 fc93 9ffc aace 0000 0000 0000 0000 0313 7f66 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 85 ce -1 +0298 10 -1 +-1 +-1 +9e47 fc93 9ffc aace 0000 0000 0000 0000 0313 7f66 0000 0004 +00 02 0 0 0 0 23 +0298 12 -1 +-1 + +ddcbcf +53e8 d379 87d5 10b0 0000 0000 0000 0000 c5d0 4f7f 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb e2 cf -1 +c5b2 b5 -1 +-1 +-1 +b7e8 d379 87d5 10b0 0000 0000 0000 0000 c5d0 4f7f 0000 0004 +00 02 0 0 0 0 23 +c5b2 b7 -1 +-1 + +ddcbd0 +3278 6114 d25d 1cf8 0000 0000 0000 0000 ad43 99fc 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 7f d0 -1 +adc2 51 -1 +-1 +-1 +3278 5514 d25d 1cf8 0000 0000 0000 0000 ad43 99fc 0000 0004 +00 02 0 0 0 0 23 +adc2 55 -1 +-1 + +ddcbd1 +c0b8 371a 6472 d92d 0000 0000 0000 0000 10b2 3074 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb a6 d1 -1 +1058 2c -1 +-1 +-1 +c0b8 372c 6472 d92d 0000 0000 0000 0000 10b2 3074 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcbd2 +5bb6 caa8 e0db af84 0000 0000 0000 0000 b9a1 7b5f 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 9c d2 -1 +b93d 9c -1 +-1 +-1 +5bb6 caa8 9cdb af84 0000 0000 0000 0000 b9a1 7b5f 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcbd3 +db6a 4fe2 9e52 a034 0000 0000 0000 0000 da36 88a0 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb bd d3 -1 +d9f3 60 -1 +-1 +-1 +db6a 4fe2 9e64 a034 0000 0000 0000 0000 da36 88a0 0000 0004 +00 02 0 0 0 0 23 +d9f3 64 -1 +-1 + +ddcbd4 +cc1c b884 6ad2 1621 0000 0000 0000 0000 ef26 41de 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 58 d4 -1 +ef7e 5e -1 +-1 +-1 +cc1c b884 6ad2 5e21 0000 0000 0000 0000 ef26 41de 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcbd5 +c41d c8b0 cacb 7687 0000 0000 0000 0000 8dbc cc25 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 41 d5 -1 +8dfd 71 -1 +-1 +-1 +c41d c8b0 cacb 7675 0000 0000 0000 0000 8dbc cc25 0000 0004 +00 02 0 0 0 0 23 +8dfd 75 -1 +-1 + +ddcbd6 +09eb 769d 7e07 51f9 0000 0000 0000 0000 5f03 6280 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb ea d6 -1 +5eed 73 -1 +-1 +-1 +09eb 769d 7e07 51f9 0000 0000 0000 0000 5f03 6280 0000 0004 +00 02 0 0 0 0 23 +5eed 77 -1 +-1 + +ddcbd7 +241b ee10 c152 2f6d 0000 0000 0000 0000 e725 c0d7 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 80 d7 -1 +e6a5 60 -1 +-1 +-1 +641b ee10 c152 2f6d 0000 0000 0000 0000 e725 c0d7 0000 0004 +00 02 0 0 0 0 23 +e6a5 64 -1 +-1 + +ddcbd8 +e3dc 1981 c97b cb42 0000 0000 0000 0000 b30f b32a 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 4c d8 -1 +b35b 96 -1 +-1 +-1 +e3dc 9e81 c97b cb42 0000 0000 0000 0000 b30f b32a 0000 0004 +00 02 0 0 0 0 23 +b35b 9e -1 +-1 + +ddcbd9 +e9a0 a7c7 a476 6057 0000 0000 0000 0000 2642 58a0 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 52 d9 -1 +2694 ef -1 +-1 +-1 +e9a0 a7ef a476 6057 0000 0000 0000 0000 2642 58a0 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcbda +6787 26a7 a194 11d3 0000 0000 0000 0000 2d76 7f80 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb ea da -1 +2d60 82 -1 +-1 +-1 +6787 26a7 8a94 11d3 0000 0000 0000 0000 2d76 7f80 0000 0004 +00 02 0 0 0 0 23 +2d60 8a -1 +-1 + +ddcbdb +f986 6a4b 6588 d2c8 0000 0000 0000 0000 2b7d 5847 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 4d db -1 +2bca 10 -1 +-1 +-1 +f986 6a4b 6518 d2c8 0000 0000 0000 0000 2b7d 5847 0000 0004 +00 02 0 0 0 0 23 +2bca 18 -1 +-1 + +ddcbdc +4c9e d94d 9760 b707 0000 0000 0000 0000 7ed4 5cc5 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb d3 dc -1 +7ea7 45 -1 +-1 +-1 +4c9e d94d 9760 4d07 0000 0000 0000 0000 7ed4 5cc5 0000 0004 +00 02 0 0 0 0 23 +7ea7 4d -1 +-1 + +ddcbdd +4b3b d351 9be9 2310 0000 0000 0000 0000 58c1 e430 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 6f dd -1 +5930 20 -1 +-1 +-1 +4b3b d351 9be9 2328 0000 0000 0000 0000 58c1 e430 0000 0004 +00 02 0 0 0 0 23 +5930 28 -1 +-1 + +ddcbde +3b62 ca1e a41a 227a 0000 0000 0000 0000 89d2 7011 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 14 de -1 +89e6 5e -1 +-1 +-1 +3b62 ca1e a41a 227a 0000 0000 0000 0000 89d2 7011 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcbdf +4c8a 5b42 50dd 4be0 0000 0000 0000 0000 d227 4913 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb ef df -1 +d216 72 -1 +-1 +-1 +7a8a 5b42 50dd 4be0 0000 0000 0000 0000 d227 4913 0000 0004 +00 02 0 0 0 0 23 +d216 7a -1 +-1 + +ddcbe0 +440a 713d acfc f762 0000 0000 0000 0000 1c4b b6ba 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 62 e0 -1 +1cad 46 -1 +-1 +-1 +440a 563d acfc f762 0000 0000 0000 0000 1c4b b6ba 0000 0004 +00 02 0 0 0 0 23 +1cad 56 -1 +-1 + +ddcbe1 +c219 aa6b dfbf 6f10 0000 0000 0000 0000 b931 d3d6 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 2e e1 -1 +b95f 75 -1 +-1 +-1 +c219 aa75 dfbf 6f10 0000 0000 0000 0000 b931 d3d6 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcbe2 +66d7 abd0 cb48 8054 0000 0000 0000 0000 ef50 9997 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 85 e2 -1 +eed5 72 -1 +-1 +-1 +66d7 abd0 7248 8054 0000 0000 0000 0000 ef50 9997 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcbe3 +7013 e7ed 7e1c 57fb 0000 0000 0000 0000 7ec6 75eb 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb f4 e3 -1 +7eba 34 -1 +-1 +-1 +7013 e7ed 7e34 57fb 0000 0000 0000 0000 7ec6 75eb 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcbe4 +1108 6e70 f0af 2f0c 0000 0000 0000 0000 95c7 6501 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb bf e4 -1 +9586 34 -1 +-1 +-1 +1108 6e70 f0af 340c 0000 0000 0000 0000 95c7 6501 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcbe5 +57cc 5511 2696 b83d 0000 0000 0000 0000 6ab0 0e90 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb f2 e5 -1 +6aa2 2e -1 +-1 +-1 +57cc 5511 2696 b83e 0000 0000 0000 0000 6ab0 0e90 0000 0004 +00 02 0 0 0 0 23 +6aa2 3e -1 +-1 + +ddcbe6 +207a a441 1e03 ac60 0000 0000 0000 0000 d866 5fdc 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 25 e6 -1 +d88b 4c -1 +-1 +-1 +207a a441 1e03 ac60 0000 0000 0000 0000 d866 5fdc 0000 0004 +00 02 0 0 0 0 23 +d88b 5c -1 +-1 + +ddcbe7 +c3c5 7fa9 4e07 e02d 0000 0000 0000 0000 2a1b 55b7 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb f3 e7 -1 +2a0e eb -1 +-1 +-1 +fbc5 7fa9 4e07 e02d 0000 0000 0000 0000 2a1b 55b7 0000 0004 +00 02 0 0 0 0 23 +2a0e fb -1 +-1 + +ddcbe8 +6d1c a0c4 93f0 a0b4 0000 0000 0000 0000 4bda 7761 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb f2 e8 -1 +4bcc ba -1 +-1 +-1 +6d1c bac4 93f0 a0b4 0000 0000 0000 0000 4bda 7761 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcbe9 +ebe5 0c2c 1a2a 2720 0000 0000 0000 0000 72dd a354 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 8a e9 -1 +7267 0a -1 +-1 +-1 +ebe5 0c2a 1a2a 2720 0000 0000 0000 0000 72dd a354 0000 0004 +00 02 0 0 0 0 23 +7267 2a -1 +-1 + +ddcbea +42d2 da7a 757f 6da6 0000 0000 0000 0000 a7e9 b933 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 04 ea -1 +a7ed 5f -1 +-1 +-1 +42d2 da7a 7f7f 6da6 0000 0000 0000 0000 a7e9 b933 0000 0004 +00 02 0 0 0 0 23 +a7ed 7f -1 +-1 + +ddcbeb +e945 10aa f5f8 7647 0000 0000 0000 0000 16df 93fb 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 24 eb -1 +1703 f3 -1 +-1 +-1 +e945 10aa f5f3 7647 0000 0000 0000 0000 16df 93fb 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcbec +7180 bc85 7dd3 f467 0000 0000 0000 0000 dd88 6a41 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 60 ec -1 +dde8 00 -1 +-1 +-1 +7180 bc85 7dd3 2067 0000 0000 0000 0000 dd88 6a41 0000 0004 +00 02 0 0 0 0 23 +dde8 20 -1 +-1 + +ddcbed +6b2f 9762 1f0a db61 0000 0000 0000 0000 f772 33e3 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb be ed -1 +f730 6b -1 +-1 +-1 +6b2f 9762 1f0a db6b 0000 0000 0000 0000 f772 33e3 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcbee +79ea dc8a 7887 3baa 0000 0000 0000 0000 6c28 abbc 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb de ee -1 +6c06 bd -1 +-1 +-1 +79ea dc8a 7887 3baa 0000 0000 0000 0000 6c28 abbc 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcbef +46c3 2fc2 8690 a836 0000 0000 0000 0000 cc68 a8ce 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 30 ef -1 +cc98 11 -1 +-1 +-1 +31c3 2fc2 8690 a836 0000 0000 0000 0000 cc68 a8ce 0000 0004 +00 02 0 0 0 0 23 +cc98 31 -1 +-1 + +ddcbf0 +b330 4469 362b b515 0000 0000 0000 0000 13c0 6479 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 2f f0 -1 +13ef ad -1 +-1 +-1 +b330 ed69 362b b515 0000 0000 0000 0000 13c0 6479 0000 0004 +00 02 0 0 0 0 23 +13ef ed -1 +-1 + +ddcbf1 +94c0 9ab0 a0fd 7c1d 0000 0000 0000 0000 47ba 8c81 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 40 f1 -1 +47fa 78 -1 +-1 +-1 +94c0 9a78 a0fd 7c1d 0000 0000 0000 0000 47ba 8c81 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcbf2 +5302 9204 20ec d640 0000 0000 0000 0000 c947 4ef1 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 0f f2 -1 +c956 21 -1 +-1 +-1 +5302 9204 61ec d640 0000 0000 0000 0000 c947 4ef1 0000 0004 +00 02 0 0 0 0 23 +c956 61 -1 +-1 + +ddcbf3 +9950 a3d2 5058 5ccc 0000 0000 0000 0000 1d96 7c75 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 06 f3 -1 +1d9c e4 -1 +-1 +-1 +9950 a3d2 50e4 5ccc 0000 0000 0000 0000 1d96 7c75 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcbf4 +3712 1f99 4863 47de 0000 0000 0000 0000 1702 c042 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 3b f4 -1 +173d e1 -1 +-1 +-1 +3712 1f99 4863 e1de 0000 0000 0000 0000 1702 c042 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcbf5 +d83f 1ec9 d0da 4173 0000 0000 0000 0000 eb3f 1ead 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 64 f5 -1 +eba3 c5 -1 +-1 +-1 +d83f 1ec9 d0da 41c5 0000 0000 0000 0000 eb3f 1ead 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcbf6 +4d6c 93ac 810d cfe1 0000 0000 0000 0000 dc5a c33c 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 7b f6 -1 +dcd5 a2 -1 +-1 +-1 +4d6c 93ac 810d cfe1 0000 0000 0000 0000 dc5a c33c 0000 0004 +00 02 0 0 0 0 23 +dcd5 e2 -1 +-1 + +ddcbf7 +fe40 7887 b9de c013 0000 0000 0000 0000 301e 9710 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb c3 f7 -1 +2fe1 a9 -1 +-1 +-1 +e940 7887 b9de c013 0000 0000 0000 0000 301e 9710 0000 0004 +00 02 0 0 0 0 23 +2fe1 e9 -1 +-1 + +ddcbf8 +8278 21a4 1e5c 4952 0000 0000 0000 0000 427f 41e1 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 59 f8 -1 +42d8 28 -1 +-1 +-1 +8278 a8a4 1e5c 4952 0000 0000 0000 0000 427f 41e1 0000 0004 +00 02 0 0 0 0 23 +42d8 a8 -1 +-1 + +ddcbf9 +b2df e9b8 56c3 16ff 0000 0000 0000 0000 d88f 0bab 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 55 f9 -1 +d8e4 14 -1 +-1 +-1 +b2df e994 56c3 16ff 0000 0000 0000 0000 d88f 0bab 0000 0004 +00 02 0 0 0 0 23 +d8e4 94 -1 +-1 + +ddcbfa +01f1 bc0d d476 1510 0000 0000 0000 0000 9420 93a3 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 74 fa -1 +9494 fe -1 +-1 +-1 +01f1 bc0d fe76 1510 0000 0000 0000 0000 9420 93a3 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcbfb +709b 14eb ec1c b844 0000 0000 0000 0000 3453 f2b0 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb af fb -1 +3402 02 -1 +-1 +-1 +709b 14eb ec82 b844 0000 0000 0000 0000 3453 f2b0 0000 0004 +00 02 0 0 0 0 23 +3402 82 -1 +-1 + +ddcbfc +6c89 a96e d27b d6a7 0000 0000 0000 0000 6139 b4c1 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb a1 fc -1 +60da 10 -1 +-1 +-1 +6c89 a96e d27b 90a7 0000 0000 0000 0000 6139 b4c1 0000 0004 +00 02 0 0 0 0 23 +60da 90 -1 +-1 + +ddcbfd +fb3f 83f6 2094 3349 0000 0000 0000 0000 3ed0 6f0e 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb 28 fd -1 +3ef8 c2 -1 +-1 +-1 +fb3f 83f6 2094 33c2 0000 0000 0000 0000 3ed0 6f0e 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcbfe +fc42 50b7 e98d 3e45 0000 0000 0000 0000 41b5 3410 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb ec fe -1 +41a1 a1 -1 +-1 +-1 +fc42 50b7 e98d 3e45 0000 0000 0000 0000 41b5 3410 0000 0004 +00 02 0 0 0 0 23 +-1 + +ddcbff +e666 94d2 ac90 8f45 0000 0000 0000 0000 0655 ba29 0000 0000 +00 00 0 0 0 0 1 +0000 dd cb d3 ff -1 +0628 2b -1 +-1 +-1 +ab66 94d2 ac90 8f45 0000 0000 0000 0000 0655 ba29 0000 0004 +00 02 0 0 0 0 23 +0628 ab -1 +-1 + +dde1 +8a15 6bf0 0106 3dd0 0000 0000 0000 0000 5da4 8716 595f 0000 +00 00 0 0 0 0 1 +0000 dd e1 -1 +595f 9a 09 -1 +-1 +-1 +8a15 6bf0 0106 3dd0 0000 0000 0000 0000 099a 8716 5961 0002 +00 02 0 0 0 0 14 +-1 + +dde3 +068e 58e6 2713 500f 0000 0000 0000 0000 be05 4308 57bd 0000 +00 00 0 0 0 0 1 +0000 dd e3 -1 +57bd 15 3f -1 +-1 +-1 +068e 58e6 2713 500f 0000 0000 0000 0000 3f15 4308 57bd 0002 +00 02 0 0 0 0 23 +57bd 05 be -1 +-1 + +dde5 +7462 9b6c bfe5 0330 0000 0000 0000 0000 b282 e272 0761 0000 +00 00 0 0 0 0 1 +0000 dd e5 -1 +-1 +-1 +7462 9b6c bfe5 0330 0000 0000 0000 0000 b282 e272 075f 0002 +00 02 0 0 0 0 15 +075f 82 b2 -1 +-1 + +dde9 +75a7 139b f9a3 94bb 0000 0000 0000 0000 64f0 3433 0000 0000 +00 00 0 0 0 0 1 +0000 dd e9 -1 +-1 +-1 +75a7 139b f9a3 94bb 0000 0000 0000 0000 64f0 3433 0000 64f0 +00 02 0 0 0 0 8 +-1 + +ddf9 +8709 15dd 7fa6 3c5c 0000 0000 0000 0000 d3a7 1d7b f67c 0000 +00 00 0 0 0 0 1 +0000 dd f9 -1 +-1 +-1 +8709 15dd 7fa6 3c5c 0000 0000 0000 0000 d3a7 1d7b d3a7 0002 +00 02 0 0 0 0 10 +-1 + +ddfd00 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 13 +0000 dd fd 00 00 -1 +-1 +-1 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0004 +00 04 0 0 0 0 16 +-1 + +de +e78d 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 de a1 -1 +-1 +-1 +4502 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 +-1 + +df +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 5507 6d33 +00 00 0 0 0 0 1 +6d33 df -1 +-1 +-1 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 5505 0018 +00 01 0 0 0 0 11 +5505 34 6d -1 +-1 + +e0_1 +0098 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0000 +00 00 0 0 0 0 1 +0000 e0 -1 +43f7 e9 af -1 +-1 +-1 +0098 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f9 afe9 +00 01 0 0 0 0 11 +-1 + +e0_2 +009c 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0000 +00 00 0 0 0 0 1 +0000 e0 -1 +43f7 e9 af -1 +-1 +-1 +009c 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0001 +00 01 0 0 0 0 5 +-1 + +e1 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 4143 0000 +00 00 0 0 0 0 1 +0000 e1 -1 +4143 ce e8 -1 +-1 +-1 +0000 0000 0000 e8ce 0000 0000 0000 0000 0000 0000 4145 0001 +00 01 0 0 0 0 10 +-1 + +e2_1 +0083 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 e2 1b e1 -1 +-1 +-1 +0083 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 e11b +00 01 0 0 0 0 10 +-1 + +e2_2 +0087 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 e2 1b e1 -1 +-1 +-1 +0087 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0003 +00 01 0 0 0 0 10 +-1 + +e3 +0000 0000 0000 4d22 0000 0000 0000 0000 0000 0000 0373 0000 +00 00 0 0 0 0 1 +0000 e3 -1 +0373 8e e1 -1 +-1 +-1 +0000 0000 0000 e18e 0000 0000 0000 0000 0000 0000 0373 0001 +00 01 0 0 0 0 19 +0373 22 4d -1 +-1 + +e4_1 +000a 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0000 +00 00 0 0 0 0 1 +0000 e4 61 9c -1 +-1 +-1 +000a 0000 0000 0000 0000 0000 0000 0000 0000 0000 5696 9c61 +00 01 0 0 0 0 17 +5696 03 00 -1 +-1 + +e4_2 +000e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0000 +00 00 0 0 0 0 1 +0000 e4 61 9c -1 +-1 +-1 +000e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0003 +00 01 0 0 0 0 10 +-1 + +e5 +53e3 1459 775f 1a2f 0000 0000 0000 0000 0000 0000 ec12 0000 +00 00 0 0 0 0 1 +0000 e5 -1 +-1 +-1 +53e3 1459 775f 1a2f 0000 0000 0000 0000 0000 0000 ec10 0001 +00 01 0 0 0 0 11 +ec10 2f 1a -1 +-1 + +e6 +7500 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 e6 49 -1 +-1 +-1 +4114 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 +-1 + +e7 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 5507 6d33 +00 00 0 0 0 0 1 +6d33 e7 -1 +-1 +-1 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 5505 0020 +00 01 0 0 0 0 11 +5505 34 6d -1 +-1 + +e8_1 +0098 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0000 +00 00 0 0 0 0 1 +0000 e8 -1 +43f7 e9 af -1 +-1 +-1 +0098 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0001 +00 01 0 0 0 0 5 +-1 + +e8_2 +009c 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0000 +00 00 0 0 0 0 1 +0000 e8 -1 +43f7 e9 af -1 +-1 +-1 +009c 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f9 afe9 +00 01 0 0 0 0 11 +-1 + +e9 +0000 0000 0000 caba 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 e9 -1 +-1 +-1 +0000 0000 0000 caba 0000 0000 0000 0000 0000 0000 0000 caba +00 01 0 0 0 0 4 +-1 + +ea_1 +0087 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ea 1b e1 -1 +-1 +-1 +0087 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 e11b +00 01 0 0 0 0 10 +-1 + +ea_2 +0083 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ea 1b e1 -1 +-1 +-1 +0083 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0003 +00 01 0 0 0 0 10 +-1 + +eb +0000 0000 b879 942e 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 eb -1 +-1 +-1 +0000 0000 942e b879 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +ec_1 +000e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0000 +00 00 0 0 0 0 1 +0000 ec 61 9c -1 +-1 +-1 +000e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5696 9c61 +00 01 0 0 0 0 17 +5696 03 00 -1 +-1 + +ec_2 +000a 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0000 +00 00 0 0 0 0 1 +0000 ec 61 9c -1 +-1 +-1 +000a 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0003 +00 01 0 0 0 0 10 +-1 + +ed40 +83f9 296b 7034 1f2f 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 40 -1 +-1 +296b 29 + -1 +8329 296b 7034 1f2f 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 +-1 + +ed41 +29a2 0881 d7dd ff4e 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 41 -1 +-1 +-1 +29a2 0881 d7dd ff4e 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 +-1 + +ed42 +cbd3 1c8f d456 315e 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 42 -1 +-1 +-1 +cb12 1c8f d456 14ce 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +-1 + +ed43 +da36 2732 91cc 9798 0000 0000 0000 0000 0000 0000 5f73 0000 +00 00 0 0 0 0 1 +0000 ed 43 c6 54 -1 +-1 +-1 +da36 2732 91cc 9798 0000 0000 0000 0000 0000 0000 5f73 0004 +00 02 0 0 0 0 20 +54c6 32 27 -1 +-1 + +ed44 +fe2b 040f deb6 afc3 0000 0000 0000 0000 0000 0000 5ca8 0000 +00 00 0 0 0 0 1 +0000 ed 44 -1 +-1 +-1 +0213 040f deb6 afc3 0000 0000 0000 0000 0000 0000 5ca8 0002 +00 02 0 0 0 0 8 +-1 + +ed45 +001d 5b63 a586 1451 0000 0000 0000 0000 0000 0000 3100 0000 +00 00 0 1 0 0 1 +0000 ed 45 -1 +3100 1f 22 -1 +-1 +-1 +001d 5b63 a586 1451 0000 0000 0000 0000 0000 0000 3102 221f +00 02 1 1 0 0 14 +-1 + +ed46 +b6ec 8afb ce09 70a1 0000 0000 0000 0000 0000 0000 8dea 0000 +00 00 0 0 0 0 1 +0000 ed 46 -1 +-1 +-1 +b6ec 8afb ce09 70a1 0000 0000 0000 0000 0000 0000 8dea 0002 +00 02 0 0 0 0 8 +-1 + +ed47 +9a99 9e5a 9913 cacc 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 47 -1 +-1 +-1 +9a99 9e5a 9913 cacc 0000 0000 0000 0000 0000 0000 0000 0002 +9a 02 0 0 0 0 9 +-1 + +ed48 +dbdd 7d1b 141d 5fb4 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 48 -1 +-1 +7d1b 7d + -1 +db2d 7d7d 141d 5fb4 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 +-1 + +ed49 +07a5 59ec f459 4316 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 49 -1 +-1 +-1 +07a5 59ec f459 4316 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 +-1 + +ed4a +5741 24b5 83d2 9ac8 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 4a -1 +-1 +-1 +57a8 24b5 83d2 bf7e 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +-1 + +ed4b +650c d74d 0448 a3b9 0000 0000 0000 0000 0000 0000 b554 0000 +00 00 0 0 0 0 1 +0000 ed 4b 1a a4 -1 +a41a f3 d4 -1 +-1 +-1 +650c d4f3 0448 a3b9 0000 0000 0000 0000 0000 0000 b554 0004 +00 02 0 0 0 0 20 +-1 + +ed4c +5682 7dde b049 939d 0000 0000 0000 0000 0000 0000 c7bb 0000 +00 00 0 0 0 0 1 +0000 ed 4c -1 +-1 +-1 +aabb 7dde b049 939d 0000 0000 0000 0000 0000 0000 c7bb 0002 +00 02 0 0 0 0 8 +-1 + +ed4d +1bed c358 5fd5 6093 0000 0000 0000 0000 0000 0000 680e 0000 +00 00 0 0 0 0 1 +0000 ed 4d -1 +680e 03 7c -1 +-1 +-1 +1bed c358 5fd5 6093 0000 0000 0000 0000 0000 0000 6810 7c03 +00 02 0 0 0 0 14 +-1 + +ed4e +8e01 e7c6 880f d2a2 0000 0000 0000 0000 0000 0000 85da 0000 +00 00 0 0 1 0 1 +0000 ed 4e -1 +-1 +-1 +8e01 e7c6 880f d2a2 0000 0000 0000 0000 0000 0000 85da 0002 +00 02 0 0 0 0 8 +-1 + +ed4f +2ae3 c115 eff8 9f6d 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 4f -1 +-1 +-1 +2ae3 c115 eff8 9f6d 0000 0000 0000 0000 0000 0000 0000 0002 +00 2a 0 0 0 0 9 +-1 + +ed50 +85ae bbcc e2a8 f219 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 50 -1 +-1 +bbcc bb + -1 +85ac bbcc bba8 f219 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 +-1 + +ed51 +2c4c c0a4 5303 bc25 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 51 -1 +-1 +-1 +2c4c c0a4 5303 bc25 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 +-1 + +ed52 +fc57 1fc8 47b6 da7c 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 52 -1 +-1 +-1 +fc82 1fc8 47b6 92c5 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +-1 + +ed53 +1f88 4692 5cb2 4915 0000 0000 0000 0000 0000 0000 7d8c 0000 +00 00 0 0 0 0 1 +0000 ed 53 ff 21 -1 +-1 +-1 +1f88 4692 5cb2 4915 0000 0000 0000 0000 0000 0000 7d8c 0004 +00 02 0 0 0 0 20 +21ff b2 5c -1 +-1 + +ed54 +adf9 5661 547c c322 0000 0000 0000 0000 0000 0000 d9eb 0000 +00 00 0 0 0 0 1 +0000 ed 54 -1 +-1 +-1 +5313 5661 547c c322 0000 0000 0000 0000 0000 0000 d9eb 0002 +00 02 0 0 0 0 8 +-1 + +ed55 +b05b 5e84 d6e9 cb3e 0000 0000 0000 0000 0000 0000 d4b4 0000 +00 00 1 0 0 0 1 +0000 ed 55 -1 +d4b4 ea c9 -1 +-1 +-1 +b05b 5e84 d6e9 cb3e 0000 0000 0000 0000 0000 0000 d4b6 c9ea +00 02 0 0 0 0 14 +-1 + +ed56 +5cc0 9100 356b 4bfd 0000 0000 0000 0000 0000 0000 2c93 0000 +00 00 0 0 1 0 1 +0000 ed 56 -1 +-1 +-1 +5cc0 9100 356b 4bfd 0000 0000 0000 0000 0000 0000 2c93 0002 +00 02 0 0 1 0 8 +-1 + +ed57 +bcfe dfc7 a621 1022 0000 0000 0000 0000 0000 0000 0000 0000 +1e 17 0 0 0 0 1 +0000 ed 57 -1 +-1 +-1 +1e08 dfc7 a621 1022 0000 0000 0000 0000 0000 0000 0000 0002 +1e 19 0 0 0 0 9 +-1 + +ed58 +c9ee 4091 9e46 873a 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 58 -1 +-1 +4091 40 + -1 +c900 4091 9e40 873a 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 +-1 + +ed59 +388a d512 ecc5 93af 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 59 -1 +-1 +-1 +388a d512 ecc5 93af 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 +-1 + +ed5a +a41f 751c 19ce 0493 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 5a -1 +-1 +-1 +a408 751c 19ce 1e62 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +-1 + +ed5b +5df1 982e 002f adb9 0000 0000 0000 0000 0000 0000 f398 0000 +00 00 0 0 0 0 1 +0000 ed 5b 04 9f -1 +9f04 84 4d -1 +-1 +-1 +5df1 982e 4d84 adb9 0000 0000 0000 0000 0000 0000 f398 0004 +00 02 0 0 0 0 20 +-1 + +ed5c +11c3 b86c 2042 c958 0000 0000 0000 0000 0000 0000 93dc 0000 +00 00 0 0 0 0 1 +0000 ed 5c -1 +-1 +-1 +efbb b86c 2042 c958 0000 0000 0000 0000 0000 0000 93dc 0002 +00 02 0 0 0 0 8 +-1 + +ed5d +1152 1d20 3f86 64fc 0000 0000 0000 0000 0000 0000 5308 0000 +00 00 0 0 0 0 1 +0000 ed 5d -1 +5308 26 e0 -1 +-1 +-1 +1152 1d20 3f86 64fc 0000 0000 0000 0000 0000 0000 530a e026 +00 02 0 0 0 0 14 +-1 + +ed5e +611a c8cf f215 d92b 0000 0000 0000 0000 0000 0000 4d86 0000 +00 00 0 0 1 0 1 +0000 ed 5e -1 +-1 +-1 +611a c8cf f215 d92b 0000 0000 0000 0000 0000 0000 4d86 0002 +00 02 0 0 2 0 8 +-1 + +ed5f +1bb5 fc09 2dfa bab9 0000 0000 0000 0000 0000 0000 0000 0000 +d7 f3 0 0 0 0 1 +0000 ed 5f -1 +-1 +-1 +f5a1 fc09 2dfa bab9 0000 0000 0000 0000 0000 0000 0000 0002 +d7 f5 0 0 0 0 9 +-1 + +ed60 +2c9c 0dae 621e 2f66 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 60 -1 +-1 +0dae 0d + -1 +2c08 0dae 621e 0d66 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 +-1 + +ed61 +ffa8 90ca 0340 d847 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 61 -1 +-1 +-1 +ffa8 90ca 0340 d847 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 +-1 + +ed62 +a60b d9aa 6623 0b1a 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 62 -1 +-1 +-1 +a6bb d9aa 6623 ffff 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +-1 + +ed63 +5222 88f9 9d9a e4d3 0000 0000 0000 0000 0000 0000 a2f0 0000 +00 00 0 0 0 0 1 +0000 ed 63 67 65 -1 +-1 +-1 +5222 88f9 9d9a e4d3 0000 0000 0000 0000 0000 0000 a2f0 0004 +00 02 0 0 0 0 20 +6567 d3 e4 -1 +-1 + +ed64 +2127 e425 66ac b2a3 0000 0000 0000 0000 0000 0000 43f2 0000 +00 00 0 0 0 0 1 +0000 ed 64 -1 +-1 +-1 +df9b e425 66ac b2a3 0000 0000 0000 0000 0000 0000 43f2 0002 +00 02 0 0 0 0 8 +-1 + +ed65 +63d2 1fa1 0788 881c 0000 0000 0000 0000 0000 0000 f207 0000 +00 00 0 1 0 0 1 +0000 ed 65 -1 +f207 eb 0e -1 +-1 +-1 +63d2 1fa1 0788 881c 0000 0000 0000 0000 0000 0000 f209 0eeb +00 02 1 1 0 0 14 +-1 + +ed66 +4088 a7e1 3ffd 919b 0000 0000 0000 0000 0000 0000 d193 0000 +00 00 0 0 1 0 1 +0000 ed 66 -1 +-1 +-1 +4088 a7e1 3ffd 919b 0000 0000 0000 0000 0000 0000 d193 0002 +00 02 0 0 0 0 8 +-1 + +ed67 +3624 b16a a4db b9de 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 67 -1 +b9de 93 -1 +-1 +-1 +3324 b16a a4db b9de 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 18 +b9de 69 -1 +-1 + +ed68 +5316 624b 7311 3106 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 68 -1 +-1 +624b 62 + -1 +5320 624b 7311 3162 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 +-1 + +ed69 +abd8 8d2f 89c7 c3d6 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 69 -1 +-1 +-1 +abd8 8d2f 89c7 c3d6 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 +-1 + +ed6a +bb5a 6fed 59bb 4e40 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 6a -1 +-1 +-1 +bb9c 6fed 59bb 9c80 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 15 +-1 + +ed6b +9e35 d240 1998 ab19 0000 0000 0000 0000 0000 0000 9275 0000 +00 00 0 0 0 0 1 +0000 ed 6b 98 61 -1 +6198 3f be -1 +-1 +-1 +9e35 d240 1998 be3f 0000 0000 0000 0000 0000 0000 9275 0004 +00 02 0 0 0 0 20 +-1 + +ed6c +0fb1 7d5b cadb 0893 0000 0000 0000 0000 0000 0000 d983 0000 +00 00 0 0 0 0 1 +0000 ed 6c -1 +-1 +-1 +f1b3 7d5b cadb 0893 0000 0000 0000 0000 0000 0000 d983 0002 +00 02 0 0 0 0 8 +-1 + +ed6d +3860 42da 5935 dc10 0000 0000 0000 0000 0000 0000 5cd3 0000 +00 00 0 0 0 0 1 +0000 ed 6d -1 +5cd3 a9 73 -1 +-1 +-1 +3860 42da 5935 dc10 0000 0000 0000 0000 0000 0000 5cd5 73a9 +00 02 0 0 0 0 14 +-1 + +ed6e +7752 bec3 0457 8c95 0000 0000 0000 0000 0000 0000 a787 0000 +00 00 0 0 0 0 1 +0000 ed 6e -1 +-1 +-1 +7752 bec3 0457 8c95 0000 0000 0000 0000 0000 0000 a787 0002 +00 02 0 0 0 0 8 +-1 + +ed6f +658b 7a7a ecf0 403c 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 6f -1 +403c c4 -1 +-1 +-1 +6c2d 7a7a ecf0 403c 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 18 +403c 45 -1 +-1 + +ed70 +c6a1 f7d6 a3cb 288d 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 70 -1 +-1 +f7d6 f7 + -1 +c6a1 f7d6 a3cb 288d 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 +-1 + +ed71 +afa0 20b3 7b33 4ac1 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 71 -1 +-1 +-1 +afa0 20b3 7b33 4ac1 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 +-1 + +ed72 +5fd9 05cb 0c6c d18b 0000 0000 0000 0000 0000 0000 53db 0000 +00 00 0 0 0 0 1 +0000 ed 72 -1 +-1 +-1 +5f3e 05cb 0c6c 7daf 0000 0000 0000 0000 0000 0000 53db 0002 +00 02 0 0 0 0 15 +-1 + +ed73 +41c4 763a ecb0 ee62 0000 0000 0000 0000 0000 0000 aed5 0000 +00 00 0 0 0 0 1 +0000 ed 73 2a 79 -1 +-1 +-1 +41c4 763a ecb0 ee62 0000 0000 0000 0000 0000 0000 aed5 0004 +00 02 0 0 0 0 20 +792a d5 ae -1 +-1 + +ed74 +4454 f2d2 8340 7e76 0000 0000 0000 0000 0000 0000 0323 0000 +00 00 0 0 0 0 1 +0000 ed 74 -1 +-1 +-1 +bcbb f2d2 8340 7e76 0000 0000 0000 0000 0000 0000 0323 0002 +00 02 0 0 0 0 8 +-1 + +ed75 +7ca4 1615 5d2a a95b 0000 0000 0000 0000 0000 0000 7d00 0000 +00 00 1 1 0 0 1 +0000 ed 75 -1 +7d00 fd 4f -1 +-1 +-1 +7ca4 1615 5d2a a95b 0000 0000 0000 0000 0000 0000 7d02 4ffd +00 02 1 1 0 0 14 +-1 + +ed76 +cabf ff9a b98c a8e6 0000 0000 0000 0000 0000 0000 fe8e 0000 +00 00 0 0 2 0 1 +0000 ed 76 -1 +-1 +-1 +cabf ff9a b98c a8e6 0000 0000 0000 0000 0000 0000 fe8e 0002 +00 02 0 0 1 0 8 +-1 + +ed78 +58dd f206 2d6a af16 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 78 -1 +-1 +f206 f2 + -1 +f2a1 f206 2d6a af16 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 +-1 + +ed79 +e000 4243 8f7f ed90 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed 79 -1 +-1 +-1 +e000 4243 8f7f ed90 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 12 +-1 + +ed7a +32fd d819 d873 8dcf 0000 0000 0000 0000 0000 0000 5d22 0000 +00 00 0 0 0 0 1 +0000 ed 7a -1 +-1 +-1 +32b8 d819 d873 eaf2 0000 0000 0000 0000 0000 0000 5d22 0002 +00 02 0 0 0 0 15 +-1 + +ed7b +4f97 24b7 e105 1bf2 0000 0000 0000 0000 0000 0000 5e17 0000 +00 00 0 0 0 0 1 +0000 ed 7b 50 8c -1 +8c50 d8 48 -1 +-1 +-1 +4f97 24b7 e105 1bf2 0000 0000 0000 0000 0000 0000 48d8 0004 +00 02 0 0 0 0 20 +-1 + +ed7c +d333 29ca 9622 b452 0000 0000 0000 0000 0000 0000 0be6 0000 +00 00 0 0 0 0 1 +0000 ed 7c -1 +-1 +-1 +2d3b 29ca 9622 b452 0000 0000 0000 0000 0000 0000 0be6 0002 +00 02 0 0 0 0 8 +-1 + +ed7d +ecb6 073e dc1e 38d9 0000 0000 0000 0000 0000 0000 66f0 0000 +00 00 0 1 0 0 1 +0000 ed 7d -1 +66f0 4f fb -1 +-1 +-1 +ecb6 073e dc1e 38d9 0000 0000 0000 0000 0000 0000 66f2 fb4f +00 02 1 1 0 0 14 +-1 + +ed7e +b246 1a1a 933a 4b8b 0000 0000 0000 0000 0000 0000 2242 0000 +00 00 0 0 0 0 1 +0000 ed 7e -1 +-1 +-1 +b246 1a1a 933a 4b8b 0000 0000 0000 0000 0000 0000 2242 0002 +00 02 0 0 2 0 8 +-1 + +eda0 +1bc9 3d11 95c1 d097 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a0 -1 +d097 b7 -1 +-1 +-1 +1be5 3d10 95c2 d098 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +95c1 b7 -1 +-1 + +eda1 +ecdb 7666 537f 3bc3 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a1 -1 +3bc3 b4 -1 +-1 +-1 +ec0f 7665 537f 3bc4 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +-1 + +eda2 +0121 9a82 5bbd 2666 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a2 -1 +-1 +9a82 9a + -1 +019f 9982 5bbd 2667 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +2666 9a -1 +-1 + +eda2_01 +0000 0200 0000 8000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a2 -1 +-1 +0200 02 + -1 +0000 0100 0000 8001 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +8000 02 -1 +-1 + +eda2_02 +0000 569a 0000 8000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a2 -1 +-1 +569a 56 + -1 +0000 559a 0000 8001 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +8000 56 -1 +-1 + +eda2_03 +0000 abcc 0000 8000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a2 -1 +-1 +abcc ab + -1 +00bf aacc 0000 8001 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +8000 ab -1 +-1 + +eda3 +42c5 6334 1e28 32fa 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a3 -1 +32fa b3 -1 +-1 +-1 +4233 6234 1e28 32fb 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +-1 + +eda3_01 +0000 0100 0000 01ff 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a3 -1 +01ff 00 -1 +-1 +-1 +0044 0000 0000 0200 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +-1 + +eda3_02 +0000 0100 0000 0100 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a3 -1 +0100 00 -1 +-1 +-1 +0040 0000 0000 0101 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +-1 + +eda3_03 +0000 0100 0000 0107 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a3 -1 +0107 00 -1 +-1 +-1 +0044 0000 0000 0108 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +-1 + +eda3_04 +0000 0100 0000 01ff 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a3 -1 +01ff 80 -1 +-1 +-1 +0046 0000 0000 0200 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +-1 + +eda3_05 +0000 0100 0000 01fd 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a3 -1 +01fd 12 -1 +-1 +-1 +0055 0000 0000 01fe 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +-1 + +eda3_06 +0000 0100 0000 01fe 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a3 -1 +01fe 12 -1 +-1 +-1 +0051 0000 0000 01ff 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +-1 + +eda3_07 +0000 0200 0000 01ff 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a3 -1 +01ff 00 -1 +-1 +-1 +0000 0100 0000 0200 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +-1 + +eda3_08 +0000 0800 0000 01fe 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a3 -1 +01fe 00 -1 +-1 +-1 +0004 0700 0000 01ff 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +-1 + +eda3_09 +0000 8100 0000 01ff 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a3 -1 +01ff 00 -1 +-1 +-1 +0080 8000 0000 0200 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +-1 + +eda3_10 +0000 8200 0000 01ff 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a3 -1 +01ff 00 -1 +-1 +-1 +0084 8100 0000 0200 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +-1 + +eda3_11 +0000 a900 0000 01ff 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a3 -1 +01ff 00 -1 +-1 +-1 +00a8 a800 0000 0200 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +-1 + +eda8 +2a8e 1607 5938 12e8 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a8 -1 +12e8 d8 -1 +-1 +-1 +2aa4 1606 5937 12e7 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +5938 d8 -1 +-1 + +eda9 +1495 fb42 0466 0dbe 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed a9 -1 +0dbe 89 -1 +-1 +-1 +14bf fb41 0466 0dbd 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +-1 + +edaa +2042 d791 a912 a533 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed aa -1 +-1 +d791 d7 + -1 +2097 d691 a912 a532 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +a533 d7 -1 +-1 + +edaa_01 +0000 0101 0000 8000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed aa -1 +-1 +0101 01 + -1 +0040 0001 0000 7fff 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +8000 01 -1 +-1 + +edaa_02 +0000 56aa 0000 8000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed aa -1 +-1 +56aa 56 + -1 +0000 55aa 0000 7fff 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +8000 56 -1 +-1 + +edaa_03 +0000 abcc 0000 8000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed aa -1 +-1 +abcc ab + -1 +00bf aacc 0000 7fff 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +8000 ab -1 +-1 + +edab +0037 f334 d3e1 199f 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed ab -1 +199f 49 -1 +-1 +-1 +00a4 f234 d3e1 199e 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +-1 + +edab_01 +0000 5800 0000 007a 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed ab -1 +007a 7f -1 +-1 +-1 +0000 5700 0000 0079 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +-1 + +edab_02 +0000 ab00 0000 00f1 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ed ab -1 +00f1 cd -1 +-1 +-1 +00bf aa00 0000 00f0 0000 0000 0000 0000 0000 0000 0000 0002 +00 02 0 0 0 0 16 +-1 + +edb0 +1045 0010 aad8 558e 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 331 +0000 ed b0 -1 +558e 53 94 30 05 44 24 22 b9 e9 77 23 71 e2 5c fb 49 -1 +-1 +-1 +1049 0000 aae8 559e 0000 0000 0000 0000 0000 0000 0000 0002 +00 20 0 0 0 0 331 +aad8 53 94 30 05 44 24 22 b9 e9 77 23 71 e2 5c fb 49 -1 +-1 + +edb1 +f4dd 0008 e4e0 9825 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 79 +0000 ed b1 -1 +9825 50 e5 41 f4 01 9f 11 85 -1 +-1 +-1 +f447 0004 e4e0 9829 0000 0000 0000 0000 0000 0000 0000 0002 +00 08 0 0 0 0 79 +-1 + +edb2 +8a34 0a40 d98c 37ce 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 205 +0000 ed b2 -1 +-1 +0a40 0a + 0940 09 + 0840 08 + 0740 07 + 0640 06 + 0540 05 + 0440 04 + 0340 03 + 0240 02 + 0140 01 + -1 +8a40 0040 d98c 37d8 0000 0000 0000 0000 0000 0000 0000 0002 +00 14 0 0 0 0 205 +37ce 0a 09 08 07 06 05 04 03 02 01 -1 +-1 + +edb3 +34ab 03e0 41b9 1d7c 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 58 +0000 ed b3 -1 +1d7c 9d 24 aa -1 +-1 +-1 +3453 00e0 41b9 1d7f 0000 0000 0000 0000 0000 0000 0000 0002 +00 06 0 0 0 0 58 +-1 + +edb8 +e553 0008 68e8 4dcf 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 163 +0000 ed b8 -1 +4dc8 29 85 a7 c3 55 74 23 0a -1 +-1 +-1 +e569 0000 68e0 4dc7 0000 0000 0000 0000 0000 0000 0000 0002 +00 10 0 0 0 0 163 +68e1 29 85 a7 c3 55 74 23 0a -1 +-1 + +edb9 +ffcd 0008 a171 c749 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 163 +0000 ed b9 -1 +c742 c6 09 85 ec 5a 01 4e 6c -1 +-1 +-1 +ff0b 0000 a171 c741 0000 0000 0000 0000 0000 0000 0000 0002 +00 10 0 0 0 0 163 +-1 + +edba +2567 069f d40d 6b55 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 121 +0000 ed ba -1 +-1 +069f 06 + 059f 05 + 049f 04 + 039f 03 + 029f 02 + 019f 01 + -1 +2540 009f d40d 6b4f 0000 0000 0000 0000 0000 0000 0000 0002 +00 0c 0 0 0 0 121 +6b50 01 02 03 04 05 06 -1 +-1 + +edbb +09c4 043b be49 1dd0 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 79 +0000 ed bb -1 +1dcd f9 71 c5 b6 -1 +-1 +-1 +0957 003b be49 1dcc 0000 0000 0000 0000 0000 0000 0000 0002 +00 08 0 0 0 0 79 +-1 + +ee +3e00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 ee d0 -1 +-1 +-1 +eeac 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 +-1 + +ef +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 5507 6d33 +00 00 0 0 0 0 1 +6d33 ef -1 +-1 +-1 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 5505 0028 +00 01 0 0 0 0 11 +5505 34 6d -1 +-1 + +f0_1 +0018 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0000 +00 00 0 0 0 0 1 +0000 f0 -1 +43f7 e9 af -1 +-1 +-1 +0018 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f9 afe9 +00 01 0 0 0 0 11 +-1 + +f0_2 +0098 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0000 +00 00 0 0 0 0 1 +0000 f0 -1 +43f7 e9 af -1 +-1 +-1 +0098 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0001 +00 01 0 0 0 0 5 +-1 + +f1 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 4143 0000 +00 00 0 0 0 0 1 +0000 f1 -1 +4143 ce e8 -1 +-1 +-1 +e8ce 0000 0000 0000 0000 0000 0000 0000 0000 0000 4145 0001 +00 01 0 0 0 0 10 +-1 + +f2_1 +0007 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 f2 1b e1 -1 +-1 +-1 +0007 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 e11b +00 01 0 0 0 0 10 +-1 + +f2_2 +0087 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 f2 1b e1 -1 +-1 +-1 +0087 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0003 +00 01 0 0 0 0 10 +-1 + +f3 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 1 1 0 0 1 +0000 f3 -1 +-1 +-1 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 0 0 0 0 4 +-1 + +f4_1 +000e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0000 +00 00 0 0 0 0 1 +0000 f4 61 9c -1 +-1 +-1 +000e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5696 9c61 +00 01 0 0 0 0 17 +5696 03 00 -1 +-1 + +f4_2 +008e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0000 +00 00 0 0 0 0 1 +0000 f4 61 9c -1 +-1 +-1 +008e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0003 +00 01 0 0 0 0 10 +-1 + +f5 +53e3 1459 775f 1a2f 0000 0000 0000 0000 0000 0000 ec12 0000 +00 00 0 0 0 0 1 +0000 f5 -1 +-1 +-1 +53e3 1459 775f 1a2f 0000 0000 0000 0000 0000 0000 ec10 0001 +00 01 0 0 0 0 11 +ec10 e3 53 -1 +-1 + +f6 +0600 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 f6 a7 -1 +-1 +-1 +a7a0 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 +-1 + +f7 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 5507 6d33 +00 00 0 0 0 0 1 +6d33 f7 -1 +-1 +-1 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 5505 0030 +00 01 0 0 0 0 11 +5505 34 6d -1 +-1 + +f8_1 +0018 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0000 +00 00 0 0 0 0 1 +0000 f8 -1 +43f7 e9 af -1 +-1 +-1 +0018 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0001 +00 01 0 0 0 0 5 +-1 + +f8_2 +0098 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f7 0000 +00 00 0 0 0 0 1 +0000 f8 -1 +43f7 e9 af -1 +-1 +-1 +0098 0000 0000 0000 0000 0000 0000 0000 0000 0000 43f9 afe9 +00 01 0 0 0 0 11 +-1 + +f9 +0000 0000 0000 ce32 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 f9 -1 +-1 +-1 +0000 0000 0000 ce32 0000 0000 0000 0000 0000 0000 ce32 0001 +00 01 0 0 0 0 6 +-1 + +fa_1 +0087 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 fa 1b e1 -1 +-1 +-1 +0087 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 e11b +00 01 0 0 0 0 10 +-1 + +fa_2 +0007 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 fa 1b e1 -1 +-1 +-1 +0007 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0003 +00 01 0 0 0 0 10 +-1 + +fb +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 fb -1 +-1 +-1 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 +00 01 1 1 0 0 4 +-1 + +fc_1 +008e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0000 +00 00 0 0 0 0 1 +0000 fc 61 9c -1 +-1 +-1 +008e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5696 9c61 +00 01 0 0 0 0 17 +5696 03 00 -1 +-1 + +fc_2 +000e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0000 +00 00 0 0 0 0 1 +0000 fc 61 9c -1 +-1 +-1 +000e 0000 0000 0000 0000 0000 0000 0000 0000 0000 5698 0003 +00 01 0 0 0 0 10 +-1 + +fd09 +466a a623 bab2 d788 0000 0000 0000 0000 c9e8 f698 0000 0000 +00 00 0 0 0 0 1 +0000 fd 09 -1 +-1 +-1 +4649 a623 bab2 d788 0000 0000 0000 0000 c9e8 9cbb 0000 0002 +00 02 0 0 0 0 15 +-1 + +fd19 +b3e5 5336 76cb 54e2 0000 0000 0000 0000 b9ce 8624 0000 0000 +00 00 0 0 0 0 1 +0000 fd 19 -1 +-1 +-1 +b3ec 5336 76cb 54e2 0000 0000 0000 0000 b9ce fcef 0000 0002 +00 02 0 0 0 0 15 +-1 + +fd21 +c924 5c83 e0e2 eddb 0000 0000 0000 0000 6e9f ba55 0000 0000 +00 00 0 0 0 0 1 +0000 fd 21 46 47 -1 +-1 +-1 +c924 5c83 e0e2 eddb 0000 0000 0000 0000 6e9f 4746 0000 0004 +00 02 0 0 0 0 14 +-1 + +fd22 +1235 f0b6 b74c cc9f 0000 0000 0000 0000 8b00 81e4 0000 0000 +00 00 0 0 0 0 1 +0000 fd 22 9a e2 -1 +-1 +-1 +1235 f0b6 b74c cc9f 0000 0000 0000 0000 8b00 81e4 0000 0004 +00 02 0 0 0 0 20 +e29a e4 81 -1 +-1 + +fd23 +69f2 c1d3 0f6f 2169 0000 0000 0000 0000 e39e 2605 0000 0000 +00 00 0 0 0 0 1 +0000 fd 23 -1 +-1 +-1 +69f2 c1d3 0f6f 2169 0000 0000 0000 0000 e39e 2606 0000 0002 +00 02 0 0 0 0 10 +-1 + +fd24 +5554 9684 d36a dac3 0000 0000 0000 0000 7803 6434 0000 0000 +00 00 0 0 0 0 1 +0000 fd 24 -1 +-1 +-1 +5520 9684 d36a dac3 0000 0000 0000 0000 7803 6534 0000 0002 +00 02 0 0 0 0 8 +-1 + +fd25 +cd0b b5e4 a754 9526 0000 0000 0000 0000 3dcb 03b2 0000 0000 +00 00 0 0 0 0 1 +0000 fd 25 -1 +-1 +-1 +cd03 b5e4 a754 9526 0000 0000 0000 0000 3dcb 02b2 0000 0002 +00 02 0 0 0 0 8 +-1 + +fd26 +2452 300b b4a1 929d 0000 0000 0000 0000 c259 3f30 0000 0000 +00 00 0 0 0 0 1 +0000 fd 26 77 -1 +-1 +-1 +2452 300b b4a1 929d 0000 0000 0000 0000 c259 7730 0000 0003 +00 02 0 0 0 0 11 +-1 + +fd29 +5812 49d0 ec95 011c 0000 0000 0000 0000 ec6c 594c 0000 0000 +00 00 0 0 0 0 1 +0000 fd 29 -1 +-1 +-1 +5830 49d0 ec95 011c 0000 0000 0000 0000 ec6c b298 0000 0002 +00 02 0 0 0 0 15 +-1 + +fd2a +0f82 3198 87e3 7c1c 0000 0000 0000 0000 1bb4 eb1a 0000 0000 +00 00 0 0 0 0 1 +0000 fd 2a 91 f9 -1 +f991 92 bf -1 +-1 +-1 +0f82 3198 87e3 7c1c 0000 0000 0000 0000 1bb4 bf92 0000 0004 +00 02 0 0 0 0 20 +-1 + +fd2b +ab27 942f 82fa 6f2f 0000 0000 0000 0000 9438 ebbc 0000 0000 +00 00 0 0 0 0 1 +0000 fd 2b -1 +-1 +-1 +ab27 942f 82fa 6f2f 0000 0000 0000 0000 9438 ebbb 0000 0002 +00 02 0 0 0 0 10 +-1 + +fd2c +665d 0ab1 5656 e5a9 0000 0000 0000 0000 5fb9 4df7 0000 0000 +00 00 0 0 0 0 1 +0000 fd 2c -1 +-1 +-1 +66a9 0ab1 5656 e5a9 0000 0000 0000 0000 5fb9 4df8 0000 0002 +00 02 0 0 0 0 8 +-1 + +fd2d +32fb f78a b906 31d0 0000 0000 0000 0000 c72a e91c 0000 0000 +00 00 0 0 0 0 1 +0000 fd 2d -1 +-1 +-1 +320b f78a b906 31d0 0000 0000 0000 0000 c72a e91b 0000 0002 +00 02 0 0 0 0 8 +-1 + +fd2e +2114 4923 6e65 006c 0000 0000 0000 0000 da39 c0cb 0000 0000 +00 00 0 0 0 0 1 +0000 fd 2e 49 -1 +-1 +-1 +2114 4923 6e65 006c 0000 0000 0000 0000 da39 c049 0000 0003 +00 02 0 0 0 0 11 +-1 + +fd34 +d56a 6f24 7df7 74f0 0000 0000 0000 0000 365a efc4 0000 0000 +00 00 0 0 0 0 1 +0000 fd 34 b8 -1 +ef7c e0 -1 +-1 +-1 +d5a0 6f24 7df7 74f0 0000 0000 0000 0000 365a efc4 0000 0003 +00 02 0 0 0 0 23 +ef7c e1 -1 +-1 + +fd35 +8cda 35d8 7c1a 1c0a 0000 0000 0000 0000 62bb aec6 0000 0000 +00 00 0 0 0 0 1 +0000 fd 35 ab -1 +ae71 a6 -1 +-1 +-1 +8ca2 35d8 7c1a 1c0a 0000 0000 0000 0000 62bb aec6 0000 0003 +00 02 0 0 0 0 23 +ae71 a5 -1 +-1 + +fd36 +e0f9 ae1f 4aef c9d5 0000 0000 0000 0000 c0db bdd4 0000 0000 +00 00 0 0 0 0 1 +0000 fd 36 81 c5 -1 +-1 +-1 +e0f9 ae1f 4aef c9d5 0000 0000 0000 0000 c0db bdd4 0000 0004 +00 02 0 0 0 0 19 +bd55 c5 -1 +-1 + +fd39 +2603 726f 9c7f cd46 0000 0000 0000 0000 dc45 54d5 dc57 0000 +00 00 0 0 0 0 1 +0000 fd 39 -1 +-1 +-1 +2631 726f 9c7f cd46 0000 0000 0000 0000 dc45 312c dc57 0002 +00 02 0 0 0 0 15 +-1 + +fd44 +0e58 7192 3580 9be4 0000 0000 0000 0000 1b79 685e 0000 0000 +00 00 0 0 0 0 1 +0000 fd 44 -1 +-1 +-1 +0e58 6892 3580 9be4 0000 0000 0000 0000 1b79 685e 0000 0002 +00 02 0 0 0 0 8 +-1 + +fd45 +6555 a488 5ae8 c948 0000 0000 0000 0000 d7b8 a177 0000 0000 +00 00 0 0 0 0 1 +0000 fd 45 -1 +-1 +-1 +6555 7788 5ae8 c948 0000 0000 0000 0000 d7b8 a177 0000 0002 +00 02 0 0 0 0 8 +-1 + +fd46 +87f3 17d5 5eea 830b 0000 0000 0000 0000 dcee 3afc 0000 0000 +00 00 0 0 0 0 1 +0000 fd 46 4d -1 +3b49 c9 -1 +-1 +-1 +87f3 c9d5 5eea 830b 0000 0000 0000 0000 dcee 3afc 0000 0003 +00 02 0 0 0 0 19 +-1 + +fd4c +7e6b bd4b 24b6 ff94 0000 0000 0000 0000 862d 01d0 0000 0000 +00 00 0 0 0 0 1 +0000 fd 4c -1 +-1 +-1 +7e6b bd01 24b6 ff94 0000 0000 0000 0000 862d 01d0 0000 0002 +00 02 0 0 0 0 8 +-1 + +fd4d +50cf e3fe 998e dba2 0000 0000 0000 0000 c4f5 c7c9 0000 0000 +00 00 0 0 0 0 1 +0000 fd 4d -1 +-1 +-1 +50cf e3c9 998e dba2 0000 0000 0000 0000 c4f5 c7c9 0000 0002 +00 02 0 0 0 0 8 +-1 + +fd4e +2c0f 69d7 748a 9290 0000 0000 0000 0000 904f bb9a 0000 0000 +00 00 0 0 0 0 1 +0000 fd 4e 67 -1 +bc01 9d -1 +-1 +-1 +2c0f 699d 748a 9290 0000 0000 0000 0000 904f bb9a 0000 0003 +00 02 0 0 0 0 19 +-1 + +fd54 +d7f9 f65b b001 d4c4 0000 0000 0000 0000 4b8e d437 0000 0000 +00 00 0 0 0 0 1 +0000 fd 54 -1 +-1 +-1 +d7f9 f65b d401 d4c4 0000 0000 0000 0000 4b8e d437 0000 0002 +00 02 0 0 0 0 8 +-1 + +fd55 +ab98 fdab 254a 010e 0000 0000 0000 0000 126b 13a9 0000 0000 +00 00 0 0 0 0 1 +0000 fd 55 -1 +-1 +-1 +ab98 fdab a94a 010e 0000 0000 0000 0000 126b 13a9 0000 0002 +00 02 0 0 0 0 8 +-1 + +fd56 +d3e8 df10 5442 b641 0000 0000 0000 0000 a5a0 fda2 0000 0000 +00 00 0 0 0 0 1 +0000 fd 56 ce -1 +fd70 78 -1 +-1 +-1 +d3e8 df10 7842 b641 0000 0000 0000 0000 a5a0 fda2 0000 0003 +00 02 0 0 0 0 19 +-1 + +fd5c +11d5 c489 e220 434e 0000 0000 0000 0000 3244 d8bb 0000 0000 +00 00 0 0 0 0 1 +0000 fd 5c -1 +-1 +-1 +11d5 c489 e2d8 434e 0000 0000 0000 0000 3244 d8bb 0000 0002 +00 02 0 0 0 0 8 +-1 + +fd5d +e945 dbae 32ea 4f7e 0000 0000 0000 0000 fa56 074e 0000 0000 +00 00 0 0 0 0 1 +0000 fd 5d -1 +-1 +-1 +e945 dbae 324e 4f7e 0000 0000 0000 0000 fa56 074e 0000 0002 +00 02 0 0 0 0 8 +-1 + +fd5e +6f3b e9dc 7a06 14f3 0000 0000 0000 0000 ec76 8aaa 0000 0000 +00 00 0 0 0 0 1 +0000 fd 5e c6 -1 +8a70 8c -1 +-1 +-1 +6f3b e9dc 7a8c 14f3 0000 0000 0000 0000 ec76 8aaa 0000 0003 +00 02 0 0 0 0 19 +-1 + +fd60 +8579 005d d9ee faee 0000 0000 0000 0000 382d 2f95 0000 0000 +00 00 0 0 0 0 1 +0000 fd 60 -1 +-1 +-1 +8579 005d d9ee faee 0000 0000 0000 0000 382d 0095 0000 0002 +00 02 0 0 0 0 8 +-1 + +fd61 +5682 dbc3 b495 9799 0000 0000 0000 0000 85b2 3c1e 0000 0000 +00 00 0 0 0 0 1 +0000 fd 61 -1 +-1 +-1 +5682 dbc3 b495 9799 0000 0000 0000 0000 85b2 c31e 0000 0002 +00 02 0 0 0 0 8 +-1 + +fd62 +906b f52e f3d8 1e8c 0000 0000 0000 0000 ddba 9a02 0000 0000 +00 00 0 0 0 0 1 +0000 fd 62 -1 +-1 +-1 +906b f52e f3d8 1e8c 0000 0000 0000 0000 ddba f302 0000 0002 +00 02 0 0 0 0 8 +-1 + +fd63 +9d59 beb9 d826 0eaa 0000 0000 0000 0000 4290 a4b9 0000 0000 +00 00 0 0 0 0 1 +0000 fd 63 -1 +-1 +-1 +9d59 beb9 d826 0eaa 0000 0000 0000 0000 4290 26b9 0000 0002 +00 02 0 0 0 0 8 +-1 + +fd64 +7b0e e394 8a25 cddf 0000 0000 0000 0000 9784 2116 0000 0000 +00 00 0 0 0 0 1 +0000 fd 64 -1 +-1 +-1 +7b0e e394 8a25 cddf 0000 0000 0000 0000 9784 2116 0000 0002 +00 02 0 0 0 0 8 +-1 + +fd65 +b827 eb4f f666 c52a 0000 0000 0000 0000 6206 831f 0000 0000 +00 00 0 0 0 0 1 +0000 fd 65 -1 +-1 +-1 +b827 eb4f f666 c52a 0000 0000 0000 0000 6206 1f1f 0000 0002 +00 02 0 0 0 0 8 +-1 + +fd66 +9129 e4ee e3a3 86ca 0000 0000 0000 0000 4d93 5b24 0000 0000 +00 00 0 0 0 0 1 +0000 fd 66 80 -1 +5aa4 77 -1 +-1 +-1 +9129 e4ee e3a3 77ca 0000 0000 0000 0000 4d93 5b24 0000 0003 +00 02 0 0 0 0 19 +-1 + +fd67 +db7a b40b 7b58 49fd 0000 0000 0000 0000 266f 9e7b 0000 0000 +00 00 0 0 0 0 1 +0000 fd 67 -1 +-1 +-1 +db7a b40b 7b58 49fd 0000 0000 0000 0000 266f db7b 0000 0002 +00 02 0 0 0 0 8 +-1 + +fd68 +4d1d 4fd9 783e 0745 0000 0000 0000 0000 0c3d 82b5 0000 0000 +00 00 0 0 0 0 1 +0000 fd 68 -1 +-1 +-1 +4d1d 4fd9 783e 0745 0000 0000 0000 0000 0c3d 824f 0000 0002 +00 02 0 0 0 0 8 +-1 + +fd69 +1589 5ceb b5db 922a 0000 0000 0000 0000 3c3a dc98 0000 0000 +00 00 0 0 0 0 1 +0000 fd 69 -1 +-1 +-1 +1589 5ceb b5db 922a 0000 0000 0000 0000 3c3a dceb 0000 0002 +00 02 0 0 0 0 8 +-1 + +fd6a +607a e035 5bb9 dac0 0000 0000 0000 0000 fc04 b5b7 0000 0000 +00 00 0 0 0 0 1 +0000 fd 6a -1 +-1 +-1 +607a e035 5bb9 dac0 0000 0000 0000 0000 fc04 b55b 0000 0002 +00 02 0 0 0 0 8 +-1 + +fd6b +db2a e244 1182 096f 0000 0000 0000 0000 198e 91a6 0000 0000 +00 00 0 0 0 0 1 +0000 fd 6b -1 +-1 +-1 +db2a e244 1182 096f 0000 0000 0000 0000 198e 9182 0000 0002 +00 02 0 0 0 0 8 +-1 + +fd6c +a0be 34ef 8fcd 40a7 0000 0000 0000 0000 4481 c215 0000 0000 +00 00 0 0 0 0 1 +0000 fd 6c -1 +-1 +-1 +a0be 34ef 8fcd 40a7 0000 0000 0000 0000 4481 c2c2 0000 0002 +00 02 0 0 0 0 8 +-1 + +fd6d +fdfc 727a b839 50a6 0000 0000 0000 0000 e782 02e5 0000 0000 +00 00 0 0 0 0 1 +0000 fd 6d -1 +-1 +-1 +fdfc 727a b839 50a6 0000 0000 0000 0000 e782 02e5 0000 0002 +00 02 0 0 0 0 8 +-1 + +fd6e +cfd4 6ef1 c07d eb96 0000 0000 0000 0000 b0f9 b0a3 0000 0000 +00 00 0 0 0 0 1 +0000 fd 6e 78 -1 +b11b f8 -1 +-1 +-1 +cfd4 6ef1 c07d ebf8 0000 0000 0000 0000 b0f9 b0a3 0000 0003 +00 02 0 0 0 0 19 +-1 + +fd6f +8e1d a138 f20a 298e 0000 0000 0000 0000 b600 0cf7 0000 0000 +00 00 0 0 0 0 1 +0000 fd 6f -1 +-1 +-1 +8e1d a138 f20a 298e 0000 0000 0000 0000 b600 0c8e 0000 0002 +00 02 0 0 0 0 8 +-1 + +fd70 +2677 33c5 c0dc 262f 0000 0000 0000 0000 d3dc 23a1 0000 0000 +00 00 0 0 0 0 1 +0000 fd 70 53 -1 +-1 +-1 +2677 33c5 c0dc 262f 0000 0000 0000 0000 d3dc 23a1 0000 0003 +00 02 0 0 0 0 19 +23f4 33 -1 +-1 + +fd71 +892e 04ae d67f 81ec 0000 0000 0000 0000 7757 bfab 0000 0000 +00 00 0 0 0 0 1 +0000 fd 71 b4 -1 +-1 +-1 +892e 04ae d67f 81ec 0000 0000 0000 0000 7757 bfab 0000 0003 +00 02 0 0 0 0 19 +bf5f ae -1 +-1 + +fd72 +d2dc c23c dd54 6559 0000 0000 0000 0000 b32b 7c80 0000 0000 +00 00 0 0 0 0 1 +0000 fd 72 e3 -1 +-1 +-1 +d2dc c23c dd54 6559 0000 0000 0000 0000 b32b 7c80 0000 0003 +00 02 0 0 0 0 19 +7c63 dd -1 +-1 + +fd73 +49ef bff2 8409 02dd 0000 0000 0000 0000 af95 8762 0000 0000 +00 00 0 0 0 0 1 +0000 fd 73 17 -1 +-1 +-1 +49ef bff2 8409 02dd 0000 0000 0000 0000 af95 8762 0000 0003 +00 02 0 0 0 0 19 +8779 09 -1 +-1 + +fd74 +9479 9817 fa2e 1fe0 0000 0000 0000 0000 a395 92db 0000 0000 +00 00 0 0 0 0 1 +0000 fd 74 f6 -1 +-1 +-1 +9479 9817 fa2e 1fe0 0000 0000 0000 0000 a395 92db 0000 0003 +00 02 0 0 0 0 19 +92d1 1f -1 +-1 + +fd75 +c8d6 6aa4 180e e37b 0000 0000 0000 0000 02cf 1724 0000 0000 +00 00 0 0 0 0 1 +0000 fd 75 ab -1 +-1 +-1 +c8d6 6aa4 180e e37b 0000 0000 0000 0000 02cf 1724 0000 0003 +00 02 0 0 0 0 19 +16cf 7b -1 +-1 + +fd77 +6f9e 7475 78ad 2b8c 0000 0000 0000 0000 c6b7 6b4d 0000 0000 +00 00 0 0 0 0 1 +0000 fd 77 f7 -1 +-1 +-1 +6f9e 7475 78ad 2b8c 0000 0000 0000 0000 c6b7 6b4d 0000 0003 +00 02 0 0 0 0 19 +6b44 6f -1 +-1 + +fd7c +f228 93fc a3d4 dc9e 0000 0000 0000 0000 21ac c617 0000 0000 +00 00 0 0 0 0 1 +0000 fd 7c -1 +-1 +-1 +c628 93fc a3d4 dc9e 0000 0000 0000 0000 21ac c617 0000 0002 +00 02 0 0 0 0 8 +-1 + +fd7d +93e5 3cbe 02c3 26c2 0000 0000 0000 0000 ca81 92b9 0000 0000 +00 00 0 0 0 0 1 +0000 fd 7d -1 +-1 +-1 +b9e5 3cbe 02c3 26c2 0000 0000 0000 0000 ca81 92b9 0000 0002 +00 02 0 0 0 0 8 +-1 + +fd7e +1596 daba 147b f362 0000 0000 0000 0000 7110 d45f 0000 0000 +00 00 0 0 0 0 1 +0000 fd 7e e4 -1 +d443 aa -1 +-1 +-1 +aa96 daba 147b f362 0000 0000 0000 0000 7110 d45f 0000 0003 +00 02 0 0 0 0 19 +-1 + +fd84 +bfba 7cae c4da 7aee 0000 0000 0000 0000 43ee c08e 0000 0000 +00 00 0 0 0 0 1 +0000 fd 84 -1 +-1 +-1 +7f2d 7cae c4da 7aee 0000 0000 0000 0000 43ee c08e 0000 0002 +00 02 0 0 0 0 8 +-1 + +fd85 +52dd 1dea 324f 84e7 0000 0000 0000 0000 e7a8 f799 0000 0000 +00 00 0 0 0 0 1 +0000 fd 85 -1 +-1 +-1 +eba8 1dea 324f 84e7 0000 0000 0000 0000 e7a8 f799 0000 0002 +00 02 0 0 0 0 8 +-1 + +fd86 +fc9c b882 43f9 3e15 0000 0000 0000 0000 9781 8b33 0000 0000 +00 00 0 0 0 0 1 +0000 fd 86 ce -1 +8b01 e1 -1 +-1 +-1 +dd89 b882 43f9 3e15 0000 0000 0000 0000 9781 8b33 0000 0003 +00 02 0 0 0 0 19 +-1 + +fd8c +fd9c 42b1 5e8a 081c 0000 0000 0000 0000 cb58 3b4e 0000 0000 +00 00 0 0 0 0 1 +0000 fd 8c -1 +-1 +-1 +3839 42b1 5e8a 081c 0000 0000 0000 0000 cb58 3b4e 0000 0002 +00 02 0 0 0 0 8 +-1 + +fd8d +9301 7750 8ad6 295c 0000 0000 0000 0000 695c 99fb 0000 0000 +00 00 0 0 0 0 1 +0000 fd 8d -1 +-1 +-1 +8f89 7750 8ad6 295c 0000 0000 0000 0000 695c 99fb 0000 0002 +00 02 0 0 0 0 8 +-1 + +fd8e +41ee 398f f6dc 06f3 0000 0000 0000 0000 f34a 1aa2 0000 0000 +00 00 0 0 0 0 1 +0000 fd 8e 78 -1 +1b1a c0 -1 +-1 +-1 +0101 398f f6dc 06f3 0000 0000 0000 0000 f34a 1aa2 0000 0003 +00 02 0 0 0 0 19 +-1 + +fd94 +0431 d255 b9d6 20bb 0000 0000 0000 0000 1e6a d5ef 0000 0000 +00 00 0 0 0 0 1 +0000 fd 94 -1 +-1 +-1 +2f3b d255 b9d6 20bb 0000 0000 0000 0000 1e6a d5ef 0000 0002 +00 02 0 0 0 0 8 +-1 + +fd95 +8b5d b455 2388 ec1e 0000 0000 0000 0000 7637 cb97 0000 0000 +00 00 0 0 0 0 1 +0000 fd 95 -1 +-1 +-1 +f4a3 b455 2388 ec1e 0000 0000 0000 0000 7637 cb97 0000 0002 +00 02 0 0 0 0 8 +-1 + +fd96 +a0c6 22ac 0413 4b13 0000 0000 0000 0000 b44e c08b 0000 0000 +00 00 0 0 0 0 1 +0000 fd 96 55 -1 +c0e0 7b -1 +-1 +-1 +2536 22ac 0413 4b13 0000 0000 0000 0000 b44e c08b 0000 0003 +00 02 0 0 0 0 19 +-1 + +fd9c +a44a 3ecf ced3 66ec 0000 0000 0000 0000 4bff b133 0000 0000 +00 00 0 0 0 0 1 +0000 fd 9c -1 +-1 +-1 +f3a3 3ecf ced3 66ec 0000 0000 0000 0000 4bff b133 0000 0002 +00 02 0 0 0 0 8 +-1 + +fd9d +06c0 8bd0 131b 3094 0000 0000 0000 0000 afc3 7409 0000 0000 +00 00 0 0 0 0 1 +0000 fd 9d -1 +-1 +-1 +fdbb 8bd0 131b 3094 0000 0000 0000 0000 afc3 7409 0000 0002 +00 02 0 0 0 0 8 +-1 + +fd9e +b983 981f bb8e d6d5 0000 0000 0000 0000 5c3b f66c 0000 0000 +00 00 0 0 0 0 1 +0000 fd 9e f9 -1 +f665 f3 -1 +-1 +-1 +c583 981f bb8e d6d5 0000 0000 0000 0000 5c3b f66c 0000 0003 +00 02 0 0 0 0 19 +-1 + +fda4 +b079 79c0 2c7c 3e06 0000 0000 0000 0000 7399 037a 0000 0000 +00 00 0 0 0 0 1 +0000 fd a4 -1 +-1 +-1 +0054 79c0 2c7c 3e06 0000 0000 0000 0000 7399 037a 0000 0002 +00 02 0 0 0 0 8 +-1 + +fda5 +01d2 654d 9653 2b33 0000 0000 0000 0000 61a4 8f88 0000 0000 +00 00 0 0 0 0 1 +0000 fd a5 -1 +-1 +-1 +0054 654d 9653 2b33 0000 0000 0000 0000 61a4 8f88 0000 0002 +00 02 0 0 0 0 8 +-1 + +fda6 +ddb8 40bb 3742 6ff1 0000 0000 0000 0000 ad28 659b 0000 0000 +00 00 0 0 0 0 1 +0000 fd a6 53 -1 +65ee 95 -1 +-1 +-1 +9594 40bb 3742 6ff1 0000 0000 0000 0000 ad28 659b 0000 0003 +00 02 0 0 0 0 19 +-1 + +fdac +7a43 72e3 dd4d 1b62 0000 0000 0000 0000 4753 5d63 0000 0000 +00 00 0 0 0 0 1 +0000 fd ac -1 +-1 +-1 +2724 72e3 dd4d 1b62 0000 0000 0000 0000 4753 5d63 0000 0002 +00 02 0 0 0 0 8 +-1 + +fdad +7d8e 2573 19cc 78fb 0000 0000 0000 0000 5248 8391 0000 0000 +00 00 0 0 0 0 1 +0000 fd ad -1 +-1 +-1 +eca8 2573 19cc 78fb 0000 0000 0000 0000 5248 8391 0000 0002 +00 02 0 0 0 0 8 +-1 + +fdae +a0da bc27 257b 5489 0000 0000 0000 0000 fa59 81f8 0000 0000 +00 00 0 0 0 0 1 +0000 fd ae 09 -1 +8201 cb -1 +-1 +-1 +6b28 bc27 257b 5489 0000 0000 0000 0000 fa59 81f8 0000 0003 +00 02 0 0 0 0 19 +-1 + +fdb4 +4f95 3461 f173 8ad3 0000 0000 0000 0000 c1a2 8265 0000 0000 +00 00 0 0 0 0 1 +0000 fd b4 -1 +-1 +-1 +cf8c 3461 f173 8ad3 0000 0000 0000 0000 c1a2 8265 0000 0002 +00 02 0 0 0 0 8 +-1 + +fdb5 +17f6 e6ea f919 327c 0000 0000 0000 0000 4299 9733 0000 0000 +00 00 0 0 0 0 1 +0000 fd b5 -1 +-1 +-1 +3720 e6ea f919 327c 0000 0000 0000 0000 4299 9733 0000 0002 +00 02 0 0 0 0 8 +-1 + +fdb6 +db37 3509 d6ca b16a 0000 0000 0000 0000 a099 df6d 0000 0000 +00 00 0 0 0 0 1 +0000 fd b6 4b -1 +dfb8 64 -1 +-1 +-1 +ffac 3509 d6ca b16a 0000 0000 0000 0000 a099 df6d 0000 0003 +00 02 0 0 0 0 19 +-1 + +fdbc +b4fc 9302 e35d 31bc 0000 0000 0000 0000 5c12 1c92 0000 0000 +00 00 0 0 0 0 1 +0000 fd bc -1 +-1 +-1 +b49a 9302 e35d 31bc 0000 0000 0000 0000 5c12 1c92 0000 0002 +00 02 0 0 0 0 8 +-1 + +fdbd +391c 7b82 dfeb 03ee 0000 0000 0000 0000 be7b b30f 0000 0000 +00 00 0 0 0 0 1 +0000 fd bd -1 +-1 +-1 +391a 7b82 dfeb 03ee 0000 0000 0000 0000 be7b b30f 0000 0002 +00 02 0 0 0 0 8 +-1 + +fdbe +0970 0b31 f4ad 9d4c 0000 0000 0000 0000 b95a a96b 0000 0000 +00 00 0 0 0 0 1 +0000 fd be 6b -1 +a9d6 c0 -1 +-1 +-1 +0903 0b31 f4ad 9d4c 0000 0000 0000 0000 b95a a96b 0000 0003 +00 02 0 0 0 0 19 +-1 + +fdcb00 +85ac 46d0 a135 20c5 0000 0000 0000 0000 b8de 2776 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 0b 00 -1 +2781 50 -1 +-1 +-1 +85a4 a0d0 a135 20c5 0000 0000 0000 0000 b8de 2776 0000 0004 +00 02 0 0 0 0 23 +2781 a0 -1 +-1 + +fdcb01 +577c 2b76 3576 280a 0000 0000 0000 0000 ae22 5c35 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb c8 01 -1 +5bfd cb -1 +-1 +-1 +5781 2b97 3576 280a 0000 0000 0000 0000 ae22 5c35 0000 0004 +00 02 0 0 0 0 23 +5bfd 97 -1 +-1 + +fdcb02 +dc23 2b37 83c8 5dd9 0000 0000 0000 0000 b2d2 3df2 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 14 02 -1 +3e06 58 -1 +-1 +-1 +dca0 2b37 b0c8 5dd9 0000 0000 0000 0000 b2d2 3df2 0000 0004 +00 02 0 0 0 0 23 +3e06 b0 -1 +-1 + +fdcb03 +57ee c179 b2b6 7058 0000 0000 0000 0000 3f2e 57e7 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 3a 03 -1 +5821 1a -1 +-1 +-1 +5720 c179 b234 7058 0000 0000 0000 0000 3f2e 57e7 0000 0004 +00 02 0 0 0 0 23 +5821 34 -1 +-1 + +fdcb04 +ed18 3f03 3327 f35a 0000 0000 0000 0000 cbf2 5071 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 67 04 -1 +50d8 92 -1 +-1 +-1 +ed21 3f03 3327 255a 0000 0000 0000 0000 cbf2 5071 0000 0004 +00 02 0 0 0 0 23 +50d8 25 -1 +-1 + +fdcb05 +7a39 0858 db6c dbe0 0000 0000 0000 0000 157a b25b 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 1e 05 -1 +b279 66 -1 +-1 +-1 +7a8c 0858 db6c dbcc 0000 0000 0000 0000 157a b25b 0000 0004 +00 02 0 0 0 0 23 +b279 cc -1 +-1 + +fdcb06 +f285 89a2 e78f ef74 0000 0000 0000 0000 140d ff27 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 72 06 -1 +ff99 f1 -1 +-1 +-1 +f2a1 89a2 e78f ef74 0000 0000 0000 0000 140d ff27 0000 0004 +00 02 0 0 0 0 23 +ff99 e3 -1 +-1 + +fdcb07 +8cce f3a7 3a6e 8f0a 0000 0000 0000 0000 8423 07eb 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 24 07 -1 +080f ae -1 +-1 +-1 +5d09 f3a7 3a6e 8f0a 0000 0000 0000 0000 8423 07eb 0000 0004 +00 02 0 0 0 0 23 +080f 5d -1 +-1 + +fdcb08 +a611 e8ec c958 7bda 0000 0000 0000 0000 194d 6137 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 25 08 -1 +615c 83 -1 +-1 +-1 +a681 c1ec c958 7bda 0000 0000 0000 0000 194d 6137 0000 0004 +00 02 0 0 0 0 23 +615c c1 -1 +-1 + +fdcb09 +54b1 fa1a 84e8 4fa5 0000 0000 0000 0000 1ad3 19da 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb a0 09 -1 +197a 27 -1 +-1 +-1 +5485 fa93 84e8 4fa5 0000 0000 0000 0000 1ad3 19da 0000 0004 +00 02 0 0 0 0 23 +197a 93 -1 +-1 + +fdcb0a +b3ef a2bb e5d6 9617 0000 0000 0000 0000 f946 eef6 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb e1 0a -1 +eed7 19 -1 +-1 +-1 +b389 a2bb 8cd6 9617 0000 0000 0000 0000 f946 eef6 0000 0004 +00 02 0 0 0 0 23 +eed7 8c -1 +-1 + +fdcb0b +ae10 8c4e e159 1c54 0000 0000 0000 0000 e108 c68f 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 0c 0b -1 +c69b f2 -1 +-1 +-1 +ae28 8c4e e179 1c54 0000 0000 0000 0000 e108 c68f 0000 0004 +00 02 0 0 0 0 23 +c69b 79 -1 +-1 + +fdcb0c +8719 6b16 4c3b 180a 0000 0000 0000 0000 175a 8c9d 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb d7 0c -1 +8c74 ae -1 +-1 +-1 +8700 6b16 4c3b 570a 0000 0000 0000 0000 175a 8c9d 0000 0004 +00 02 0 0 0 0 23 +8c74 57 -1 +-1 + +fdcb0d +1204 e0cb 3ab1 2416 0000 0000 0000 0000 1de4 fe2d 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 11 0d -1 +fe3e 1b -1 +-1 +-1 +128d e0cb 3ab1 248d 0000 0000 0000 0000 1de4 fe2d 0000 0004 +00 02 0 0 0 0 23 +fe3e 8d -1 +-1 + +fdcb0e +8da4 8f91 fc5a 5e2c 0000 0000 0000 0000 b2f2 f223 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 0c 0e -1 +f22f f7 -1 +-1 +-1 +8da9 8f91 fc5a 5e2c 0000 0000 0000 0000 b2f2 f223 0000 0004 +00 02 0 0 0 0 23 +f22f fb -1 +-1 + +fdcb0f +fbb0 2ac9 ec6b 6511 0000 0000 0000 0000 c93a ce38 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 15 0f -1 +ce4d 44 -1 +-1 +-1 +2224 2ac9 ec6b 6511 0000 0000 0000 0000 c93a ce38 0000 0004 +00 02 0 0 0 0 23 +ce4d 22 -1 +-1 + +fdcb10 +259d 3852 590d ac66 0000 0000 0000 0000 144f 42a2 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 7a 10 -1 +431c 1c -1 +-1 +-1 +252c 3952 590d ac66 0000 0000 0000 0000 144f 42a2 0000 0004 +00 02 0 0 0 0 23 +431c 39 -1 +-1 + +fdcb11 +bc60 61c1 f5f8 af24 0000 0000 0000 0000 4019 9c90 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 7b 11 -1 +9d0b 5e -1 +-1 +-1 +bca8 61bc f5f8 af24 0000 0000 0000 0000 4019 9c90 0000 0004 +00 02 0 0 0 0 23 +9d0b bc -1 +-1 + +fdcb12 +4e45 3a25 3417 bcc7 0000 0000 0000 0000 0d7e 8537 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 61 12 -1 +8598 a7 -1 +-1 +-1 +4e09 3a25 4f17 bcc7 0000 0000 0000 0000 0d7e 8537 0000 0004 +00 02 0 0 0 0 23 +8598 4f -1 +-1 + +fdcb13 +b224 b79b 84f1 ff7d 0000 0000 0000 0000 414c e798 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb b3 13 -1 +e74b b3 -1 +-1 +-1 +b225 b79b 8466 ff7d 0000 0000 0000 0000 414c e798 0000 0004 +00 02 0 0 0 0 23 +e74b 66 -1 +-1 + +fdcb14 +abbb 451a fc65 14a1 0000 0000 0000 0000 0f4d d93c 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb c4 14 -1 +d900 06 -1 +-1 +-1 +ab08 451a fc65 0da1 0000 0000 0000 0000 0f4d d93c 0000 0004 +00 02 0 0 0 0 23 +d900 0d -1 +-1 + +fdcb15 +2864 9532 8631 751c 0000 0000 0000 0000 e327 2d7b 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 17 15 -1 +2d92 12 -1 +-1 +-1 +2824 9532 8631 7524 0000 0000 0000 0000 e327 2d7b 0000 0004 +00 02 0 0 0 0 23 +2d92 24 -1 +-1 + +fdcb16 +0c3c dcd7 adcc 196d 0000 0000 0000 0000 87e2 f0b4 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 23 16 -1 +f0d7 89 -1 +-1 +-1 +0c05 dcd7 adcc 196d 0000 0000 0000 0000 87e2 f0b4 0000 0004 +00 02 0 0 0 0 23 +f0d7 12 -1 +-1 + +fdcb17 +af5b d016 066e 6638 0000 0000 0000 0000 5e92 2013 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 8a 17 -1 +1f9d b8 -1 +-1 +-1 +7125 d016 066e 6638 0000 0000 0000 0000 5e92 2013 0000 0004 +00 02 0 0 0 0 23 +1f9d 71 -1 +-1 + +fdcb18 +23f3 4517 16e0 6894 0000 0000 0000 0000 b908 3216 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb c0 18 -1 +31d6 fa -1 +-1 +-1 +23a8 fd17 16e0 6894 0000 0000 0000 0000 b908 3216 0000 0004 +00 02 0 0 0 0 23 +31d6 fd -1 +-1 + +fdcb19 +11ed c2b8 a9f3 2014 0000 0000 0000 0000 6db0 4d2e 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb a2 19 -1 +4cd0 4b -1 +-1 +-1 +11a5 c2a5 a9f3 2014 0000 0000 0000 0000 6db0 4d2e 0000 0004 +00 02 0 0 0 0 23 +4cd0 a5 -1 +-1 + +fdcb1a +bc5c 6168 e541 b630 0000 0000 0000 0000 0207 40d3 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 78 1a -1 +414b 44 -1 +-1 +-1 +bc24 6168 2241 b630 0000 0000 0000 0000 0207 40d3 0000 0004 +00 02 0 0 0 0 23 +414b 22 -1 +-1 + +fdcb1b +7a28 1286 fe50 c42d 0000 0000 0000 0000 e290 71b0 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 16 1b -1 +71c6 b8 -1 +-1 +-1 +7a0c 1286 fe5c c42d 0000 0000 0000 0000 e290 71b0 0000 0004 +00 02 0 0 0 0 23 +71c6 5c -1 +-1 + +fdcb1c +932b 097b 6928 83a3 0000 0000 0000 0000 ff2d df62 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 86 1c -1 +dee8 8f -1 +-1 +-1 +9381 097b 6928 c7a3 0000 0000 0000 0000 ff2d df62 0000 0004 +00 02 0 0 0 0 23 +dee8 c7 -1 +-1 + +fdcb1d +97b1 2b30 2645 04ef 0000 0000 0000 0000 186a d667 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 27 1d -1 +d68e b7 -1 +-1 +-1 +978d 2b30 2645 04db 0000 0000 0000 0000 186a d667 0000 0004 +00 02 0 0 0 0 23 +d68e db -1 +-1 + +fdcb1e +2f39 2470 b521 6ca3 0000 0000 0000 0000 1066 da38 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 3a 1e -1 +da72 25 -1 +-1 +-1 +2f81 2470 b521 6ca3 0000 0000 0000 0000 1066 da38 0000 0004 +00 02 0 0 0 0 23 +da72 92 -1 +-1 + +fdcb1f +4cdd 49a3 da18 3afd 0000 0000 0000 0000 a4f1 2095 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 7b 1f -1 +2110 04 -1 +-1 +-1 +8284 49a3 da18 3afd 0000 0000 0000 0000 a4f1 2095 0000 0004 +00 02 0 0 0 0 23 +2110 82 -1 +-1 + +fdcb20 +3d74 3a8f 206f 8894 0000 0000 0000 0000 ddab da25 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 7a 20 -1 +da9f 89 -1 +-1 +-1 +3d05 128f 206f 8894 0000 0000 0000 0000 ddab da25 0000 0004 +00 02 0 0 0 0 23 +da9f 12 -1 +-1 + +fdcb21 +1674 6025 641a 6598 0000 0000 0000 0000 473b de36 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 7b 21 -1 +deb1 23 -1 +-1 +-1 +1600 6046 641a 6598 0000 0000 0000 0000 473b de36 0000 0004 +00 02 0 0 0 0 23 +deb1 46 -1 +-1 + +fdcb22 +ada9 efb2 6f03 e732 0000 0000 0000 0000 c11d 8926 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 9a 22 -1 +88c0 d4 -1 +-1 +-1 +ada9 efb2 a803 e732 0000 0000 0000 0000 c11d 8926 0000 0004 +00 02 0 0 0 0 23 +88c0 a8 -1 +-1 + +fdcb23 +21e9 d678 a71b 25d7 0000 0000 0000 0000 4ca8 5255 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb f5 23 -1 +524a 65 -1 +-1 +-1 +218c d678 a7ca 25d7 0000 0000 0000 0000 4ca8 5255 0000 0004 +00 02 0 0 0 0 23 +524a ca -1 +-1 + +fdcb24 +1c51 da3e cc7c cb19 0000 0000 0000 0000 572c affe 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb b4 24 -1 +afb2 7e -1 +-1 +-1 +1cac da3e cc7c fc19 0000 0000 0000 0000 572c affe 0000 0004 +00 02 0 0 0 0 23 +afb2 fc -1 +-1 + +fdcb25 +954e 097c a341 89e0 0000 0000 0000 0000 435d 23e9 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb a6 25 -1 +238f 26 -1 +-1 +-1 +9508 097c a341 894c 0000 0000 0000 0000 435d 23e9 0000 0004 +00 02 0 0 0 0 23 +238f 4c -1 +-1 + +fdcb26 +5844 0e19 d277 bf7f 0000 0000 0000 0000 6504 d4e4 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb bd 26 -1 +d4a1 bf -1 +-1 +-1 +582d 0e19 d277 bf7f 0000 0000 0000 0000 6504 d4e4 0000 0004 +00 02 0 0 0 0 23 +d4a1 7e -1 +-1 + +fdcb27 +8e0d 8c06 2c4c d7c8 0000 0000 0000 0000 9239 8d42 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 59 27 -1 +8d9b a7 -1 +-1 +-1 +4e0d 8c06 2c4c d7c8 0000 0000 0000 0000 9239 8d42 0000 0004 +00 02 0 0 0 0 23 +8d9b 4e -1 +-1 + +fdcb28 +4122 af9b 7745 76f5 0000 0000 0000 0000 a1bb ab43 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 83 28 -1 +aac6 5d -1 +-1 +-1 +412d 2e9b 7745 76f5 0000 0000 0000 0000 a1bb ab43 0000 0004 +00 02 0 0 0 0 23 +aac6 2e -1 +-1 + +fdcb29 +0b21 affd fea6 9478 0000 0000 0000 0000 32bb 0343 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 7d 29 -1 +03c0 84 -1 +-1 +-1 +0b80 afc2 fea6 9478 0000 0000 0000 0000 32bb 0343 0000 0004 +00 02 0 0 0 0 23 +03c0 c2 -1 +-1 + +fdcb2a +f236 8c31 5932 7feb 0000 0000 0000 0000 7db7 abe7 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb f9 2a -1 +abe0 dd -1 +-1 +-1 +f2ad 8c31 ee32 7feb 0000 0000 0000 0000 7db7 abe7 0000 0004 +00 02 0 0 0 0 23 +abe0 ee -1 +-1 + +fdcb2b +2450 6945 dcfc d643 0000 0000 0000 0000 5be1 4a94 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 4b 2b -1 +4adf 49 -1 +-1 +-1 +2425 6945 dc24 d643 0000 0000 0000 0000 5be1 4a94 0000 0004 +00 02 0 0 0 0 23 +4adf 24 -1 +-1 + +fdcb2c +117f b32b e530 255a 0000 0000 0000 0000 2416 ccd1 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb e6 2c -1 +ccb7 3c -1 +-1 +-1 +110c b32b e530 1e5a 0000 0000 0000 0000 2416 ccd1 0000 0004 +00 02 0 0 0 0 23 +ccb7 1e -1 +-1 + +fdcb2d +d0c3 344b 1bb0 3eab 0000 0000 0000 0000 fe11 e4e6 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 5f 2d -1 +e545 78 -1 +-1 +-1 +d02c 344b 1bb0 3e3c 0000 0000 0000 0000 fe11 e4e6 0000 0004 +00 02 0 0 0 0 23 +e545 3c -1 +-1 + +fdcb2e +f4ee b832 4b7f e2b7 0000 0000 0000 0000 9386 42fd 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 06 2e -1 +4303 ad -1 +-1 +-1 +f481 b832 4b7f e2b7 0000 0000 0000 0000 9386 42fd 0000 0004 +00 02 0 0 0 0 23 +4303 d6 -1 +-1 + +fdcb2f +ff86 f2c2 9f2f c946 0000 0000 0000 0000 5fe0 16b8 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 29 2f -1 +16e1 18 -1 +-1 +-1 +0c0c f2c2 9f2f c946 0000 0000 0000 0000 5fe0 16b8 0000 0004 +00 02 0 0 0 0 23 +16e1 0c -1 +-1 + +fdcb30 +acf6 e832 f9ed cabc 0000 0000 0000 0000 fabd d646 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 1b 30 -1 +d661 a5 -1 +-1 +-1 +ac0d 4b32 f9ed cabc 0000 0000 0000 0000 fabd d646 0000 0004 +00 02 0 0 0 0 23 +d661 4b -1 +-1 + +fdcb31 +2b96 5134 83a7 7eee 0000 0000 0000 0000 7750 bfe0 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb f0 31 -1 +bfd0 f1 -1 +-1 +-1 +2ba1 51e3 83a7 7eee 0000 0000 0000 0000 7750 bfe0 0000 0004 +00 02 0 0 0 0 23 +bfd0 e3 -1 +-1 + +fdcb32 +b2bc a4b1 b685 f66e 0000 0000 0000 0000 a9a1 5ade 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb c5 32 -1 +5aa3 59 -1 +-1 +-1 +b2a0 a4b1 b385 f66e 0000 0000 0000 0000 a9a1 5ade 0000 0004 +00 02 0 0 0 0 23 +5aa3 b3 -1 +-1 + +fdcb33 +9c6d 2c90 d0a9 2be3 0000 0000 0000 0000 2691 1964 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 7f 33 -1 +19e3 da -1 +-1 +-1 +9ca1 2c90 d0b5 2be3 0000 0000 0000 0000 2691 1964 0000 0004 +00 02 0 0 0 0 23 +19e3 b5 -1 +-1 + +fdcb34 +6029 fbcd 5348 f947 0000 0000 0000 0000 5338 5696 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb d2 34 -1 +5668 d4 -1 +-1 +-1 +60ad fbcd 5348 a947 0000 0000 0000 0000 5338 5696 0000 0004 +00 02 0 0 0 0 23 +5668 a9 -1 +-1 + +fdcb35 +96a9 21c6 4cb6 b40b 0000 0000 0000 0000 673a 00f8 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 71 35 -1 +0169 0b -1 +-1 +-1 +9604 21c6 4cb6 b417 0000 0000 0000 0000 673a 00f8 0000 0004 +00 02 0 0 0 0 23 +0169 17 -1 +-1 + +fdcb36 +dc6f 0892 3cc7 1494 0000 0000 0000 0000 8598 1ade 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb da 36 -1 +1ab8 3c -1 +-1 +-1 +dc28 0892 3cc7 1494 0000 0000 0000 0000 8598 1ade 0000 0004 +00 02 0 0 0 0 23 +1ab8 79 -1 +-1 + +fdcb37 +d2b3 4524 208f 076f 0000 0000 0000 0000 ad10 e7ec 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb cb 37 -1 +e7b7 9f -1 +-1 +-1 +3f2d 4524 208f 076f 0000 0000 0000 0000 ad10 e7ec 0000 0004 +00 02 0 0 0 0 23 +e7b7 3f -1 +-1 + +fdcb38 +4f07 0050 40c6 4fb7 0000 0000 0000 0000 f37e d096 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 8e 38 -1 +d024 0d -1 +-1 +-1 +4f05 0650 40c6 4fb7 0000 0000 0000 0000 f37e d096 0000 0004 +00 02 0 0 0 0 23 +d024 06 -1 +-1 + +fdcb39 +bcc2 f5b5 8dee e514 0000 0000 0000 0000 48bc f433 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 7f 39 -1 +f4b2 f5 -1 +-1 +-1 +bc29 f57a 8dee e514 0000 0000 0000 0000 48bc f433 0000 0004 +00 02 0 0 0 0 23 +f4b2 7a -1 +-1 + +fdcb3a +d012 2ef5 2910 9ca5 0000 0000 0000 0000 b155 cb03 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 1d 3a -1 +cb20 a8 -1 +-1 +-1 +d000 2ef5 5410 9ca5 0000 0000 0000 0000 b155 cb03 0000 0004 +00 02 0 0 0 0 23 +cb20 54 -1 +-1 + +fdcb3b +503d a85b cfbb de8c 0000 0000 0000 0000 9c5b d263 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 05 3b -1 +d268 b2 -1 +-1 +-1 +500c a85b cf59 de8c 0000 0000 0000 0000 9c5b d263 0000 0004 +00 02 0 0 0 0 23 +d268 59 -1 +-1 + +fdcb3c +97f0 4456 0b52 fdad 0000 0000 0000 0000 6d2a a80f 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb ae 3c -1 +a7bd 96 -1 +-1 +-1 +970c 4456 0b52 4bad 0000 0000 0000 0000 6d2a a80f 0000 0004 +00 02 0 0 0 0 23 +a7bd 4b -1 +-1 + +fdcb3d +7d44 9303 e12b bff6 0000 0000 0000 0000 4c0f e52a 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 13 3d -1 +e53d fb -1 +-1 +-1 +7d2d 9303 e12b bf7d 0000 0000 0000 0000 4c0f e52a 0000 0004 +00 02 0 0 0 0 23 +e53d 7d -1 +-1 + +fdcb3e +0d95 3e02 8f74 0f82 0000 0000 0000 0000 85df b2d1 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 2e 3e -1 +b2ff 50 -1 +-1 +-1 +0d2c 3e02 8f74 0f82 0000 0000 0000 0000 85df b2d1 0000 0004 +00 02 0 0 0 0 23 +b2ff 28 -1 +-1 + +fdcb3f +89e3 12f6 426c 52d4 0000 0000 0000 0000 d9f7 c1ac 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 21 3f -1 +c1cd 78 -1 +-1 +-1 +3c2c 12f6 426c 52d4 0000 0000 0000 0000 d9f7 c1ac 0000 0004 +00 02 0 0 0 0 23 +c1cd 3c -1 +-1 + +fdcb40 +5408 2c34 6784 b376 0000 0000 0000 0000 8ff9 4195 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 3b 40 -1 +41d0 0d -1 +-1 +-1 +5410 2c34 6784 b376 0000 0000 0000 0000 8ff9 4195 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb41 +8c35 5a58 b71c 6777 0000 0000 0000 0000 deca 03cb 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb cc 41 -1 +0397 e9 -1 +-1 +-1 +8c11 5a58 b71c 6777 0000 0000 0000 0000 deca 03cb 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb42 +5535 9c29 2feb 97ff 0000 0000 0000 0000 7f17 9f56 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 01 42 -1 +9f57 a8 -1 +-1 +-1 +555d 9c29 2feb 97ff 0000 0000 0000 0000 7f17 9f56 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb43 +b404 e58c e62e 2a32 0000 0000 0000 0000 7130 1fd1 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 08 43 -1 +1fd9 aa -1 +-1 +-1 +b45c e58c e62e 2a32 0000 0000 0000 0000 7130 1fd1 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb44 +a954 68f4 9fa4 7f66 0000 0000 0000 0000 0209 f4f3 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 03 44 -1 +f4f6 89 -1 +-1 +-1 +a930 68f4 9fa4 7f66 0000 0000 0000 0000 0209 f4f3 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb45 +73e5 8dde 5e4f 84a7 0000 0000 0000 0000 4e24 93ed 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 8d 45 -1 +937a 8d -1 +-1 +-1 +7311 8dde 5e4f 84a7 0000 0000 0000 0000 4e24 93ed 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb46 +0e5a b1f9 475f ebfc 0000 0000 0000 0000 7765 63b1 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 8c 46 -1 +633d fe -1 +-1 +-1 +0e74 b1f9 475f ebfc 0000 0000 0000 0000 7765 63b1 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb47 +9b3d 7f38 0753 d5e7 0000 0000 0000 0000 b9c3 6e0e 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 96 47 -1 +6da4 d6 -1 +-1 +-1 +9b7d 7f38 0753 d5e7 0000 0000 0000 0000 b9c3 6e0e 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb48 +7d94 50a9 2511 8f9f 0000 0000 0000 0000 b612 aba9 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 44 48 -1 +abed b0 -1 +-1 +-1 +7d7c 50a9 2511 8f9f 0000 0000 0000 0000 b612 aba9 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb49 +691e 3a39 b834 74b6 0000 0000 0000 0000 0eb7 3e21 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 4e 49 -1 +3e6f a9 -1 +-1 +-1 +697c 3a39 b834 74b6 0000 0000 0000 0000 0eb7 3e21 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb4a +31e3 68e0 fe2f a2c4 0000 0000 0000 0000 ac96 e7db 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 52 4a -1 +e82d da -1 +-1 +-1 +3139 68e0 fe2f a2c4 0000 0000 0000 0000 ac96 e7db 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb4b +09a1 2453 9186 a32a 0000 0000 0000 0000 71af 883f 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb ea 4b -1 +8829 4e -1 +-1 +-1 +0919 2453 9186 a32a 0000 0000 0000 0000 71af 883f 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb4c +4a52 1e5b be2e 3ee4 0000 0000 0000 0000 af79 7f22 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb ee 4c -1 +7f10 70 -1 +-1 +-1 +4a7c 1e5b be2e 3ee4 0000 0000 0000 0000 af79 7f22 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb4d +9f87 6c8f 34f4 5a79 0000 0000 0000 0000 d3cc a770 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 29 4d -1 +a799 78 -1 +-1 +-1 +9f75 6c8f 34f4 5a79 0000 0000 0000 0000 d3cc a770 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb4e +30cb 5626 52bc 5503 0000 0000 0000 0000 303b e1c8 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 20 4e -1 +e1e8 aa -1 +-1 +-1 +3031 5626 52bc 5503 0000 0000 0000 0000 303b e1c8 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb4f +6088 e079 7152 671f 0000 0000 0000 0000 8c22 1cf8 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 9d 4f -1 +1c95 18 -1 +-1 +-1 +605c e079 7152 671f 0000 0000 0000 0000 8c22 1cf8 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb50 +8cde 1409 6d69 e5b2 0000 0000 0000 0000 4a0c c75f 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 6b 50 -1 +c7ca fe -1 +-1 +-1 +8c10 1409 6d69 e5b2 0000 0000 0000 0000 4a0c c75f 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb51 +8f59 40cb 9543 9b3a 0000 0000 0000 0000 1942 3495 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 86 51 -1 +341b 13 -1 +-1 +-1 +8f75 40cb 9543 9b3a 0000 0000 0000 0000 1942 3495 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb52 +8905 3e41 7ab4 37f6 0000 0000 0000 0000 f82d 8b0d 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb e6 52 -1 +8af3 87 -1 +-1 +-1 +8919 3e41 7ab4 37f6 0000 0000 0000 0000 f82d 8b0d 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb53 +efde e345 09a3 f0b2 0000 0000 0000 0000 c378 7ee1 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb d1 53 -1 +7eb2 e4 -1 +-1 +-1 +ef38 e345 09a3 f0b2 0000 0000 0000 0000 c378 7ee1 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb54 +72a6 cb82 d966 2fc6 0000 0000 0000 0000 3c00 5b6b 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 08 54 -1 +5b73 07 -1 +-1 +-1 +7218 cb82 d966 2fc6 0000 0000 0000 0000 3c00 5b6b 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb55 +855c c23b 6aab 9b00 0000 0000 0000 0000 fe93 b4b2 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 54 55 -1 +b506 46 -1 +-1 +-1 +8530 c23b 6aab 9b00 0000 0000 0000 0000 fe93 b4b2 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb56 +f5ad f9f6 1e8c 9e08 0000 0000 0000 0000 716a 6932 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 6f 56 -1 +69a1 df -1 +-1 +-1 +f539 f9f6 1e8c 9e08 0000 0000 0000 0000 716a 6932 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb57 +37d7 b7dc be1c 38ea 0000 0000 0000 0000 5e82 a3bb 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 3c 57 -1 +a3f7 6c -1 +-1 +-1 +3731 b7dc be1c 38ea 0000 0000 0000 0000 5e82 a3bb 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb58 +752c 7296 3ea5 1143 0000 0000 0000 0000 d7cc 1e94 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 4e 58 -1 +1ee2 f6 -1 +-1 +-1 +755c 7296 3ea5 1143 0000 0000 0000 0000 d7cc 1e94 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb59 +8056 bf2a 1809 ed31 0000 0000 0000 0000 fe2b fad3 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 2e 59 -1 +fb01 6f -1 +-1 +-1 +8038 bf2a 1809 ed31 0000 0000 0000 0000 fe2b fad3 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb5a +cc74 a108 65d4 6f66 0000 0000 0000 0000 0008 7bb8 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 88 5a -1 +7b40 6e -1 +-1 +-1 +cc38 a108 65d4 6f66 0000 0000 0000 0000 0008 7bb8 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb5b +5cf1 b3bd 25bd 98cf 0000 0000 0000 0000 2ba1 315c 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb e7 5b -1 +3143 b1 -1 +-1 +-1 +5c75 b3bd 25bd 98cf 0000 0000 0000 0000 2ba1 315c 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb5c +b3e0 d43d d9c0 b04d 0000 0000 0000 0000 21a9 543e 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 74 5c -1 +54b2 e3 -1 +-1 +-1 +b354 d43d d9c0 b04d 0000 0000 0000 0000 21a9 543e 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb5d +9f49 43dd ccb3 085a 0000 0000 0000 0000 f130 3b84 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb dc 5d -1 +3b60 ef -1 +-1 +-1 +9f39 43dd ccb3 085a 0000 0000 0000 0000 f130 3b84 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb5e +6f89 eff5 993b 22b5 0000 0000 0000 0000 0f30 e165 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb e2 5e -1 +e147 17 -1 +-1 +-1 +6f75 eff5 993b 22b5 0000 0000 0000 0000 0f30 e165 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb5f +d72a a57a aca6 667e 0000 0000 0000 0000 5c33 f81b 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb ab 5f -1 +f7c6 e2 -1 +-1 +-1 +d774 a57a aca6 667e 0000 0000 0000 0000 5c33 f81b 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb60 +15e9 8d30 43f4 c65e 0000 0000 0000 0000 1e34 8c44 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 85 60 -1 +8bc9 b9 -1 +-1 +-1 +1519 8d30 43f4 c65e 0000 0000 0000 0000 1e34 8c44 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb61 +7bd1 d421 5570 cb85 0000 0000 0000 0000 32ec 92e4 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb be 61 -1 +92a2 28 -1 +-1 +-1 +7b55 d421 5570 cb85 0000 0000 0000 0000 32ec 92e4 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb62 +ba2f 4fbb 67a7 c5db 0000 0000 0000 0000 470b 7eb1 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 9d 62 -1 +7e4e 1a -1 +-1 +-1 +ba39 4fbb 67a7 c5db 0000 0000 0000 0000 470b 7eb1 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb63 +c0a1 2cc2 ce12 e77c 0000 0000 0000 0000 71c5 1713 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb f4 63 -1 +1707 3b -1 +-1 +-1 +c011 2cc2 ce12 e77c 0000 0000 0000 0000 71c5 1713 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb64 +0c1f 7847 2494 71eb 0000 0000 0000 0000 315c b336 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 35 64 -1 +b36b 8c -1 +-1 +-1 +0c75 7847 2494 71eb 0000 0000 0000 0000 315c b336 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb65 +5245 a82d 1112 8f09 0000 0000 0000 0000 672a 89f4 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 37 65 -1 +8a2b 08 -1 +-1 +-1 +525d a82d 1112 8f09 0000 0000 0000 0000 672a 89f4 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb66 +583f c13e b136 6bc5 0000 0000 0000 0000 3ef9 6948 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 9d 66 -1 +68e5 90 -1 +-1 +-1 +5839 c13e b136 6bc5 0000 0000 0000 0000 3ef9 6948 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb67 +31b6 0f7d 48b5 cc5f 0000 0000 0000 0000 2103 6572 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb cb 67 -1 +653d 15 -1 +-1 +-1 +3130 0f7d 48b5 cc5f 0000 0000 0000 0000 2103 6572 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb68 +e330 39fb a03a 59bc 0000 0000 0000 0000 e04a 03be 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb ca 68 -1 +0388 83 -1 +-1 +-1 +e354 39fb a03a 59bc 0000 0000 0000 0000 e04a 03be 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb69 +1896 5bc2 d4d9 4e8a 0000 0000 0000 0000 3716 a603 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb e2 69 -1 +a5e5 01 -1 +-1 +-1 +1874 5bc2 d4d9 4e8a 0000 0000 0000 0000 3716 a603 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb6a +5bc9 0099 34f8 3e96 0000 0000 0000 0000 f251 93be 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb ae 6a -1 +936c 33 -1 +-1 +-1 +5b11 0099 34f8 3e96 0000 0000 0000 0000 f251 93be 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb6b +bbe5 9e6c abd1 515f 0000 0000 0000 0000 73db aa2f 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 1f 6b -1 +aa4e 7c -1 +-1 +-1 +bb39 9e6c abd1 515f 0000 0000 0000 0000 73db aa2f 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb6c +144b 3af2 8f80 7be5 0000 0000 0000 0000 c379 86ba 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 0d 6c -1 +86c7 25 -1 +-1 +-1 +1411 3af2 8f80 7be5 0000 0000 0000 0000 c379 86ba 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb6d +6392 d077 668d 6e4a 0000 0000 0000 0000 b0a8 62c8 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb f0 6d -1 +62b8 e3 -1 +-1 +-1 +6330 d077 668d 6e4a 0000 0000 0000 0000 b0a8 62c8 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb6e +2da0 f872 692d 92c4 0000 0000 0000 0000 36b5 4210 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 93 6e -1 +41a3 1e -1 +-1 +-1 +2d54 f872 692d 92c4 0000 0000 0000 0000 36b5 4210 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb6f +df7b c7aa 9002 86b8 0000 0000 0000 0000 1347 004e 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 20 6f -1 +006e 37 -1 +-1 +-1 +df11 c7aa 9002 86b8 0000 0000 0000 0000 1347 004e 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb70 +6ea9 018d 5075 cf4e 0000 0000 0000 0000 cd2b 3e68 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb d9 70 -1 +3e41 c9 -1 +-1 +-1 +6e39 018d 5075 cf4e 0000 0000 0000 0000 cd2b 3e68 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb71 +1b48 e3af 94d5 0996 0000 0000 0000 0000 cad5 999a 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 27 71 -1 +99c1 3e -1 +-1 +-1 +1b5c e3af 94d5 0996 0000 0000 0000 0000 cad5 999a 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb72 +e83b 26b1 8608 f3cb 0000 0000 0000 0000 6323 fd31 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 98 72 -1 +fcc9 4f -1 +-1 +-1 +e839 26b1 8608 f3cb 0000 0000 0000 0000 6323 fd31 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb73 +101b 446c c2f9 b9b1 0000 0000 0000 0000 0820 f5d8 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 7a 73 -1 +f652 31 -1 +-1 +-1 +1075 446c c2f9 b9b1 0000 0000 0000 0000 0820 f5d8 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb74 +6847 38c2 0ea4 0825 0000 0000 0000 0000 d255 5e4a 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 4b 74 -1 +5e95 fe -1 +-1 +-1 +6819 38c2 0ea4 0825 0000 0000 0000 0000 d255 5e4a 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb75 +56f2 c034 6e11 d35e 0000 0000 0000 0000 e702 60be 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 57 75 -1 +6115 21 -1 +-1 +-1 +5674 c034 6e11 d35e 0000 0000 0000 0000 e702 60be 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb76 +7375 caff dd80 c8ed 0000 0000 0000 0000 7e39 6623 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 53 76 -1 +6676 3a -1 +-1 +-1 +7375 caff dd80 c8ed 0000 0000 0000 0000 7e39 6623 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb77 +ab10 983e 0bdc 3b46 0000 0000 0000 0000 ae51 8841 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 02 77 -1 +8843 d8 -1 +-1 +-1 +ab18 983e 0bdc 3b46 0000 0000 0000 0000 ae51 8841 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb78 +2765 ce2f 4824 6930 0000 0000 0000 0000 ae69 fecb 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 7d 78 -1 +ff48 ec -1 +-1 +-1 +27b9 ce2f 4824 6930 0000 0000 0000 0000 ae69 fecb 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb79 +b428 6355 7896 8a7c 0000 0000 0000 0000 9090 1cae 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 23 79 -1 +1cd1 87 -1 +-1 +-1 +b498 6355 7896 8a7c 0000 0000 0000 0000 9090 1cae 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb7a +59f4 ca21 1482 3fae 0000 0000 0000 0000 c6c9 d923 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 42 7a -1 +d965 b3 -1 +-1 +-1 +5998 ca21 1482 3fae 0000 0000 0000 0000 c6c9 d923 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb7b +6314 0240 5efa 5e7b 0000 0000 0000 0000 3e50 0a83 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 17 7b -1 +0a9a bd -1 +-1 +-1 +6398 0240 5efa 5e7b 0000 0000 0000 0000 3e50 0a83 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb7c +22a6 aff4 b89b 4dca 0000 0000 0000 0000 0ac2 d371 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb f1 7c -1 +d362 1b -1 +-1 +-1 +2254 aff4 b89b 4dca 0000 0000 0000 0000 0ac2 d371 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb7d +1c95 d615 825a 5e64 0000 0000 0000 0000 32fb ac3b 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 9f 7d -1 +abda 8a -1 +-1 +-1 +1cb9 d615 825a 5e64 0000 0000 0000 0000 32fb ac3b 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb7e +503c 8dfe 1019 6778 0000 0000 0000 0000 f7df 9484 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 40 7e -1 +94c4 9e -1 +-1 +-1 +5090 8dfe 1019 6778 0000 0000 0000 0000 f7df 9484 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb7f +1b07 9ec3 14be 5ebe 0000 0000 0000 0000 1178 ce69 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb a2 7f -1 +ce0b 47 -1 +-1 +-1 +1b5d 9ec3 14be 5ebe 0000 0000 0000 0000 1178 ce69 0000 0004 +00 02 0 0 0 0 20 +-1 + +fdcb80 +e196 72ea 507e 6457 0000 0000 0000 0000 ab75 920d 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 8b 80 -1 +9198 a9 -1 +-1 +-1 +e196 a8ea 507e 6457 0000 0000 0000 0000 ab75 920d 0000 0004 +00 02 0 0 0 0 23 +9198 a8 -1 +-1 + +fdcb81 +3d3d b255 8759 0cb0 0000 0000 0000 0000 e078 82a5 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 55 81 -1 +82fa fa -1 +-1 +-1 +3d3d b2fa 8759 0cb0 0000 0000 0000 0000 e078 82a5 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcb82 +4e10 5d8d 27a0 ffff 0000 0000 0000 0000 ee0a 5dd8 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 9c 82 -1 +5d74 9d -1 +-1 +-1 +4e10 5d8d 9ca0 ffff 0000 0000 0000 0000 ee0a 5dd8 0000 0004 +00 02 0 0 0 0 23 +5d74 9c -1 +-1 + +fdcb83 +3c7f fd81 47fb 9f12 0000 0000 0000 0000 cbf9 374a 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 28 83 -1 +3772 d5 -1 +-1 +-1 +3c7f fd81 47d4 9f12 0000 0000 0000 0000 cbf9 374a 0000 0004 +00 02 0 0 0 0 23 +3772 d4 -1 +-1 + +fdcb84 +6872 81b1 1e7a e37e 0000 0000 0000 0000 9b4c f1c3 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb aa 84 -1 +f16d ea -1 +-1 +-1 +6872 81b1 1e7a ea7e 0000 0000 0000 0000 9b4c f1c3 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcb85 +25b3 5694 57cd f34d 0000 0000 0000 0000 8ed2 0433 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 6c 85 -1 +049f e0 -1 +-1 +-1 +25b3 5694 57cd f3e0 0000 0000 0000 0000 8ed2 0433 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcb86 +152b 8ce1 818d 40f2 0000 0000 0000 0000 9b7a 2a50 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 7e 86 -1 +2ace 36 -1 +-1 +-1 +152b 8ce1 818d 40f2 0000 0000 0000 0000 9b7a 2a50 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcb87 +fe1d 5353 618d 3266 0000 0000 0000 0000 1a53 246a 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 59 87 -1 +24c3 65 -1 +-1 +-1 +641d 5353 618d 3266 0000 0000 0000 0000 1a53 246a 0000 0004 +00 02 0 0 0 0 23 +24c3 64 -1 +-1 + +fdcb88 +7d14 a0ec 1e47 76e1 0000 0000 0000 0000 3871 c60d 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb d4 88 -1 +c5e1 d6 -1 +-1 +-1 +7d14 d4ec 1e47 76e1 0000 0000 0000 0000 3871 c60d 0000 0004 +00 02 0 0 0 0 23 +c5e1 d4 -1 +-1 + +fdcb89 +86c3 50a6 8592 d6ca 0000 0000 0000 0000 947b 0a01 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb c3 89 -1 +09c4 b0 -1 +-1 +-1 +86c3 50b0 8592 d6ca 0000 0000 0000 0000 947b 0a01 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcb8a +599c 961a 55f9 8470 0000 0000 0000 0000 d2a5 d4d2 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb f9 8a -1 +d4cb d8 -1 +-1 +-1 +599c 961a d8f9 8470 0000 0000 0000 0000 d2a5 d4d2 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcb8b +2715 a209 ab47 3eac 0000 0000 0000 0000 f352 c71e 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb ed 8b -1 +c70b dc -1 +-1 +-1 +2715 a209 abdc 3eac 0000 0000 0000 0000 f352 c71e 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcb8c +2818 4259 a9b0 e7a0 0000 0000 0000 0000 6471 a202 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 97 8c -1 +a199 67 -1 +-1 +-1 +2818 4259 a9b0 65a0 0000 0000 0000 0000 6471 a202 0000 0004 +00 02 0 0 0 0 23 +a199 65 -1 +-1 + +fdcb8d +14e3 c330 9aa2 8418 0000 0000 0000 0000 0d4f 5669 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb c9 8d -1 +5632 9a -1 +-1 +-1 +14e3 c330 9aa2 8498 0000 0000 0000 0000 0d4f 5669 0000 0004 +00 02 0 0 0 0 23 +5632 98 -1 +-1 + +fdcb8e +cb79 0fff b244 c902 0000 0000 0000 0000 6246 4c81 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb c2 8e -1 +4c43 7f -1 +-1 +-1 +cb79 0fff b244 c902 0000 0000 0000 0000 6246 4c81 0000 0004 +00 02 0 0 0 0 23 +4c43 7d -1 +-1 + +fdcb8f +66b4 5fbb 6c9b d0e3 0000 0000 0000 0000 ac5a 6b51 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb d4 8f -1 +6b25 59 -1 +-1 +-1 +59b4 5fbb 6c9b d0e3 0000 0000 0000 0000 ac5a 6b51 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcb90 +1305 1ce1 d627 7402 0000 0000 0000 0000 b470 d7f5 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb fd 90 -1 +d7f2 70 -1 +-1 +-1 +1305 70e1 d627 7402 0000 0000 0000 0000 b470 d7f5 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcb91 +10df c48f 0213 fc7e 0000 0000 0000 0000 bfab 47d2 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb bf 91 -1 +4791 0e -1 +-1 +-1 +10df c40a 0213 fc7e 0000 0000 0000 0000 bfab 47d2 0000 0004 +00 02 0 0 0 0 23 +4791 0a -1 +-1 + +fdcb92 +6a11 f89e f49d c115 0000 0000 0000 0000 bc5d 313a 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 0b 92 -1 +3145 f6 -1 +-1 +-1 +6a11 f89e f29d c115 0000 0000 0000 0000 bc5d 313a 0000 0004 +00 02 0 0 0 0 23 +3145 f2 -1 +-1 + +fdcb93 +61e5 cc2c 959a b52b 0000 0000 0000 0000 fa64 2940 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 52 93 -1 +2992 38 -1 +-1 +-1 +61e5 cc2c 9538 b52b 0000 0000 0000 0000 fa64 2940 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcb94 +31b4 3e5a fb3d ab83 0000 0000 0000 0000 a801 fe1c 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 95 94 -1 +fdb1 48 -1 +-1 +-1 +31b4 3e5a fb3d 4883 0000 0000 0000 0000 a801 fe1c 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcb95 +337e 63a7 2918 ed6b 0000 0000 0000 0000 b12c e776 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 90 95 -1 +e706 eb -1 +-1 +-1 +337e 63a7 2918 edeb 0000 0000 0000 0000 b12c e776 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcb96 +5d99 d9ec b6d0 5ed5 0000 0000 0000 0000 5d9d e6cf 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 9e 96 -1 +e66d fc -1 +-1 +-1 +5d99 d9ec b6d0 5ed5 0000 0000 0000 0000 5d9d e6cf 0000 0004 +00 02 0 0 0 0 23 +e66d f8 -1 +-1 + +fdcb97 +ccb6 8406 72c6 1ba7 0000 0000 0000 0000 6dca 187f 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 64 97 -1 +18e3 9d -1 +-1 +-1 +99b6 8406 72c6 1ba7 0000 0000 0000 0000 6dca 187f 0000 0004 +00 02 0 0 0 0 23 +18e3 99 -1 +-1 + +fdcb98 +0495 312f 8000 b749 0000 0000 0000 0000 e9cb 43b8 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb da 98 -1 +4392 15 -1 +-1 +-1 +0495 152f 8000 b749 0000 0000 0000 0000 e9cb 43b8 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcb99 +2824 a485 a30b b286 0000 0000 0000 0000 10b0 d86c 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 78 99 -1 +d8e4 b5 -1 +-1 +-1 +2824 a4b5 a30b b286 0000 0000 0000 0000 10b0 d86c 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcb9a +b0cc c40c dc1a 014a 0000 0000 0000 0000 2ff9 d717 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 9c 9a -1 +d6b3 9d -1 +-1 +-1 +b0cc c40c 951a 014a 0000 0000 0000 0000 2ff9 d717 0000 0004 +00 02 0 0 0 0 23 +d6b3 95 -1 +-1 + +fdcb9b +d092 a6c2 7900 5448 0000 0000 0000 0000 fab0 cb1e 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 83 9b -1 +caa1 95 -1 +-1 +-1 +d092 a6c2 7995 5448 0000 0000 0000 0000 fab0 cb1e 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcb9c +b58d 1ed1 e93b 9e0c 0000 0000 0000 0000 5605 03b3 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 1e 9c -1 +03d1 78 -1 +-1 +-1 +b58d 1ed1 e93b 700c 0000 0000 0000 0000 5605 03b3 0000 0004 +00 02 0 0 0 0 23 +03d1 70 -1 +-1 + +fdcb9d +c7e9 18d3 8eed bd7d 0000 0000 0000 0000 9a7f c087 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb e6 9d -1 +c06d 53 -1 +-1 +-1 +c7e9 18d3 8eed bd53 0000 0000 0000 0000 9a7f c087 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcb9e +81c7 71df 45d5 0ca7 0000 0000 0000 0000 648f 41bd 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb eb 9e -1 +41a8 61 -1 +-1 +-1 +81c7 71df 45d5 0ca7 0000 0000 0000 0000 648f 41bd 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcb9f +ebf5 dc9f d490 15be 0000 0000 0000 0000 0e12 9d49 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 50 9f -1 +9d99 89 -1 +-1 +-1 +81f5 dc9f d490 15be 0000 0000 0000 0000 0e12 9d49 0000 0004 +00 02 0 0 0 0 23 +9d99 81 -1 +-1 + +fdcba0 +8ccb 0057 bc19 e543 0000 0000 0000 0000 8c5d d68d 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 76 a0 -1 +d703 d4 -1 +-1 +-1 +8ccb c457 bc19 e543 0000 0000 0000 0000 8c5d d68d 0000 0004 +00 02 0 0 0 0 23 +d703 c4 -1 +-1 + +fdcba1 +eee6 6da4 3a20 8bba 0000 0000 0000 0000 1de7 66c8 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 31 a1 -1 +66f9 ec -1 +-1 +-1 +eee6 6dec 3a20 8bba 0000 0000 0000 0000 1de7 66c8 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcba2 +3f89 5120 0bd1 e669 0000 0000 0000 0000 2993 04bf 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 0e a2 -1 +04cd 47 -1 +-1 +-1 +3f89 5120 47d1 e669 0000 0000 0000 0000 2993 04bf 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcba3 +4439 6b8b 6178 1246 0000 0000 0000 0000 4cdb ad77 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 05 a3 -1 +ad7c 59 -1 +-1 +-1 +4439 6b8b 6149 1246 0000 0000 0000 0000 4cdb ad77 0000 0004 +00 02 0 0 0 0 23 +ad7c 49 -1 +-1 + +fdcba4 +3385 261e a487 b3bd 0000 0000 0000 0000 4b8f c0cd 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 66 a4 -1 +c133 c5 -1 +-1 +-1 +3385 261e a487 c5bd 0000 0000 0000 0000 4b8f c0cd 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcba5 +6e70 b7ed 22cd aedc 0000 0000 0000 0000 46de f1a1 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb a0 a5 -1 +f141 44 -1 +-1 +-1 +6e70 b7ed 22cd ae44 0000 0000 0000 0000 46de f1a1 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcba6 +814b 6408 3dcb 971f 0000 0000 0000 0000 5716 93f3 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 76 a6 -1 +9469 bc -1 +-1 +-1 +814b 6408 3dcb 971f 0000 0000 0000 0000 5716 93f3 0000 0004 +00 02 0 0 0 0 23 +9469 ac -1 +-1 + +fdcba7 +a4c2 679e c313 61df 0000 0000 0000 0000 67e6 79c4 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 66 a7 -1 +7a2a 2e -1 +-1 +-1 +2ec2 679e c313 61df 0000 0000 0000 0000 67e6 79c4 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcba8 +537c 1fed 6cbb bd26 0000 0000 0000 0000 c638 0d46 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb a9 a8 -1 +0cef b7 -1 +-1 +-1 +537c 97ed 6cbb bd26 0000 0000 0000 0000 c638 0d46 0000 0004 +00 02 0 0 0 0 23 +0cef 97 -1 +-1 + +fdcba9 +ba5a 3076 cdd7 298d 0000 0000 0000 0000 59ab 0f54 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 2b a9 -1 +0f7f 8f -1 +-1 +-1 +ba5a 308f cdd7 298d 0000 0000 0000 0000 59ab 0f54 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbaa +406a 2ed6 fa8c c633 0000 0000 0000 0000 87cb b3d1 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 0b aa -1 +b3dc 3a -1 +-1 +-1 +406a 2ed6 1a8c c633 0000 0000 0000 0000 87cb b3d1 0000 0004 +00 02 0 0 0 0 23 +b3dc 1a -1 +-1 + +fdcbab +da61 0521 a123 c7fa 0000 0000 0000 0000 b71a 8ece 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb a9 ab -1 +8e77 1f -1 +-1 +-1 +da61 0521 a11f c7fa 0000 0000 0000 0000 b71a 8ece 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbac +34a3 81ce 07d6 f3a4 0000 0000 0000 0000 430b 0525 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 23 ac -1 +0548 9c -1 +-1 +-1 +34a3 81ce 07d6 9ca4 0000 0000 0000 0000 430b 0525 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbad +5010 918e ddbc 4f89 0000 0000 0000 0000 88c5 948f 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 4e ad -1 +94dd 37 -1 +-1 +-1 +5010 918e ddbc 4f17 0000 0000 0000 0000 88c5 948f 0000 0004 +00 02 0 0 0 0 23 +94dd 17 -1 +-1 + +fdcbae +ec0d b57e 18c6 7b01 0000 0000 0000 0000 bac6 0c1d 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 0c ae -1 +0c29 a9 -1 +-1 +-1 +ec0d b57e 18c6 7b01 0000 0000 0000 0000 bac6 0c1d 0000 0004 +00 02 0 0 0 0 23 +0c29 89 -1 +-1 + +fdcbaf +b322 6731 daad 8d38 0000 0000 0000 0000 dd8f 26eb 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 0d af -1 +26f8 44 -1 +-1 +-1 +4422 6731 daad 8d38 0000 0000 0000 0000 dd8f 26eb 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbb0 +b984 796c 44b1 fef9 0000 0000 0000 0000 4069 a0cb 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 5a b0 -1 +a125 76 -1 +-1 +-1 +b984 366c 44b1 fef9 0000 0000 0000 0000 4069 a0cb 0000 0004 +00 02 0 0 0 0 23 +a125 36 -1 +-1 + +fdcbb1 +59c3 ab13 42ee b764 0000 0000 0000 0000 8f7f f398 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 82 b1 -1 +f31a 79 -1 +-1 +-1 +59c3 ab39 42ee b764 0000 0000 0000 0000 8f7f f398 0000 0004 +00 02 0 0 0 0 23 +f31a 39 -1 +-1 + +fdcbb2 +f310 ceec bbfb 3569 0000 0000 0000 0000 4a6f 33f9 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 23 b2 -1 +341c 7b -1 +-1 +-1 +f310 ceec 3bfb 3569 0000 0000 0000 0000 4a6f 33f9 0000 0004 +00 02 0 0 0 0 23 +341c 3b -1 +-1 + +fdcbb3 +9c05 0f92 bd3b 553d 0000 0000 0000 0000 c75e 51d2 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 6c b3 -1 +523e 37 -1 +-1 +-1 +9c05 0f92 bd37 553d 0000 0000 0000 0000 c75e 51d2 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbb4 +3e55 1338 638d 353c 0000 0000 0000 0000 44ad 4d17 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb c5 b4 -1 +4cdc e9 -1 +-1 +-1 +3e55 1338 638d a93c 0000 0000 0000 0000 44ad 4d17 0000 0004 +00 02 0 0 0 0 23 +4cdc a9 -1 +-1 + +fdcbb5 +2f3a b709 4167 57be 0000 0000 0000 0000 b543 8edd 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 50 b5 -1 +8f2d 0f -1 +-1 +-1 +2f3a b709 4167 570f 0000 0000 0000 0000 b543 8edd 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbb6 +a887 519b c91b cc91 0000 0000 0000 0000 a416 1e16 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 3a b6 -1 +1e50 13 -1 +-1 +-1 +a887 519b c91b cc91 0000 0000 0000 0000 a416 1e16 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbb7 +1335 a599 9fbf c111 0000 0000 0000 0000 8bc5 00a9 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb c0 b7 -1 +0069 38 -1 +-1 +-1 +3835 a599 9fbf c111 0000 0000 0000 0000 8bc5 00a9 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbb8 +d146 1138 1a45 8259 0000 0000 0000 0000 6a03 d087 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 31 b8 -1 +d0b8 17 -1 +-1 +-1 +d146 1738 1a45 8259 0000 0000 0000 0000 6a03 d087 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbb9 +757b 0b9e 767b 2ad1 0000 0000 0000 0000 1498 b84e 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 3b b9 -1 +b889 b4 -1 +-1 +-1 +757b 0b34 767b 2ad1 0000 0000 0000 0000 1498 b84e 0000 0004 +00 02 0 0 0 0 23 +b889 34 -1 +-1 + +fdcbba +43ef 1c58 dda3 4519 0000 0000 0000 0000 b67b 383f 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 38 ba -1 +3877 d6 -1 +-1 +-1 +43ef 1c58 56a3 4519 0000 0000 0000 0000 b67b 383f 0000 0004 +00 02 0 0 0 0 23 +3877 56 -1 +-1 + +fdcbbb +dccb 7ab3 7615 4161 0000 0000 0000 0000 2942 e2fe 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 07 bb -1 +e305 6e -1 +-1 +-1 +dccb 7ab3 766e 4161 0000 0000 0000 0000 2942 e2fe 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbbc +0e07 34f5 0995 cc42 0000 0000 0000 0000 9d42 af0c 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb f8 bc -1 +af04 cf -1 +-1 +-1 +0e07 34f5 0995 4f42 0000 0000 0000 0000 9d42 af0c 0000 0004 +00 02 0 0 0 0 23 +af04 4f -1 +-1 + +fdcbbd +30ef e60c 9bf0 a1bf 0000 0000 0000 0000 bd1c df0d 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb aa bd -1 +deb7 8d -1 +-1 +-1 +30ef e60c 9bf0 a10d 0000 0000 0000 0000 bd1c df0d 0000 0004 +00 02 0 0 0 0 23 +deb7 0d -1 +-1 + +fdcbbe +1133 bef6 5059 1089 0000 0000 0000 0000 d558 3d0f 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb c8 be -1 +3cd7 a1 -1 +-1 +-1 +1133 bef6 5059 1089 0000 0000 0000 0000 d558 3d0f 0000 0004 +00 02 0 0 0 0 23 +3cd7 21 -1 +-1 + +fdcbbf +83d6 c893 8db8 716b 0000 0000 0000 0000 0956 bde7 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb fd bf -1 +bde4 ac -1 +-1 +-1 +2cd6 c893 8db8 716b 0000 0000 0000 0000 0956 bde7 0000 0004 +00 02 0 0 0 0 23 +bde4 2c -1 +-1 + +fdcbc0 +3666 676c 35e5 db0a 0000 0000 0000 0000 ea93 2b31 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 0a c0 -1 +2b3b ec -1 +-1 +-1 +3666 ed6c 35e5 db0a 0000 0000 0000 0000 ea93 2b31 0000 0004 +00 02 0 0 0 0 23 +2b3b ed -1 +-1 + +fdcbc1 +3902 d498 af62 9821 0000 0000 0000 0000 48b8 bd67 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 87 c1 -1 +bcee ee -1 +-1 +-1 +3902 d4ef af62 9821 0000 0000 0000 0000 48b8 bd67 0000 0004 +00 02 0 0 0 0 23 +bcee ef -1 +-1 + +fdcbc2 +ad26 5a6d 6762 16c9 0000 0000 0000 0000 495a 5b2c 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 8d c2 -1 +5ab9 c2 -1 +-1 +-1 +ad26 5a6d c362 16c9 0000 0000 0000 0000 495a 5b2c 0000 0004 +00 02 0 0 0 0 23 +5ab9 c3 -1 +-1 + +fdcbc3 +3e6c 9a74 a2ee 9838 0000 0000 0000 0000 eafa e666 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 5a c3 -1 +e6c0 4f -1 +-1 +-1 +3e6c 9a74 a24f 9838 0000 0000 0000 0000 eafa e666 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbc4 +bf68 d00b 5283 51c2 0000 0000 0000 0000 517c 5d10 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 89 c4 -1 +5c99 61 -1 +-1 +-1 +bf68 d00b 5283 61c2 0000 0000 0000 0000 517c 5d10 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbc5 +127b db6a 00b9 5138 0000 0000 0000 0000 98f6 02bb 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb a9 c5 -1 +0264 cd -1 +-1 +-1 +127b db6a 00b9 51cd 0000 0000 0000 0000 98f6 02bb 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbc6 +35da 98c2 3f57 44a4 0000 0000 0000 0000 2771 76c4 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb ee c6 -1 +76b2 82 -1 +-1 +-1 +35da 98c2 3f57 44a4 0000 0000 0000 0000 2771 76c4 0000 0004 +00 02 0 0 0 0 23 +76b2 83 -1 +-1 + +fdcbc7 +763f b86f 12d3 7e2d 0000 0000 0000 0000 d870 f30b 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 9e c7 -1 +f2a9 d7 -1 +-1 +-1 +d73f b86f 12d3 7e2d 0000 0000 0000 0000 d870 f30b 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbc8 +1f81 c7c0 85da 3cdd 0000 0000 0000 0000 d854 c412 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 10 c8 -1 +c422 e9 -1 +-1 +-1 +1f81 ebc0 85da 3cdd 0000 0000 0000 0000 d854 c412 0000 0004 +00 02 0 0 0 0 23 +c422 eb -1 +-1 + +fdcbc9 +ed19 3f88 1370 e084 0000 0000 0000 0000 4fdd 8b42 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 61 c9 -1 +8ba3 b7 -1 +-1 +-1 +ed19 3fb7 1370 e084 0000 0000 0000 0000 4fdd 8b42 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbca +c7e5 233b 2312 f7f9 0000 0000 0000 0000 e417 5190 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 1a ca -1 +51aa 90 -1 +-1 +-1 +c7e5 233b 9212 f7f9 0000 0000 0000 0000 e417 5190 0000 0004 +00 02 0 0 0 0 23 +51aa 92 -1 +-1 + +fdcbcb +bdba a964 ea38 9422 0000 0000 0000 0000 fca3 9a72 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 5e cb -1 +9ad0 70 -1 +-1 +-1 +bdba a964 ea72 9422 0000 0000 0000 0000 fca3 9a72 0000 0004 +00 02 0 0 0 0 23 +9ad0 72 -1 +-1 + +fdcbcc +0f4f 0261 21b0 2097 0000 0000 0000 0000 575d 14f9 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 2d cc -1 +1526 4e -1 +-1 +-1 +0f4f 0261 21b0 4e97 0000 0000 0000 0000 575d 14f9 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbcd +1b79 8f9f 31bf 9ca6 0000 0000 0000 0000 7ecb bbe9 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb a1 cd -1 +bb8a 66 -1 +-1 +-1 +1b79 8f9f 31bf 9c66 0000 0000 0000 0000 7ecb bbe9 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbce +8e13 968e 1784 0a0a 0000 0000 0000 0000 1e87 b8a2 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 36 ce -1 +b8d8 45 -1 +-1 +-1 +8e13 968e 1784 0a0a 0000 0000 0000 0000 1e87 b8a2 0000 0004 +00 02 0 0 0 0 23 +b8d8 47 -1 +-1 + +fdcbcf +8d0a a073 c4ba 5b69 0000 0000 0000 0000 3b47 c29c 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 70 cf -1 +c30c 7a -1 +-1 +-1 +7a0a a073 c4ba 5b69 0000 0000 0000 0000 3b47 c29c 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbd0 +e2bb 8635 650c 689a 0000 0000 0000 0000 1294 3beb 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb bc d0 -1 +3ba7 20 -1 +-1 +-1 +e2bb 2435 650c 689a 0000 0000 0000 0000 1294 3beb 0000 0004 +00 02 0 0 0 0 23 +3ba7 24 -1 +-1 + +fdcbd1 +5df8 f701 9494 4967 0000 0000 0000 0000 ad00 8c65 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 11 d1 -1 +8c76 b9 -1 +-1 +-1 +5df8 f7bd 9494 4967 0000 0000 0000 0000 ad00 8c65 0000 0004 +00 02 0 0 0 0 23 +8c76 bd -1 +-1 + +fdcbd2 +9876 4bd9 3148 665a 0000 0000 0000 0000 7eac c051 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb fb d2 -1 +c04c 51 -1 +-1 +-1 +9876 4bd9 5548 665a 0000 0000 0000 0000 7eac c051 0000 0004 +00 02 0 0 0 0 23 +c04c 55 -1 +-1 + +fdcbd3 +8f90 bacd e87a 538f 0000 0000 0000 0000 fe5a 0a87 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 3e d3 -1 +0ac5 e0 -1 +-1 +-1 +8f90 bacd e8e4 538f 0000 0000 0000 0000 fe5a 0a87 0000 0004 +00 02 0 0 0 0 23 +0ac5 e4 -1 +-1 + +fdcbd4 +15e2 1820 5588 e67f 0000 0000 0000 0000 7193 9478 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 36 d4 -1 +94ae 7d -1 +-1 +-1 +15e2 1820 5588 7d7f 0000 0000 0000 0000 7193 9478 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbd5 +1409 6535 c371 abe2 0000 0000 0000 0000 2e10 8608 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 48 d5 -1 +8650 98 -1 +-1 +-1 +1409 6535 c371 ab9c 0000 0000 0000 0000 2e10 8608 0000 0004 +00 02 0 0 0 0 23 +8650 9c -1 +-1 + +fdcbd6 +7801 78b6 d191 054a 0000 0000 0000 0000 2065 6aa3 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb c9 d6 -1 +6a6c 7c -1 +-1 +-1 +7801 78b6 d191 054a 0000 0000 0000 0000 2065 6aa3 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbd7 +1b6a 266e 387f 7fcb 0000 0000 0000 0000 1941 36ab 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb be d7 -1 +3669 95 -1 +-1 +-1 +956a 266e 387f 7fcb 0000 0000 0000 0000 1941 36ab 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbd8 +7b1b a191 efee 55b9 0000 0000 0000 0000 f789 43f8 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb bc d8 -1 +43b4 d8 -1 +-1 +-1 +7b1b d891 efee 55b9 0000 0000 0000 0000 f789 43f8 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbd9 +0faf 4eda c556 6ed3 0000 0000 0000 0000 3fc3 0a66 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 16 d9 -1 +0a7c f4 -1 +-1 +-1 +0faf 4efc c556 6ed3 0000 0000 0000 0000 3fc3 0a66 0000 0004 +00 02 0 0 0 0 23 +0a7c fc -1 +-1 + +fdcbda +9ea1 8186 c045 d6e0 0000 0000 0000 0000 34d3 d0f0 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb e8 da -1 +d0d8 6b -1 +-1 +-1 +9ea1 8186 6b45 d6e0 0000 0000 0000 0000 34d3 d0f0 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbdb +5ee0 bdea d00e 513f 0000 0000 0000 0000 690a 8c29 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 7a db -1 +8ca3 15 -1 +-1 +-1 +5ee0 bdea d01d 513f 0000 0000 0000 0000 690a 8c29 0000 0004 +00 02 0 0 0 0 23 +8ca3 1d -1 +-1 + +fdcbdc +5cfa 2e2b 1d17 dbf6 0000 0000 0000 0000 a4f2 593a 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 64 dc -1 +599e 15 -1 +-1 +-1 +5cfa 2e2b 1d17 1df6 0000 0000 0000 0000 a4f2 593a 0000 0004 +00 02 0 0 0 0 23 +599e 1d -1 +-1 + +fdcbdd +8773 70a6 83ce 52b8 0000 0000 0000 0000 35da 1d94 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 75 dd -1 +1e09 28 -1 +-1 +-1 +8773 70a6 83ce 5228 0000 0000 0000 0000 35da 1d94 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbde +8310 fa01 6c69 252a 0000 0000 0000 0000 5291 c9e0 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 17 de -1 +c9f7 41 -1 +-1 +-1 +8310 fa01 6c69 252a 0000 0000 0000 0000 5291 c9e0 0000 0004 +00 02 0 0 0 0 23 +c9f7 49 -1 +-1 + +fdcbdf +780d a722 e78e 50ba 0000 0000 0000 0000 9d67 eac3 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 93 df -1 +ea56 ef -1 +-1 +-1 +ef0d a722 e78e 50ba 0000 0000 0000 0000 9d67 eac3 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbe0 +10ef 4101 2ca5 f752 0000 0000 0000 0000 4747 1507 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 56 e0 -1 +155d b9 -1 +-1 +-1 +10ef b901 2ca5 f752 0000 0000 0000 0000 4747 1507 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbe1 +e4cb 6f72 1c11 1426 0000 0000 0000 0000 189b 0e0d 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb d1 e1 -1 +0dde 16 -1 +-1 +-1 +e4cb 6f16 1c11 1426 0000 0000 0000 0000 189b 0e0d 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbe2 +11a9 bae8 938b bac4 0000 0000 0000 0000 d8ed e49c 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 50 e2 -1 +e4ec c2 -1 +-1 +-1 +11a9 bae8 d28b bac4 0000 0000 0000 0000 d8ed e49c 0000 0004 +00 02 0 0 0 0 23 +e4ec d2 -1 +-1 + +fdcbe3 +8832 952b 02b2 26ef 0000 0000 0000 0000 fb55 ada8 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb ca e3 -1 +ad72 ba -1 +-1 +-1 +8832 952b 02ba 26ef 0000 0000 0000 0000 fb55 ada8 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbe4 +3989 4142 89e2 785b 0000 0000 0000 0000 0bf7 5474 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 62 e4 -1 +54d6 7b -1 +-1 +-1 +3989 4142 89e2 7b5b 0000 0000 0000 0000 0bf7 5474 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbe5 +e5c5 b86d 41bb 315e 0000 0000 0000 0000 1a78 a52d 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb da e5 -1 +a507 4c -1 +-1 +-1 +e5c5 b86d 41bb 315c 0000 0000 0000 0000 1a78 a52d 0000 0004 +00 02 0 0 0 0 23 +a507 5c -1 +-1 + +fdcbe6 +fd89 d888 1e2f ddf5 0000 0000 0000 0000 42f5 8b06 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 76 e6 -1 +8b7c 45 -1 +-1 +-1 +fd89 d888 1e2f ddf5 0000 0000 0000 0000 42f5 8b06 0000 0004 +00 02 0 0 0 0 23 +8b7c 55 -1 +-1 + +fdcbe7 +2025 d3e9 d4b6 aa30 0000 0000 0000 0000 88bd b597 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 11 e7 -1 +b5a8 a6 -1 +-1 +-1 +b625 d3e9 d4b6 aa30 0000 0000 0000 0000 88bd b597 0000 0004 +00 02 0 0 0 0 23 +b5a8 b6 -1 +-1 + +fdcbe8 +514d c2ab 37b5 57de 0000 0000 0000 0000 a4ec 0a77 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb ed e8 -1 +0a64 d0 -1 +-1 +-1 +514d f0ab 37b5 57de 0000 0000 0000 0000 a4ec 0a77 0000 0004 +00 02 0 0 0 0 23 +0a64 f0 -1 +-1 + +fdcbe9 +974e d28e d5cb 6bd4 0000 0000 0000 0000 158a a84e 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 35 e9 -1 +a883 2f -1 +-1 +-1 +974e d22f d5cb 6bd4 0000 0000 0000 0000 158a a84e 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbea +3ef4 3fc6 4a44 e9a4 0000 0000 0000 0000 c877 7593 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 93 ea -1 +7526 1b -1 +-1 +-1 +3ef4 3fc6 3b44 e9a4 0000 0000 0000 0000 c877 7593 0000 0004 +00 02 0 0 0 0 23 +7526 3b -1 +-1 + +fdcbeb +798f 5e9b 940e 2e52 0000 0000 0000 0000 d6ad 2411 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb d0 eb -1 +23e1 47 -1 +-1 +-1 +798f 5e9b 9467 2e52 0000 0000 0000 0000 d6ad 2411 0000 0004 +00 02 0 0 0 0 23 +23e1 67 -1 +-1 + +fdcbec +38a4 07c0 6cee e715 0000 0000 0000 0000 f160 d2eb 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb f3 ec -1 +d2de 49 -1 +-1 +-1 +38a4 07c0 6cee 6915 0000 0000 0000 0000 f160 d2eb 0000 0004 +00 02 0 0 0 0 23 +d2de 69 -1 +-1 + +fdcbed +e0bc 70c1 de35 81c5 0000 0000 0000 0000 d57f 0eab 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 58 ed -1 +0f03 10 -1 +-1 +-1 +e0bc 70c1 de35 8130 0000 0000 0000 0000 d57f 0eab 0000 0004 +00 02 0 0 0 0 23 +0f03 30 -1 +-1 + +fdcbee +5fcb 9007 1736 aca8 0000 0000 0000 0000 4bab 42bc 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 02 ee -1 +42be d0 -1 +-1 +-1 +5fcb 9007 1736 aca8 0000 0000 0000 0000 4bab 42bc 0000 0004 +00 02 0 0 0 0 23 +42be f0 -1 +-1 + +fdcbef +4ee3 d344 cb5b aeb5 0000 0000 0000 0000 de5f 2272 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 58 ef -1 +22ca 09 -1 +-1 +-1 +29e3 d344 cb5b aeb5 0000 0000 0000 0000 de5f 2272 0000 0004 +00 02 0 0 0 0 23 +22ca 29 -1 +-1 + +fdcbf0 +1080 b270 1b5b a9b7 0000 0000 0000 0000 e89d ee9e 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 45 f0 -1 +eee3 2c -1 +-1 +-1 +1080 6c70 1b5b a9b7 0000 0000 0000 0000 e89d ee9e 0000 0004 +00 02 0 0 0 0 23 +eee3 6c -1 +-1 + +fdcbf1 +1702 c43b d138 316f 0000 0000 0000 0000 8067 4783 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 2f f1 -1 +47b2 dc -1 +-1 +-1 +1702 c4dc d138 316f 0000 0000 0000 0000 8067 4783 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbf2 +732a 4cd1 77fe 4814 0000 0000 0000 0000 42f1 ea97 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 2c f2 -1 +eac3 5e -1 +-1 +-1 +732a 4cd1 5efe 4814 0000 0000 0000 0000 42f1 ea97 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbf3 +6b97 59d3 f546 7530 0000 0000 0000 0000 6670 7d90 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 38 f3 -1 +7dc8 0c -1 +-1 +-1 +6b97 59d3 f54c 7530 0000 0000 0000 0000 6670 7d90 0000 0004 +00 02 0 0 0 0 23 +7dc8 4c -1 +-1 + +fdcbf4 +7af0 a81f 5d3a 799b 0000 0000 0000 0000 e12b 309c 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb d0 f4 -1 +306c 0e -1 +-1 +-1 +7af0 a81f 5d3a 4e9b 0000 0000 0000 0000 e12b 309c 0000 0004 +00 02 0 0 0 0 23 +306c 4e -1 +-1 + +fdcbf5 +1370 f6b2 aaa2 7f0a 0000 0000 0000 0000 c9f6 6b1f 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 55 f5 -1 +6b74 f8 -1 +-1 +-1 +1370 f6b2 aaa2 7ff8 0000 0000 0000 0000 c9f6 6b1f 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbf6 +7c43 fcd1 34bd f4ab 0000 0000 0000 0000 ef33 c61a 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 56 f6 -1 +c670 5d -1 +-1 +-1 +7c43 fcd1 34bd f4ab 0000 0000 0000 0000 ef33 c61a 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbf7 +e6da 231a 7bb1 800d 0000 0000 0000 0000 e37e 5789 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 9e f7 -1 +5727 66 -1 +-1 +-1 +66da 231a 7bb1 800d 0000 0000 0000 0000 e37e 5789 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbf8 +fa29 ee74 d7c4 afaf 0000 0000 0000 0000 512c de7a 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 54 f8 -1 +dece 7a -1 +-1 +-1 +fa29 fa74 d7c4 afaf 0000 0000 0000 0000 512c de7a 0000 0004 +00 02 0 0 0 0 23 +dece fa -1 +-1 + +fdcbf9 +4662 a71b 5065 ed06 0000 0000 0000 0000 279e 99e3 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 30 f9 -1 +9a13 c6 -1 +-1 +-1 +4662 a7c6 5065 ed06 0000 0000 0000 0000 279e 99e3 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbfa +9426 53ec 5016 6c99 0000 0000 0000 0000 8b99 bd79 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 09 fa -1 +bd82 f4 -1 +-1 +-1 +9426 53ec f416 6c99 0000 0000 0000 0000 8b99 bd79 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbfb +5343 b212 09ca e3c6 0000 0000 0000 0000 cd2b f875 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb ba fb -1 +f82f ed -1 +-1 +-1 +5343 b212 09ed e3c6 0000 0000 0000 0000 cd2b f875 0000 0004 +00 02 0 0 0 0 23 +-1 + +fdcbfc +0965 4392 ca25 2baa 0000 0000 0000 0000 f023 6623 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 56 fc -1 +6679 65 -1 +-1 +-1 +0965 4392 ca25 e5aa 0000 0000 0000 0000 f023 6623 0000 0004 +00 02 0 0 0 0 23 +6679 e5 -1 +-1 + +fdcbfd +1751 233c 6214 d119 0000 0000 0000 0000 c415 5d2b 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 25 fd -1 +5d50 27 -1 +-1 +-1 +1751 233c 6214 d1a7 0000 0000 0000 0000 c415 5d2b 0000 0004 +00 02 0 0 0 0 23 +5d50 a7 -1 +-1 + +fdcbfe +b4cf 5639 677b 0ca2 0000 0000 0000 0000 ddc5 4e4f 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb 88 fe -1 +4dd7 4a -1 +-1 +-1 +b4cf 5639 677b 0ca2 0000 0000 0000 0000 ddc5 4e4f 0000 0004 +00 02 0 0 0 0 23 +4dd7 ca -1 +-1 + +fdcbff +f151 13da 7c56 f025 0000 0000 0000 0000 2b36 2aed 0000 0000 +00 00 0 0 0 0 1 +0000 fd cb e4 ff -1 +2ad1 97 -1 +-1 +-1 +9751 13da 7c56 f025 0000 0000 0000 0000 2b36 2aed 0000 0004 +00 02 0 0 0 0 23 +-1 + +fde1 +828e 078b 1e35 8f1c 0000 0000 0000 0000 4827 b742 716e 0000 +00 00 0 0 0 0 1 +0000 fd e1 -1 +716e d5 92 -1 +-1 +-1 +828e 078b 1e35 8f1c 0000 0000 0000 0000 4827 92d5 7170 0002 +00 02 0 0 0 0 14 +-1 + +fde3 +4298 c805 6030 4292 0000 0000 0000 0000 473b 9510 1a38 0000 +00 00 0 0 0 0 1 +0000 fd e3 -1 +1a38 e0 0f -1 +-1 +-1 +4298 c805 6030 4292 0000 0000 0000 0000 473b 0fe0 1a38 0002 +00 02 0 0 0 0 23 +1a38 10 95 -1 +-1 + +fde5 +d139 aa0d bf2b 2a56 0000 0000 0000 0000 e138 d4da a8e1 0000 +00 00 0 0 0 0 1 +0000 fd e5 -1 +-1 +-1 +d139 aa0d bf2b 2a56 0000 0000 0000 0000 e138 d4da a8df 0002 +00 02 0 0 0 0 15 +a8df da d4 -1 +-1 + +fde9 +c14f 2eb6 edf0 27cf 0000 0000 0000 0000 09ee a2a4 0000 0000 +00 00 0 0 0 0 1 +0000 fd e9 -1 +-1 +-1 +c14f 2eb6 edf0 27cf 0000 0000 0000 0000 09ee a2a4 0000 a2a4 +00 02 0 0 0 0 8 +-1 + +fdf9 +c260 992e d544 67fb 0000 0000 0000 0000 ba5e 3596 353f 0000 +00 00 0 0 0 0 1 +0000 fd f9 -1 +-1 +-1 +c260 992e d544 67fb 0000 0000 0000 0000 ba5e 3596 3596 0002 +00 02 0 0 0 0 10 +-1 + +fe +6900 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +00 00 0 0 0 0 1 +0000 fe 82 -1 +-1 +-1 +6987 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0002 +00 01 0 0 0 0 7 +-1 + +ff +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 5507 6d33 +00 00 0 0 0 0 1 +6d33 ff -1 +-1 +-1 +0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 5505 0038 +00 01 0 0 0 0 11 +5505 34 6d -1 +-1 + diff --git a/src/z80free/z80_test.pnproj b/src/z80free/z80_test.pnproj new file mode 100644 index 0000000..5361186 --- /dev/null +++ b/src/z80free/z80_test.pnproj @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/z80free/z80_test.pnps b/src/z80free/z80_test.pnps new file mode 100644 index 0000000..c54a1c3 --- /dev/null +++ b/src/z80free/z80_test.pnps @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/z80free/z80free_gencode.py b/src/z80free/z80free_gencode.py new file mode 100644 index 0000000..93b5453 --- /dev/null +++ b/src/z80free/z80free_gencode.py @@ -0,0 +1,1308 @@ +#!/usr/bin/env python +# -*- coding: UTF-8 -*- + +# Copyright 2008-2009 (C) Raster Software Vigo (Sergio Costas) + +# This file is part of Z80Free +# +# Z80Free 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. +# +# Z80Free 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 . + +import sys + +class generic_parser: + + + def get_code_from_one_param(self,element,bits): + + """ Returns nbits,read,write,condition + + Parses the ELEMENT string and, if its a register, a number or a memory access, + returns in READ a piece of C code that allows to get that value; in WRITE a + piece of code that allows to store a value there (if applicable, None if not + valid) and NONE in CONDITION. + + if ELEMENT is a condition (like check ZERO, CARRY...), it returns None in READ + and WRITE, and in CONDITION a piece of C code which returns TRUE (1) if that + condition is true, or FALSE (0) if it is false. + + When the string has an ambiguous size (like (nn) in LD A,(nn) ), this function + will use BITS to know how many bits has to use. But if BITS is 0 it means + that the main class still doesn't know how many bits the current instruction + is using, so this function must return 0 in NBITS. But if it can determine + the true bit size (both because it's a fixed size element, like a register, + or because BITS contains a value different of 0) then it must returns that + size. + + If the combination of ELEMENT and BITS is unknown, it must call + + self.unknown_param() + + to show an error and stop the parsing process + """ + + raise TypeError('Abstract method z80parser.get_code_from_one_param called') + + + def create_code(self,ncode,tst1,tst2,opcode,code_read,code_write,condition,bits): + + """ Writes C code for the opcode OPCODE, with the list CODE_READ containing + C code for read each one of the parameters, the list CODE_WRITE containing + C code for write each one of the parameters, CONDITION containing a C code + string to check if the condition is TRUE or FALSE (or containing NONE if + the opcode is unconditional), and all parameters having a wide of BITS bits. + NCODE is the decimal code asigned to this opcode, and TST1 and TST2 are the + TStates used by this opcode to run (the first when the condition is True, + and the second when the condition is False). + + If this method returns False the main class will assume that it hasn't + added the C code to return the number of TStates, and will add a line with + the code RETURN (TST1); after it; but if it returns True, the class will + assume that the C code inserted already returns the number of TStates, and + won't add the RETURN line. + + This is an abstract method, and must be implemented in the class + derived from this one. + + If the combination of OPCODE and BITS is unknown, it must call + + self.unknown_opcode() + + to show an error and stop the parsing process + + """ + + raise TypeError('Abstract method z80parser.create_code called') + + + def write_start_code(self,filename,file_out): + + """ Writes the first part of the C code for the file """ + + raise TypeError('Abstract method z80parser.write_start_code called') + + + def write_end_code(self,filename,file_out): + + """ Writes the first part of the C code for the file """ + + raise TypeError('Abstract method z80parser.write_end_code called') + + + def license(self): + + """ writes the license terms. It must be always the GPL """ + + if self.copyright_year==None: + raise TypeError('Copyright year not defined') + + if self.copyright_author==None: + raise TypeError('Copyright author not defined') + + if self.copyright_program_name==None: + raise TypeError('Copyright program name not defined') + + self.file_out.write('/*\n') + self.file_out.write(' * Copyright (C) '+str(self.copyright_year)+' '+str(self.copyright_author)+'\n') + self.file_out.write(' * This file is part of '+str(self.copyright_program_name)+'\n') + self.file_out.write(' *\n') + self.file_out.write(' * '+str(self.copyright_program_name)+' is free software; you can redistribute it and/or modify\n') + self.file_out.write(' * it under the terms of the GNU General Public License as published by\n') + self.file_out.write(' * the Free Software Foundation; either version 3 of the License, or\n') + self.file_out.write(' * (at your option) any later version.\n') + self.file_out.write(' *\n') + self.file_out.write(' * '+str(self.copyright_program_name)+' is distributed in the hope that it will be useful,\n') + self.file_out.write(' * but WITHOUT ANY WARRANTY; without even the implied warranty of\n') + self.file_out.write(' * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n') + self.file_out.write(' * GNU General Public License for more details.\n') + self.file_out.write(' *\n') + self.file_out.write(' * You should have received a copy of the GNU General Public License\n') + self.file_out.write(' * along with this program. If not, see .\n') + self.file_out.write(' * \n') + self.file_out.write(' */') + + + def __init__(self,filename): + + self.line_number=0 + self.curr_element="" + self.curr_bits=0 + self.curr_opcode="" + self.curr_instruction="" + self.filename=filename + self.file_in=open(filename+".txt","r") + self.file_out=open(filename+".c","w") + + self.license() # the code generated by z80free_gencode.py is ALWAYS GPL + self.file_out.write('\n\n') + self.write_start_code() + self.file_out.write('\tswitch(opcode) {\n') + while True: + if self.proccess_line()==False: + break + self.file_out.write('\t}\n\n') + self.write_end_code() + self.file_out.close() + self.file_in.close() + + + def proccess_line(self): + + while True: + ncode,tst1,tst2,opcode,params=self.get_parts() + if ncode==None: + return False + if tst1!=0: + break + + code_read,code_write,condition,bits=self.get_code_from_params(params) + self.file_out.write("\tcase "+str(ncode)+": // "+self.curr_instruction+"\n") + self.curr_opcode=opcode + self.curr_bits=bits + tst_done=self.create_code(ncode,tst1,tst2,opcode,code_read,code_write,condition,bits) + if tst_done==False: + self.file_out.write("\t\treturn ("+str(tst1)+");\n") + self.file_out.write("\tbreak;\n") + + + def unknown_opcode(self): + + self.show_error("Unknown opcode "+str(self.curr_opcode)+" for "+str(self.curr_bits)+" bits wide while processing "+str(self.curr_instruction)) + + + def unknown_param(self): + + self.show_error("Unknown parameter "+str(self.curr_element)+" for "+str(self.curr_bits)+" bits wide while processing "+str(self.curr_instruction)) + + + def show_error(self,msg_error): + + print + print "Syntax error while processing file "+self.filename+".txt" + print "at line "+str(self.line_number)+" when processing instruction "+self.curr_instruction + print msg_error + print "Check the file and run again" + print + self.file_out.close() + self.file_in.close() + sys.exit(1) + + + def get_parts(self): + + """ Gets the parts from a file line: number code, TStates OPCODE and parameters """ + + while True: + line=self.file_in.readline() + self.line_number+=1 + if line=="": + return None,0,0,"","" + if (line[0]!="#") and (line!="\n"): + break + + if line[-1]=="\n": + line=line[:-1] + l_ncode=int(line[0:2],16) + pos=line[3:].find("\t") # find the separator between the TStates and the OPCODE + if (line[3]=="\t") or (line[3]=="*") or (pos==-1): # if there are no TStates nor OPCODE, its an empty entry + return l_ncode,0,0,"","" + + tstates=line[3:pos+3] + pos2=tstates.find("/") # check if there are two TState values + if pos2==-1: + l_tst1=int(tstates) + l_tst2=int(tstates) + else: + l_tst1=int(tstates[:pos2]) # tstates if the condition is True + l_tst2=int(tstates[pos2+1:]) # tstates if the condition is False + l_opcode=line[pos+4:] + self.curr_instruction=l_opcode + pos=l_opcode.find(" ") + if pos!=-1: # there are parameters + l_params=l_opcode[pos+1:] + l_opcode=l_opcode[:pos] + else: + l_params="" + + return l_ncode,l_tst1,l_tst2,l_opcode,l_params + + + def get_code_from_params(self,params): + + """ Returns the C code to read or write the params, and the code for the condition + Return two lists, an string and an integer. The first list contains the C code to + read each parameter; the second list the C code to write each parameter; the + string returns the string which checks the condition (None if there's no condition) + and the integer indicates when the operators are 8 or 16 bit wide. + + If it finds a set of parameters that can't parse, it prints it and exits + + It uses the virtual method get_code_from_one_param(element,bits) to parse + each parameter + """ + + bits=0 + + if params=="": + return [],[],None,0 + + bits_found=False + list_params=params.split(",") + while bits_found==False: + bits_found=True + read_code=[] + write_code=[] + condition=None + for element in list_params: + # a parameter's bit wide can be ambiguous (like (nn) in LD A,(nn) or + # LD HL,(nn) ) so we try to read it passing the currently known bit wide, + # and the function must returns the true wide if it's unambiguous (like A, HL...) + # the true wide if passed a correct wide, or 0 if the current bit wide is + # unknown and the parameter is ambiguous. So in the case of + # LD A,(nn) we do only one pass to get the wide, but in the case of + # LD (nn),A we do two passes, because the first parameter is ambiguous + # in size + self.curr_bits=bits + self.curr_element=element + nbits,read,write,p_condition=self.get_code_from_one_param(element,bits) + if p_condition!=None: # this parameter is a condition + condition=p_condition + continue + if nbits==0: + bits_found=False + else: + if bits==0: + bits=nbits + if bits!=nbits: + self.show_error("Mixed bit wide parameters (8 and 16 bit parameters in the same line)") + + read_code.append(read) + write_code.append(write) + if (bits==0) and (bits_found==False): + self.show_error("All parameters are ambiguous: "+str(params)) + + return read_code,write_code,condition,bits + + +class z80_parser(generic_parser): + + def __init__(self,filename): + + self.copyright_year="2008-2009" + self.copyright_author="Sergio Costas (Raster Software Vigo)" + self.copyright_program_name="Z80Free" + generic_parser.__init__(self, filename) + + + def get_code_from_one_param(self,element,bits): + + """ Returns nbits,read,write,condition """ + + if element=="AF": + return 16,"processor->Rm.wr.AF","processor->Rm.wr.AF=@DATA@;",None + if element=="AF'": + return 16,"processor->Ra.wr.AF","processor->Ra.wr.AF=@DATA@;",None + if element=="BC": + return 16,"processor->Rm.wr.BC","processor->Rm.wr.BC=@DATA@;",None + if element=="DE": + return 16,"processor->Rm.wr.DE","processor->Rm.wr.DE=@DATA@;",None + if element=="HL": + return 16,"processor->Rm.wr.HL","processor->Rm.wr.HL=@DATA@;",None + if element=="SP": + return 16,"processor->Rm.wr.SP","processor->Rm.wr.SP=@DATA@;",None + + if element=="IX": + return 16,"processor->Rm.wr.IX","processor->Rm.wr.IX=@DATA@;",None + if element=="IY": + return 16,"processor->Rm.wr.IY","processor->Rm.wr.IY=@DATA@;",None + + if element=="(IX+d)": + if bits==0: + return 0,None,None,None + elif bits==8: + if (self.codes=="DDCB") or (self.codes=="FDCB"): + return 8,"Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))","Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),@DATA@);",None + else: + return 8,"Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IX))","Z80free_Wr(Z80free_addr_relative(processor,processor->Rm.wr.IX),@DATA@);",None + + if element=="(IY+d)": + if bits==0: + return 0,None,None,None + elif bits==8: + if (self.codes=="DDCB") or (self.codes=="FDCB"): + return 8,"Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))","Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),@DATA@);",None + else: + return 8,"Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IY))","Z80free_Wr(Z80free_addr_relative(processor,processor->Rm.wr.IY),@DATA@);",None + + if element=="IX+d": + if bits==0: + return 0,None,None,None + elif bits==8: + return 8,"Z80free_addr_relative(processor,processor->Rm.wr.IX)",None,None + + if element=="IY+d": + if bits==0: + return 0,None,None,None + elif bits==8: + return 8,"Z80free_addr_relative(processor,processor->Rm.wr.IY)",None,None + + if element=="b(IX+d)": + if (self.codes=="DDCB") or (self.codes=="FDCB"): + return 8,"Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1))","Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IX,d1),@DATA@);",None + else: + return 8,"Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IX))","Z80free_Wr(Z80free_addr_relative(processor,processor->Rm.wr.IX),@DATA@);",None + + + if element=="b(IY+d)": + if (self.codes=="DDCB") or (self.codes=="FDCB"): + return 8,"Z80free_Rd(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1))","Z80free_Wr(Z80free_addr_relativeXDCB(processor,processor->Rm.wr.IY,d1),@DATA@);",None + else: + return 8,"Z80free_Rd(Z80free_addr_relative(processor,processor->Rm.wr.IY))","Z80free_Wr(Z80free_addr_relative(processor,processor->Rm.wr.IY),@DATA@);",None + + if element=="nn": + return 16,"Z80free_read_param_16(processor)",None,None + if element=="n": + return 8,"Z80free_read_param_8(processor)",None,None + + if element=="(nn)": + if bits==0: + return 0,None,None,None + elif bits==8: + return 8,"Z80free_Rd(Z80free_read_param_16(processor))","Z80free_Wr(Z80free_read_param_16(processor),@DATA@);",None + elif bits==16: + return 16,"Z80free_read16(Z80free_read_param_16(processor))","Z80free_write16(Z80free_read_param_16(processor),@DATA@);",None + + if element=="(BC)": + if bits==0: + return 0,None,None,None + elif bits==8: + return 8,"Z80free_Rd(processor->Rm.wr.BC)","Z80free_Wr(processor->Rm.wr.BC,@DATA@);",None + elif bits==16: + return 16,"Z80free_read16(processor->Rm.wr.BC)","Z80free_write16(processor->Rm.wr.BC,@DATA@);",None + if element=="(DE)": + if bits==0: + return 0,None,None,None + elif bits==8: + return 8,"Z80free_Rd(processor->Rm.wr.DE)","Z80free_Wr(processor->Rm.wr.DE,@DATA@);",None + elif bits==16: + return 16,"Z80free_read16(processor->Rm.wr.DE)","Z80free_write16(processor->Rm.wr.DE,@DATA@);",None + if element=="(HL)": + if bits==0: + return 0,None,None,None + elif bits==8: + return 8,"Z80free_Rd(processor->Rm.wr.HL)","Z80free_Wr(processor->Rm.wr.HL,@DATA@);",None + elif bits==16: + return 16,"Z80free_read16(processor->Rm.wr.HL)","Z80free_write16(processor->Rm.wr.HL,@DATA@);",None + if element=="(SP)": + if bits==0: + return 0,None,None,None + elif bits==16: + return 16,"Z80free_read16(processor->Rm.wr.SP)","Z80free_write16(processor->Rm.wr.SP,@DATA@);",None + if element=="b(HL)": + return 8,"Z80free_Rd(processor->Rm.wr.HL)","Z80free_Wr(processor->Rm.wr.HL,@DATA@);",None + + if element=="I": + return 8,"Z80free_readI(processor)","processor->I=@DATA@;",None + if element=="R": + return 8,"Z80free_readR(processor)","Z80free_setR(processor,@DATA@);",None + + if element=="A": + return 8,"processor->Rm.br.A","processor->Rm.br.A=@DATA@;",None + if element=="B": + return 8,"processor->Rm.br.B","processor->Rm.br.B=@DATA@;",None + if element=="C": + return 8,"processor->Rm.br.C","processor->Rm.br.C=@DATA@;",None + if element=="D": + return 8,"processor->Rm.br.D","processor->Rm.br.D=@DATA@;",None + if element=="E": + return 8,"processor->Rm.br.E","processor->Rm.br.E=@DATA@;",None + if element=="H": + return 8,"processor->Rm.br.H","processor->Rm.br.H=@DATA@;",None + if element=="L": + return 8,"processor->Rm.br.L","processor->Rm.br.L=@DATA@;",None + if element=="IXH": + return 8,"processor->Rm.br.IXh","processor->Rm.br.IXh=@DATA@;",None + if element=="IXL": + return 8,"processor->Rm.br.IXl","processor->Rm.br.IXl=@DATA@;",None + if element=="IYH": + return 8,"processor->Rm.br.IYh","processor->Rm.br.IYh=@DATA@;",None + if element=="IYL": + return 8,"processor->Rm.br.IYl","processor->Rm.br.IYl=@DATA@;",None + + if element=="0H": + return 16,"0",None,None + if element=="0": + return 8,"0",None,None + if element=="1": + return 8,"1",None,None + if element=="2": + return 8,"2",None,None + if element=="3": + return 8,"3",None,None + if element=="4": + return 8,"4",None,None + if element=="5": + return 8,"5",None,None + if element=="6": + return 8,"6",None,None + if element=="7": + return 8,"7",None,None + if element=="8H": + return 16,"8",None,None + if element=="10H": + return 16,"16",None,None + if element=="18H": + return 16,"24",None,None + if element=="20H": + return 16,"32",None,None + if element=="28H": + return 16,"40",None,None + if element=="30H": + return 16,"48",None,None + if element=="38H": + return 16,"56",None,None + + if element=="NZ": + return 0,None,None,"(0==(F_Z&processor->Rm.br.F))" + if element=="Z": + return 0,None,None,"(F_Z&processor->Rm.br.F)" + if element=="NC": + return 0,None,None,"(0==(F_C&processor->Rm.br.F))" + if element=="CF": + return 0,None,None,"(F_C&processor->Rm.br.F)" + if element=="PO": + return 0,None,None,"(0==(F_PV&processor->Rm.br.F))" + if element=="PE": + return 0,None,None,"(F_PV&processor->Rm.br.F)" + if element=="P": + return 0,None,None,"(0==(F_S&processor->Rm.br.F))" + if element=="M": + return 0,None,None,"(F_S&processor->Rm.br.F)" + + self.unknown_param() + + + def create_code(self,ncode,tst1,tst2,opcode,code_read,code_write,condition,bits): + + """ Returns True if it has written the RETURN for returning the TStates """ + + if opcode=="NOP": + return False + + if opcode=="LD2": + self.file_out.write("\t\ttmp2="+code_read[0]+";\n") + self.file_out.write("\t\tZ80free_Wr(tmp2,"+code_read[1]+");\n") + return False + + if opcode=="LD": + self.file_out.write("\t\t"+code_write[0].replace("@DATA@",code_read[1])+"\n") + return False + + if opcode=="INC": + if bits==16: + self.file_out.write("\t\t"+code_write[0].replace("@DATA@","Z80free_doIncDec16(processor,"+code_read[0]+",0)")+"\n") + return False + elif bits==8: + self.file_out.write("\t\t"+code_write[0].replace("@DATA@","Z80free_doIncDec(processor,"+code_read[0]+",0)")+"\n") + return False + + if opcode=="DEC": + if bits==16: + self.file_out.write("\t\t"+code_write[0].replace("@DATA@","Z80free_doIncDec16(processor,"+code_read[0]+",1)")+"\n") + return False + elif bits==8: + self.file_out.write("\t\t"+code_write[0].replace("@DATA@","Z80free_doIncDec(processor,"+code_read[0]+",1)")+"\n") + return False + + if opcode=="RLCA": + self.file_out.write("\t\tprocessor->Rm.br.A=Z80free_doRLC(processor,0,processor->Rm.br.A);\n") + return False + + if opcode=="RRCA": + self.file_out.write("\t\tprocessor->Rm.br.A=Z80free_doRRC(processor,0,processor->Rm.br.A);\n") + return False + + if opcode=="EX": + self.file_out.write("\t\ttmp2="+code_read[0]+";\n") + self.file_out.write("\t\t"+code_write[0].replace("@DATA@",code_read[1])+"\n") + self.file_out.write("\t\t"+code_write[1].replace("@DATA@","tmp2")+"\n") + return False + + if opcode=="ADD": + if bits==16: + data="Z80free_doArithmetic16(processor,"+code_read[0]+","+code_read[1]+",0,0)" + self.file_out.write("\t\t"+code_write[0].replace("@DATA@",data)+"\n") + return False + elif bits==8: + data="Z80free_doArithmetic(processor,"+code_read[0]+","+code_read[1]+",0,0)" + self.file_out.write("\t\t"+code_write[0].replace("@DATA@",data)+"\n") + return False + + if opcode=="ADC": + if bits==16: + data="Z80free_doArithmetic16(processor,"+code_read[0]+","+code_read[1]+",1,0)" + self.file_out.write("\t\t"+code_write[0].replace("@DATA@",data)+"\n") + return False + elif bits==8: + data="Z80free_doArithmetic(processor,"+code_read[0]+","+code_read[1]+",1,0)" + self.file_out.write("\t\t"+code_write[0].replace("@DATA@",data)+"\n") + return False + + if opcode=="SUB": + if bits==16: + data="Z80free_doArithmetic16(processor,"+code_read[0]+","+code_read[1]+",0,1)" + self.file_out.write("\t\t"+code_write[0].replace("@DATA@",data)+"\n") + return False + elif bits==8: + data="Z80free_doArithmetic(processor,processor->Rm.br.A,"+code_read[0]+",0,1)" + self.file_out.write("\t\tprocessor->Rm.br.A="+data+";\n") + return False + + if opcode=="SBC": + if bits==16: + data="Z80free_doArithmetic16(processor,"+code_read[0]+","+code_read[1]+",1,1)" + self.file_out.write("\t\t"+code_write[0].replace("@DATA@",data)+"\n") + return False + elif bits==8: + data="Z80free_doArithmetic(processor,"+code_read[0]+","+code_read[1]+",1,1)" + self.file_out.write("\t\t"+code_write[0].replace("@DATA@",data)+"\n") + return False + + if opcode=="DJNZ": + self.file_out.write("\t\ttmp1="+code_read[0]+";\n") + self.file_out.write("\t\tprocessor->Rm.br.B--;\n") + self.file_out.write("\t\tif (processor->Rm.br.B) {\n") + self.file_out.write("\t\t\tZ80free_jump_relative(processor,tmp1);\n") + self.file_out.write("\t\t\treturn ("+str(tst1)+");\n") + self.file_out.write("\t\t} else {\n") + self.file_out.write("\t\t\treturn ("+str(tst2)+");\n") + self.file_out.write("\t\t}\n") + return True + + if opcode=="RLA": + self.file_out.write("\t\tprocessor->Rm.br.A=Z80free_doRL(processor,0,processor->Rm.br.A);\n") + return False + + if opcode=="RRA": + self.file_out.write("\t\tprocessor->Rm.br.A=Z80free_doRR(processor,0,processor->Rm.br.A);\n") + return False + + if opcode=="DAA": + self.file_out.write("\t\tZ80free_doDAA(processor);\n") + return False + + if opcode=="CPL": + self.file_out.write("\t\tprocessor->Rm.br.A=255-processor->Rm.br.A;\n") + self.file_out.write("\t\tZ80free_adjustFlags(processor,processor->Rm.br.A);\n") + self.file_out.write("\t\tZ80free_setFlag(processor,F_H);\n") + self.file_out.write("\t\tZ80free_setFlag(processor,F_N);\n") + return False + + if opcode=="SCF": + self.file_out.write("\t\tZ80free_setFlag(processor,F_C);\n") + self.file_out.write("\t\tZ80free_resFlag(processor,F_H);\n") + self.file_out.write("\t\tZ80free_resFlag(processor,F_N);\n") + self.file_out.write("\t\tZ80free_adjustFlags(processor,processor->Rm.br.A);\n") + return False + + if opcode=="CCF": + self.file_out.write("\t\tZ80free_valFlag(processor,F_C,(~processor->Rm.br.F)&F_C);\n") + self.file_out.write("\t\tZ80free_resFlag(processor,F_N);\n") + self.file_out.write("\t\tZ80free_adjustFlags(processor,processor->Rm.br.A);\n") + return False + + if opcode=="HALT": + self.file_out.write("\t\tprocessor->PC--;\n") + self.file_out.write("\t\tprocessor->HALT=1;\n") + return False + + if opcode=="AND": + if bits==8: + self.file_out.write("\t\tZ80free_doAND(processor,"+code_read[0]+");\n") + return False + + if opcode=="OR": + if bits==8: + self.file_out.write("\t\tZ80free_doOR(processor,"+code_read[0]+");\n") + return False + + if opcode=="XOR": + if bits==8: + self.file_out.write("\t\tZ80free_doXOR(processor,"+code_read[0]+");\n") + return False + + if opcode=="CP": + if bits==8: + self.file_out.write("\t\ttmp1="+code_read[0]+";\n") + self.file_out.write("\t\tZ80free_doArithmetic(processor,processor->Rm.br.A,tmp1,0,1);\n") + self.file_out.write("\t\tZ80free_adjustFlags(processor,tmp1);\n") + return False + + if opcode=="JR": + self.file_out.write("\t\ttmp1="+code_read[0]+";\n") + if condition==None: # no condition, always jump + self.file_out.write("\t\tZ80free_jump_relative(processor,tmp1);\n") + return False + else: + self.file_out.write("\t\tif "+condition+" {\n") + self.file_out.write("\t\t\tZ80free_jump_relative(processor,tmp1);\n") + self.file_out.write("\t\t\treturn ("+str(tst1)+");\n") + self.file_out.write("\t\t} else {\n") + self.file_out.write("\t\t\treturn ("+str(tst2)+");\n") + self.file_out.write("\t\t}\n") + return True + + if opcode=="RET": + if condition==None: + self.file_out.write("\t\tprocessor->PC=Z80free_doPop(processor);\n") + return False + else: + self.file_out.write("\t\tif "+condition+" {\n") + self.file_out.write("\t\t\tprocessor->PC=Z80free_doPop(processor);\n") + self.file_out.write("\t\t\treturn ("+str(tst1)+");\n") + self.file_out.write("\t\t} else {\n") + self.file_out.write("\t\t\treturn ("+str(tst2)+");\n") + self.file_out.write("\t\t}\n") + return True + + if opcode=="POP": + self.file_out.write("\t\t"+code_write[0].replace("@DATA@","Z80free_doPop(processor)")+"\n") + return False + + if opcode=="JP": + self.file_out.write("\t\ttmp2="+code_read[0]+";\n") + if condition==None: + self.file_out.write("\t\tprocessor->PC=tmp2;\n") + return False + else: + self.file_out.write("\t\tif "+condition+" {\n") + self.file_out.write("\t\t\tprocessor->PC=tmp2;\n") + self.file_out.write("\t\t\treturn ("+str(tst1)+");\n") + self.file_out.write("\t\t} else {\n") + self.file_out.write("\t\t\treturn ("+str(tst2)+");\n") + self.file_out.write("\t\t}\n") + return True + + if opcode=="CALL": + self.file_out.write("\t\ttmp2="+code_read[0]+";\n") + if condition==None: + self.file_out.write("\t\tZ80free_doPush(processor,processor->PC);\n") + self.file_out.write("\t\tprocessor->PC=tmp2;\n") + return False + else: + self.file_out.write("\t\tif "+condition+" {\n") + self.file_out.write("\t\t\tZ80free_doPush(processor,processor->PC);\n") + self.file_out.write("\t\t\tprocessor->PC=tmp2;\n") + self.file_out.write("\t\t\treturn ("+str(tst1)+");\n") + self.file_out.write("\t\t} else {\n") + self.file_out.write("\t\t\treturn ("+str(tst2)+");\n") + self.file_out.write("\t\t}\n") + return True + + if opcode=="PUSH": + self.file_out.write("\t\tZ80free_doPush(processor,"+code_read[0]+");\n") + return False + + if opcode=="RST": + self.file_out.write("\t\tZ80free_doPush(processor,processor->PC);\n") + self.file_out.write("\t\tprocessor->PC="+code_read[0]+";\n") + return False + + if opcode=="EXX": + self.file_out.write("\t\ttmp2=processor->Rm.wr.BC;\n") + self.file_out.write("\t\tprocessor->Rm.wr.BC=processor->Ra.wr.BC;\n") + self.file_out.write("\t\tprocessor->Ra.wr.BC=tmp2;\n") + self.file_out.write("\t\ttmp2=processor->Rm.wr.DE;\n") + self.file_out.write("\t\tprocessor->Rm.wr.DE=processor->Ra.wr.DE;\n") + self.file_out.write("\t\tprocessor->Ra.wr.DE=tmp2;\n") + self.file_out.write("\t\ttmp2=processor->Rm.wr.HL;\n") + self.file_out.write("\t\tprocessor->Rm.wr.HL=processor->Ra.wr.HL;\n") + self.file_out.write("\t\tprocessor->Ra.wr.HL=tmp2;\n") + return False + + if opcode=="IN": + if bits==8: + self.file_out.write("\t\ttmp2=((word)processor->Rm.br.A)<<8;\n") + self.file_out.write("\t\tprocessor->Rm.br.A=Z80free_In(tmp2+((word)Z80free_read_param_8(processor)));\n") + return False + + if opcode=="IN_BC": + if bits==8: + self.file_out.write("\t\t"+code_write[0].replace("@DATA@","Z80free_In(processor->Rm.wr.BC)")+"\n") + self.file_out.write("\t\tZ80free_adjustFlagSZP (processor,"+code_read[0]+");\n") + self.file_out.write("\t\tZ80free_resFlag(processor,F_H|F_N);\n") + return False + elif bits==0: + self.file_out.write("\t\ttmp1=Z80free_In(processor->Rm.wr.BC);\n") + self.file_out.write("\t\tZ80free_adjustFlagSZP (processor,tmp1);\n") + self.file_out.write("\t\tZ80free_resFlag(processor,F_H|F_N);\n") + return False + + if opcode=="OUT": + if bits==8: + self.file_out.write("\t\ttmp1=processor->Rm.br.A;\n") + self.file_out.write("\t\ttmp2=((word)tmp1)<<8;\n") + self.file_out.write("\t\tZ80free_Out(tmp2+((word)Z80free_read_param_8(processor)),tmp1);\n") + return False + + + if opcode=="OUT_BC": + if bits==8: + self.file_out.write("\t\tZ80free_Out(processor->Rm.wr.BC,"+code_read[0]+");\n") + return False + + if opcode=="DI": + self.file_out.write("\t\tprocessor->IFF1=0;\n") + self.file_out.write("\t\tprocessor->IFF2=0;\n") + return False + + if opcode=="EI": + self.file_out.write("\t\tprocessor->IFF1=2; /* this allows to delay one instruction the interrupts*/\n") + self.file_out.write("\t\tprocessor->IFF2=1;\n") + return False + + if opcode=="NEG": + self.file_out.write("\t\tprocessor->Rm.br.A=Z80free_doArithmetic(processor,0,processor->Rm.br.A,0,1);\n") + return False + + if opcode=="RETN": + self.file_out.write("\t\tprocessor->IFF1=(processor->IFF2 ? 2 : 0);\n") + self.file_out.write("\t\tprocessor->PC=Z80free_doPop(processor);\n") + return False + + if opcode=="RETI": + self.file_out.write("\t\tprocessor->IFF1=2;\n") + self.file_out.write("\t\tprocessor->IFF2=1;\n") + self.file_out.write("\t\tprocessor->PC=Z80free_doPop(processor);\n") + return False + + if opcode=="IM": + self.file_out.write("\t\tprocessor->IM="+code_read[0]+";\n") + return False + + if opcode=="RLD": + self.file_out.write("\t\tZ80free_doRLD(processor);\n") + return False + + if opcode=="RRD": + self.file_out.write("\t\tZ80free_doRRD(processor);\n") + return False + + if opcode=="LDI": + self.file_out.write("\t\ttmp1=Z80free_Rd(processor->Rm.wr.HL++);\n") + self.file_out.write("\t\tZ80free_Wr(processor->Rm.wr.DE++,tmp1);\n") + self.file_out.write("\t\ttmp1+=processor->Rm.br.A;\n") + self.file_out.write("\t\tZ80free_valFlag(processor,F_3,tmp1&0x08);\n") + self.file_out.write("\t\tZ80free_valFlag(processor,F_5,tmp1&0x02);\n") + self.file_out.write("\t\tprocessor->Rm.wr.BC--;\n") + self.file_out.write("\t\tZ80free_resFlag(processor,F_H|F_N);\n") + self.file_out.write("\t\tif (processor->Rm.wr.BC)\n") + self.file_out.write("\t\t\tZ80free_setFlag(processor,F_PV);\n") + self.file_out.write("\t\telse\n") + self.file_out.write("\t\t\tZ80free_resFlag(processor,F_PV);\n") + return False + + if opcode=="CPI": + self.file_out.write("\t\ttmp2=F_C&processor->Rm.br.F;\n") + self.file_out.write("\t\ttmp1=Z80free_doArithmetic(processor,processor->Rm.br.A,Z80free_Rd(processor->Rm.wr.HL++),0,1);\n") + self.file_out.write("\t\tif (processor->Rm.br.F&F_H)\n") + self.file_out.write("\t\t\ttmp1--;\n") + self.file_out.write("\t\tZ80free_valFlag(processor,F_3,tmp1&0x08);\n") + self.file_out.write("\t\tZ80free_valFlag(processor,F_5,tmp1&0x02);\n") + self.file_out.write("\t\tZ80free_setFlag(processor,F_N);\n") + self.file_out.write("\t\tZ80free_valFlag(processor,F_C,tmp2);\n") + self.file_out.write("\t\tprocessor->Rm.wr.BC--;\n") + self.file_out.write("\t\tif (processor->Rm.wr.BC)\n") + self.file_out.write("\t\t\tZ80free_setFlag(processor,F_PV);\n") + self.file_out.write("\t\telse\n") + self.file_out.write("\t\t\tZ80free_resFlag(processor,F_PV);\n") + return False + + if opcode=="INI": + self.file_out.write("\t\t/*INI, IND, INIR and INDR first decrement B and then uses it*/\n") + self.file_out.write("\t\tZ80free_Wr(processor->Rm.wr.HL,Z80free_In(processor->Rm.wr.BC));\n") + self.file_out.write("\t\tprocessor->Rm.wr.HL++;\n") + self.file_out.write("\t\tprocessor->Rm.br.B=Z80free_doIncDec(processor,processor->Rm.br.B,1);\n") + self.file_out.write("\t\tZ80free_valFlag(processor,F_N, 1);\n") + self.file_out.write("\t\tZ80free_valFlag(processor,F_Z, (processor->Rm.br.B == 0));\n") + return False + + if opcode=="OUTI": + self.file_out.write("\t\t/*OUTI, OUTD, OTIR and OTDR first uses B and then decrement it*/\n") + self.file_out.write("\t\tZ80free_Out(processor->Rm.wr.BC,Z80free_Rd(processor->Rm.wr.HL));\n") + self.file_out.write("\t\tprocessor->Rm.wr.HL++;\n") + self.file_out.write("\t\tprocessor->Rm.br.B=Z80free_doIncDec(processor,processor->Rm.br.B,1);\n") + return False + + if opcode=="LDD": + self.file_out.write("\t\ttmp1=Z80free_Rd(processor->Rm.wr.HL--);\n") + self.file_out.write("\t\tZ80free_Wr(processor->Rm.wr.DE--,tmp1);\n") + self.file_out.write("\t\ttmp1+=processor->Rm.br.A;\n") + self.file_out.write("\t\tZ80free_valFlag(processor,F_3,tmp1&0x08);\n") + self.file_out.write("\t\tZ80free_valFlag(processor,F_5,tmp1&0x02);\n") + self.file_out.write("\t\tprocessor->Rm.wr.BC--;\n") + self.file_out.write("\t\tZ80free_resFlag(processor,F_H|F_N);\n") + self.file_out.write("\t\tif (processor->Rm.wr.BC)\n") + self.file_out.write("\t\t\tZ80free_setFlag(processor,F_PV);\n") + self.file_out.write("\t\telse\n") + self.file_out.write("\t\t\tZ80free_resFlag(processor,F_PV);\n") + return False + + if opcode=="CPD": + self.file_out.write("\t\ttmp2=F_C&processor->Rm.br.F;\n") + self.file_out.write("\t\ttmp1=Z80free_doArithmetic(processor,processor->Rm.br.A,Z80free_Rd(processor->Rm.wr.HL--),0,1);\n") + self.file_out.write("\t\tif (processor->Rm.br.F&F_H)\n") + self.file_out.write("\t\t\ttmp1--;\n") + self.file_out.write("\t\tZ80free_valFlag(processor,F_3,tmp1&0x08);\n") + self.file_out.write("\t\tZ80free_valFlag(processor,F_5,tmp1&0x02);\n") + self.file_out.write("\t\tZ80free_setFlag(processor,F_N);\n") + self.file_out.write("\t\tZ80free_valFlag(processor,F_C,tmp2);\n") + self.file_out.write("\t\tprocessor->Rm.wr.BC--;\n") + self.file_out.write("\t\tif (processor->Rm.wr.BC)\n") + self.file_out.write("\t\t\tZ80free_setFlag(processor,F_PV);\n") + self.file_out.write("\t\telse\n") + self.file_out.write("\t\t\tZ80free_resFlag(processor,F_PV);\n") + return False + + if opcode=="IND": + self.file_out.write("\t\tZ80free_Wr(processor->Rm.wr.HL,Z80free_In(processor->Rm.wr.BC));\n") + self.file_out.write("\t\tprocessor->Rm.br.B=Z80free_doIncDec(processor,processor->Rm.br.B,1);\n") + self.file_out.write("\t\tprocessor->Rm.wr.HL--;\n") + return False + + if opcode=="OUTD": + self.file_out.write("\t\tZ80free_Out(processor->Rm.wr.BC,Z80free_Rd(processor->Rm.wr.HL));\n") + self.file_out.write("\t\tprocessor->Rm.wr.HL--;\n") + self.file_out.write("\t\tprocessor->Rm.br.B=Z80free_doIncDec(processor,processor->Rm.br.B,1);\n") + return False + + if opcode=="LDIR": + self.file_out.write("\t\ttmp1=Z80free_Rd(processor->Rm.wr.HL++);\n") + self.file_out.write("\t\tZ80free_Wr(processor->Rm.wr.DE++,tmp1);\n") + self.file_out.write("\t\tprocessor->Rm.wr.BC--;\n") + self.file_out.write("\t\tif (processor->Rm.wr.BC) {\n") + self.file_out.write("\t\t\tprocessor->PC-=2;\n") + self.file_out.write("\t\t\treturn ("+str(tst1)+");\n") + self.file_out.write("\t\t} else {\n") + self.file_out.write("\t\t\tZ80free_resFlag(processor,F_H|F_N|F_PV);\n") + self.file_out.write("\t\ttmp1+=processor->Rm.br.A;\n") + self.file_out.write("\t\tZ80free_valFlag(processor,F_3,tmp1&0x08);\n") + self.file_out.write("\t\tZ80free_valFlag(processor,F_5,tmp1&0x02);\n") + self.file_out.write("\t\t\treturn ("+str(tst2)+");\n") + self.file_out.write("\t\t}\n") + return True + + if opcode=="CPIR": + self.file_out.write("\t\ttmp2=F_C&processor->Rm.br.F;\n") + self.file_out.write("\t\tZ80free_doArithmetic(processor,processor->Rm.br.A,Z80free_Rd(processor->Rm.wr.HL++),0,1);\n") + self.file_out.write("\t\tprocessor->Rm.wr.BC--;\n") + self.file_out.write("\t\tif ((processor->Rm.wr.BC)&&(!(processor->Rm.br.F&F_Z))) {\n") + self.file_out.write("\t\t\tprocessor->PC-=2;\n") + self.file_out.write("\t\t\treturn ("+str(tst1)+");\n") + self.file_out.write("\t\t} else {\n") + self.file_out.write("\t\t\tZ80free_resFlag(processor,F_H|F_N|F_PV|F_3|F_5);\n") + self.file_out.write("\t\tZ80free_valFlag(processor,F_C,tmp2);\n") + self.file_out.write("\t\t\treturn ("+str(tst2)+");\n") + self.file_out.write("\t\t}\n") + return True + + if opcode=="INIR": + self.file_out.write("\t\tZ80free_Wr(processor->Rm.wr.HL,Z80free_In(processor->Rm.wr.BC));\n") + self.file_out.write("\t\tprocessor->Rm.br.B=Z80free_doIncDec(processor,processor->Rm.br.B,1);\n") + self.file_out.write("\t\tprocessor->Rm.wr.HL++;\n") + self.file_out.write("\t\tif (processor->Rm.br.B) {\n") + self.file_out.write("\t\t\tprocessor->PC-=2;\n") + self.file_out.write("\t\t\treturn ("+str(tst1)+");\n") + self.file_out.write("\t\t} else {\n") + self.file_out.write("\t\t\treturn ("+str(tst2)+");\n") + self.file_out.write("\t\t}\n") + return True + + if opcode=="OTIR": + self.file_out.write("\t\tZ80free_Out(processor->Rm.wr.BC,Z80free_Rd(processor->Rm.wr.HL));\n") + self.file_out.write("\t\tprocessor->Rm.wr.HL++;\n") + self.file_out.write("\t\tprocessor->Rm.br.B=Z80free_doIncDec(processor,processor->Rm.br.B,1);\n") + self.file_out.write("\t\tif (processor->Rm.br.B) {\n") + self.file_out.write("\t\t\tprocessor->PC-=2;\n") + self.file_out.write("\t\t\treturn ("+str(tst1)+");\n") + self.file_out.write("\t\t} else {\n") + self.file_out.write("\t\t\treturn ("+str(tst2)+");\n") + self.file_out.write("\t\t}\n") + return True + + if opcode=="LDDR": + self.file_out.write("\t\ttmp1=Z80free_Rd(processor->Rm.wr.HL--);\n") + self.file_out.write("\t\tZ80free_Wr(processor->Rm.wr.DE--,tmp1);\n") + self.file_out.write("\t\tprocessor->Rm.wr.BC--;\n") + self.file_out.write("\t\tif (processor->Rm.wr.BC) {\n") + self.file_out.write("\t\t\tprocessor->PC-=2;\n") + self.file_out.write("\t\t\treturn ("+str(tst1)+");\n") + self.file_out.write("\t\t} else {\n") + self.file_out.write("\t\t\tZ80free_resFlag(processor,F_H|F_N|F_PV);\n") + self.file_out.write("\t\ttmp1+=processor->Rm.br.A;\n") + self.file_out.write("\t\tZ80free_valFlag(processor,F_3,tmp1&0x08);\n") + self.file_out.write("\t\tZ80free_valFlag(processor,F_5,tmp1&0x02);\n") + self.file_out.write("\t\t\treturn ("+str(tst2)+");\n") + self.file_out.write("\t\t}\n") + return True + + if opcode=="CPDR": + self.file_out.write("\t\ttmp2=F_C&processor->Rm.br.F;\n") + self.file_out.write("\t\tZ80free_doArithmetic(processor,processor->Rm.br.A,Z80free_Rd(processor->Rm.wr.HL--),0,1);\n") + self.file_out.write("\t\tprocessor->Rm.wr.BC--;\n") + self.file_out.write("\t\tif ((processor->Rm.wr.BC)&&(!(processor->Rm.br.F&F_Z))) {\n") + self.file_out.write("\t\t\tprocessor->PC-=2;\n") + self.file_out.write("\t\t\treturn ("+str(tst1)+");\n") + self.file_out.write("\t\t} else {\n") + self.file_out.write("\t\t\tZ80free_resFlag(processor,F_H|F_N|F_PV|F_3|F_5);\n") + self.file_out.write("\t\tZ80free_valFlag(processor,F_C,tmp2);\n") + self.file_out.write("\t\t\treturn ("+str(tst2)+");\n") + self.file_out.write("\t\t}\n") + return True + + if opcode=="INDR": + self.file_out.write("\t\tZ80free_Wr(processor->Rm.wr.HL,Z80free_In(processor->Rm.wr.BC));\n") + self.file_out.write("\t\tprocessor->Rm.br.B=Z80free_doIncDec(processor,processor->Rm.br.B,1);\n") + self.file_out.write("\t\tprocessor->Rm.wr.HL--;\n") + self.file_out.write("\t\tif (processor->Rm.br.B) {\n") + self.file_out.write("\t\t\tprocessor->PC-=2;\n") + self.file_out.write("\t\t\treturn ("+str(tst1)+");\n") + self.file_out.write("\t\t} else {\n") + self.file_out.write("\t\t\treturn ("+str(tst2)+");\n") + self.file_out.write("\t\t}\n") + return True + + if opcode=="OTDR": + self.file_out.write("\t\tZ80free_Out(processor->Rm.wr.BC,Z80free_Rd(processor->Rm.wr.HL));\n") + self.file_out.write("\t\tprocessor->Rm.wr.HL--;\n") + self.file_out.write("\t\tprocessor->Rm.br.B=Z80free_doIncDec(processor,processor->Rm.br.B,1);\n") + self.file_out.write("\t\tif (processor->Rm.br.B) {\n") + self.file_out.write("\t\t\tprocessor->PC-=2;\n") + self.file_out.write("\t\t\treturn ("+str(tst1)+");\n") + self.file_out.write("\t\t} else {\n") + self.file_out.write("\t\t\treturn ("+str(tst2)+");\n") + self.file_out.write("\t\t}\n") + return True + + if opcode=="RLC": + self.file_out.write("\t\t"+code_write[0].replace("@DATA@","Z80free_doRLC(processor,1,"+code_read[0]+")")+"\n") + return False + + if opcode=="LD_RLC": + self.file_out.write("\t\ttmp1=Z80free_doRLC(processor,1,"+code_read[1]+");\n") + self.file_out.write("\t\t"+code_write[0].replace("@DATA@","tmp1")+"\n") + self.file_out.write("\t\t"+code_write[1].replace("@DATA@","tmp1")+"\n") + return False + + if opcode=="RRC": + self.file_out.write("\t\t"+code_write[0].replace("@DATA@","Z80free_doRRC(processor,1,"+code_read[0]+")")+"\n") + return False + + if opcode=="LD_RRC": + self.file_out.write("\t\ttmp1=Z80free_doRRC(processor,1,"+code_read[1]+");\n") + self.file_out.write("\t\t"+code_write[0].replace("@DATA@","tmp1")+"\n") + self.file_out.write("\t\t"+code_write[1].replace("@DATA@","tmp1")+"\n") + return False + + if opcode=="RL": + self.file_out.write("\t\t"+code_write[0].replace("@DATA@","Z80free_doRL(processor,1,"+code_read[0]+")")+"\n") + return False + + if opcode=="LD_RL": + self.file_out.write("\t\ttmp1=Z80free_doRL(processor,1,"+code_read[1]+");\n") + self.file_out.write("\t\t"+code_write[0].replace("@DATA@","tmp1")+"\n") + self.file_out.write("\t\t"+code_write[1].replace("@DATA@","tmp1")+"\n") + return False + + if opcode=="RR": + self.file_out.write("\t\t"+code_write[0].replace("@DATA@","Z80free_doRR(processor,1,"+code_read[0]+")")+"\n") + return False + + if opcode=="LD_RR": + self.file_out.write("\t\ttmp1=Z80free_doRR(processor,1,"+code_read[1]+");\n") + self.file_out.write("\t\t"+code_write[0].replace("@DATA@","tmp1")+"\n") + self.file_out.write("\t\t"+code_write[1].replace("@DATA@","tmp1")+"\n") + return False + + if opcode=="SLA": + self.file_out.write("\t\t"+code_write[0].replace("@DATA@","Z80free_doSL(processor,0,"+code_read[0]+")")+"\n") + return False + + if opcode=="LD_SLA": + self.file_out.write("\t\ttmp1=Z80free_doSL(processor,0,"+code_read[1]+");\n") + self.file_out.write("\t\t"+code_write[0].replace("@DATA@","tmp1")+"\n") + self.file_out.write("\t\t"+code_write[1].replace("@DATA@","tmp1")+"\n") + return False + + if opcode=="SRA": + self.file_out.write("\t\t"+code_write[0].replace("@DATA@","Z80free_doSR(processor,1,"+code_read[0]+")")+"\n") + return False + + if opcode=="LD_SRA": + self.file_out.write("\t\ttmp1=Z80free_doSR(processor,1,"+code_read[1]+");\n") + self.file_out.write("\t\t"+code_write[0].replace("@DATA@","tmp1")+"\n") + self.file_out.write("\t\t"+code_write[1].replace("@DATA@","tmp1")+"\n") + return False + + if opcode=="SLL": + self.file_out.write("\t\t"+code_write[0].replace("@DATA@","Z80free_doSL(processor,1,"+code_read[0]+")")+"\n") + return False + + if opcode=="LD_SLL": + self.file_out.write("\t\ttmp1=Z80free_doSL(processor,1,"+code_read[1]+");\n") + self.file_out.write("\t\t"+code_write[0].replace("@DATA@","tmp1")+"\n") + self.file_out.write("\t\t"+code_write[1].replace("@DATA@","tmp1")+"\n") + return False + + if opcode=="SRL": + self.file_out.write("\t\t"+code_write[0].replace("@DATA@","Z80free_doSR(processor,0,"+code_read[0]+")")+"\n") + return False + + if opcode=="LD_SRL": + self.file_out.write("\t\ttmp1=Z80free_doSR(processor,0,"+code_read[1]+");\n") + self.file_out.write("\t\t"+code_write[0].replace("@DATA@","tmp1")+"\n") + self.file_out.write("\t\t"+code_write[1].replace("@DATA@","tmp1")+"\n") + return False + + if opcode=="BIT": + self.file_out.write("\t\tZ80free_doBIT(processor,"+code_read[0]+","+code_read[1]+");\n") + return False + + if opcode=="RES": + self.file_out.write("\t\t"+code_write[1].replace("@DATA@","Z80free_doSetRes(processor,0,"+code_read[0]+","+code_read[1]+")")+"\n") + return False + + if opcode=="LD_RES": + self.file_out.write("\t\ttmp1=Z80free_doSetRes(processor,0,"+code_read[1]+","+code_read[2]+");\n") + self.file_out.write("\t\t"+code_write[2].replace("@DATA@","tmp1")+"\n") + self.file_out.write("\t\t"+code_write[0].replace("@DATA@","tmp1")+"\n") + return False + + if opcode=="SET": + self.file_out.write("\t\t"+code_write[1].replace("@DATA@","Z80free_doSetRes(processor,1,"+code_read[0]+","+code_read[1]+")")+"\n") + return False + + if opcode=="LD_SET": + self.file_out.write("\t\ttmp1=Z80free_doSetRes(processor,1,"+code_read[1]+","+code_read[2]+");\n") + self.file_out.write("\t\t"+code_write[2].replace("@DATA@","tmp1")+"\n") + self.file_out.write("\t\t"+code_write[0].replace("@DATA@","tmp1")+"\n") + return False + + if opcode=="DEFAULT": + self.file_out.write("\t\treturn (Z80free_codes(processor,opcode));\n") + return True + + self.unknown_opcode() + + +class parser_XX(z80_parser): + + def __init__(self,filename): + + self.codes="XX" + z80_parser.__init__(self,filename) + + + def write_start_code(self): + + """ Writes the first part of the C code for the file """ + + self.file_out.write('#include "Z80free.h"\n\n') + self.file_out.write('int '+self.filename+' (Z80FREE *processor,byte opcode) {\n') + self.file_out.write('\tstatic byte tmp1;\n') + self.file_out.write('\tstatic word tmp2;\n') + self.file_out.write('\n') + + + def write_end_code(self): + + """ writes the last part of the C code for the file """ + + self.file_out.write('\treturn -1;\n') + self.file_out.write('}\n') + + +class parser_CB(z80_parser): + + def __init__(self,filename): + + self.codes="CB" + z80_parser.__init__(self,filename) + + + def write_start_code(self): + + """ Writes the first part of the C code for the file """ + + self.file_out.write('#include "Z80free.h"\n\n') + self.file_out.write('int '+self.filename+' (Z80FREE *processor,byte opcode) {\n') + #self.file_out.write('\tstatic byte tmp1;\n') + #self.file_out.write('\tstatic word tmp2;\n') + self.file_out.write('\n') + + + def write_end_code(self): + + """ writes the last part of the C code for the file """ + + self.file_out.write('\treturn -1;\n') + self.file_out.write('}\n') + + +class parser_ED(z80_parser): + + def __init__(self,filename): + + self.codes="ED" + z80_parser.__init__(self,filename) + + + def write_start_code(self): + + """ Writes the first part of the C code for the file """ + + self.file_out.write('#include "Z80free.h"\n\n') + self.file_out.write('int '+self.filename+' (Z80FREE *processor,byte opcode) {\n') + self.file_out.write('\tstatic byte tmp1;\n') + self.file_out.write('\tstatic byte tmp2;\n') + self.file_out.write('\n') + + + def write_end_code(self): + + """ writes the last part of the C code for the file """ + + self.file_out.write('\treturn -1;\n') + self.file_out.write('}\n') + + +class parser_DD(z80_parser): + + def __init__(self,filename): + + self.codes="DD" + z80_parser.__init__(self,filename) + + + def write_start_code(self): + + """ Writes the first part of the C code for the file """ + + self.file_out.write('#include "Z80free.h"\n\n') + self.file_out.write('int '+self.filename+' (Z80FREE *processor,byte opcode) {\n') + self.file_out.write('\tstatic byte tmp1;\n') + self.file_out.write('\tstatic word tmp2;\n') + self.file_out.write('\n') + + + def write_end_code(self): + + """ writes the last part of the C code for the file """ + + self.file_out.write('\treturn -1;\n') + self.file_out.write('}\n') + + +class parser_FD(z80_parser): + + def __init__(self,filename): + + self.codes="FD" + z80_parser.__init__(self, filename) + + + def write_start_code(self): + + """ Writes the first part of the C code for the file """ + + self.file_out.write('#include "Z80free.h"\n\n') + self.file_out.write('int '+self.filename+' (Z80FREE *processor,byte opcode) {\n') + self.file_out.write('\tstatic byte tmp1;\n') + self.file_out.write('\tstatic word tmp2;\n') + self.file_out.write('\n') + + + def write_end_code(self): + + """ writes the last part of the C code for the file """ + + self.file_out.write('\treturn -1;\n') + self.file_out.write('}\n') + + +class parser_DDCB(z80_parser): + + def __init__(self,filename): + + self.codes="DDCB" + z80_parser.__init__(self, filename) + + + def write_start_code(self): + + """ Writes the first part of the C code for the file """ + + self.file_out.write('#include "Z80free.h"\n\n') + self.file_out.write('int '+self.filename+' (Z80FREE *processor,byte d1) {\n') + self.file_out.write('\tstatic byte tmp1;\n') + #self.file_out.write('\tstatic word tmp2;\n') + self.file_out.write('\tstatic byte opcode;\n') + self.file_out.write('\topcode=Z80free_Rd(processor->PC++);\n') + self.file_out.write('\n') + + + def write_end_code(self): + + """ writes the last part of the C code for the file """ + + self.file_out.write('\treturn -1;\n') + self.file_out.write('}\n') + + +class parser_FDCB(z80_parser): + + def __init__(self,filename): + + self.codes="FDCB" + z80_parser.__init__(self, filename) + + + def write_start_code(self): + + """ Writes the first part of the C code for the file """ + + self.file_out.write('#include "Z80free.h"\n\n') + self.file_out.write('int '+self.filename+' (Z80FREE *processor,byte d1) {\n') + self.file_out.write('\tstatic byte tmp1;\n') + #self.file_out.write('\tstatic word tmp2;\n') + self.file_out.write('\tstatic byte opcode;\n') + self.file_out.write('\topcode=Z80free_Rd(processor->PC++);\n') + self.file_out.write('\n') + + + def write_end_code(self): + + """ writes the last part of the C code for the file """ + + self.file_out.write('\treturn -1;\n') + self.file_out.write('}\n') + + +aparser=parser_XX("Z80free_codes") +aparser=parser_CB("Z80free_codesCB") +aparser=parser_DD("Z80free_codesDD") +aparser=parser_DDCB("Z80free_codesDDCB") +aparser=parser_ED("Z80free_codesED") +aparser=parser_FD("Z80free_codesFD") +aparser=parser_FDCB("Z80free_codesFDCB") + diff --git a/src/z80free/z80free_tester.c b/src/z80free/z80free_tester.c new file mode 100644 index 0000000..43f4608 --- /dev/null +++ b/src/z80free/z80free_tester.c @@ -0,0 +1,286 @@ +/* + * Copyright 2009 (C) Raster Software Vigo (Sergio Costas) + * This file is part of Z80Free, with some bits extracted + * and fixed from libZ80 (from Gabriel Gambetta) + * + * Z80Free 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. + * + * Z80Free is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "Z80free.h" +#include + +#ifdef GEKKO +#include +#include + +FILE *fdebug; +#define printf(...) fprintf(fdebug,__VA_ARGS__) + +#endif + +Z80FREE emulator,emulator2; +unsigned char memory[65536]; +FILE *infile; +char test_name[20]; +byte ports[256]; +word portdirs[256]; +int portpos=0,elements=0; + +#define NO35 + +int compare_processors() { + + if (emulator.Rm.br.A!=emulator2.Rm.br.A) { + printf("A should be %X but is %X\n",emulator2.Rm.br.A,emulator.Rm.br.A); + } + +#ifdef NO35 + if ((emulator.Rm.br.F|0x28)!=(emulator2.Rm.br.F|0x28)) { + printf("F should be %X but is %X\n",emulator2.Rm.br.F,emulator.Rm.br.F); + } +#else + if (emulator.Rm.br.F!=emulator2.Rm.br.F) { + printf("F should be %X but is %X\n",emulator2.Rm.br.F,emulator.Rm.br.F); + } +#endif + + if (emulator.Rm.wr.BC!=emulator2.Rm.wr.BC) { + printf("BC should be %X but is %X\n",emulator2.Rm.wr.BC,emulator.Rm.wr.BC); + } + if (emulator.Rm.wr.DE!=emulator2.Rm.wr.DE) { + printf("DE should be %X but is %X\n",emulator2.Rm.wr.DE,emulator.Rm.wr.DE); + } + if (emulator.Rm.wr.HL!=emulator2.Rm.wr.HL) { + printf("HL should be %X but is %X\n",emulator2.Rm.wr.HL,emulator.Rm.wr.HL); + } + + if (emulator.Ra.br.A!=emulator2.Ra.br.A) { + printf("A' should be %X but is %X\n",emulator2.Ra.br.A,emulator.Ra.br.A); + } + +#ifdef NO35 + if ((emulator.Ra.br.F|0x28)!=(emulator2.Ra.br.F|0x28)) { + printf("F' should be %X but is %X\n",emulator2.Ra.br.F,emulator.Ra.br.F); + } +#else + if (emulator.Ra.br.F!=emulator2.Ra.br.F) { + printf("F' should be %X but is %X\n",emulator2.Ra.br.F,emulator.Ra.br.F); + } +#endif + + if (emulator.Ra.wr.BC!=emulator2.Ra.wr.BC) { + printf("BC' should be %X but is %X\n",emulator2.Ra.wr.BC,emulator.Ra.wr.BC); + } + if (emulator.Ra.wr.DE!=emulator2.Ra.wr.DE) { + printf("DE' should be %X but is %X\n",emulator2.Ra.wr.DE,emulator.Ra.wr.DE); + } + if (emulator.Ra.wr.HL!=emulator2.Ra.wr.HL) { + printf("HL' should be %X but is %X\n",emulator2.Ra.wr.HL,emulator.Ra.wr.HL); + } + + if (emulator.Rm.wr.IX!=emulator2.Rm.wr.IX) { + printf("IX should be %X but is %X\n",emulator2.Rm.wr.IX,emulator.Rm.wr.IX); + } + if (emulator.Rm.wr.IY!=emulator2.Rm.wr.IY) { + printf("IY should be %X but is %X\n",emulator2.Rm.wr.IY,emulator.Rm.wr.IY); + } + + if (emulator.PC!=emulator2.PC) { + printf("PC should be %X but is %X\n",emulator2.PC,emulator.PC); + } + if (emulator.Rm.wr.SP!=emulator2.Rm.wr.SP) { + printf("SP should be %X but is %X\n",emulator2.Rm.wr.SP,emulator.Rm.wr.SP); + } + + if (emulator.HALT!=emulator2.HALT) { + printf("HALT should be %X but is %X\n",emulator2.HALT,emulator.HALT); + } + if (emulator.I!=emulator2.I) { + printf("I should be %X but is %X\n",emulator2.I,emulator.I); + } + if ((emulator.R&0x7F)!=(emulator2.R&0x7F)) { + printf("R should be %X but is %X\n",(emulator2.R&0x7F),(emulator.R&0x7F)); + } + if (emulator.IM!=emulator2.IM) { + printf("IM should be %X but is %X\n",emulator2.IM,emulator.IM); + } + if (emulator.IFF1!=emulator2.IFF1) { + printf("IFF1 should be %X but is %X\n",emulator2.IFF1,emulator.IFF1); + } + if (emulator.IFF2!=emulator2.IFF2) { + printf("IFF2 should be %X but is %X\n",emulator2.IFF2,emulator.IFF2); + } + return 0; +} + +int read_elements(Z80FREE *emulador) { + + int tstates,retval; + unsigned short int v1,v2,v3,v4,v5,v6,v7,v8,v9,v10; + + + Z80free_reset(emulador); + + retval=fscanf(infile,"%hx %hx %hx %hx",(unsigned short int *)&emulador->Rm.wr.AF,(unsigned short int *)&emulador->Rm.wr.BC,(unsigned short int *)&emulador->Rm.wr.DE,(unsigned short int *)&emulador->Rm.wr.HL); + retval=fscanf(infile,"%hx %hx %hx %hx",&v7,&v8,&v9,&v10); + emulador->Ra.wr.AF=v7; + emulador->Ra.wr.BC=v8; + emulador->Ra.wr.DE=v9; + emulador->Ra.wr.HL=v10; + retval=fscanf(infile,"%hx %hx %hx %hx",(unsigned short int *)&emulador->Rm.wr.IX,(unsigned short int *)&emulador->Rm.wr.IY,(unsigned short int *)&emulador->Rm.wr.SP,(unsigned short int *)&emulador->PC); + retval=fscanf(infile,"%hx %hx %hx %hx %hx %hx %d",&v1,&v2,&v3,&v4,&v5,&v6,&tstates); + + emulador->I=v1; + emulador->R=v2; + emulador->R2=v2; + emulador->IFF1=v3; + emulador->IFF2=v4; + emulador->IM=v5; + emulador->HALT=v6; + + return (tstates); +} + +int read_memory(char mode) { + // mode=0 : store value in memory + // mode=1 : compare value with memory + + int position,retval,value; + + + retval=fscanf(infile,"%x",&position); + if (position==-1) { + return -1; + } + + do { + retval=fscanf(infile,"%x",&value); + + if (value!=-1) { + if (mode) { + if (memory[position]!=value) { + printf("Error in memory, address %X. Expected value: %X, current value: %X\n",position,value,memory[position]); + } + } else { + memory[position]= (byte) value; + } + position++; + } + } while(value!=-1); + return 0; +} + + +int read_inports() { + + int retval, value, addr; + + + portpos=0; + elements=0; + + while (1) { + retval=fscanf(infile,"%x",&addr); + if (addr==-1) { + break; + } + retval=fscanf(infile,"%x",&value); + portdirs[elements]=(word) addr; + ports[elements]=(byte) value; + elements++; + } + return 0; +} + + +int read_test() { + + int retval,tstates,tst2,totaltst; + + retval=fscanf(infile,"%s",test_name); + if (retval<=0) { + return -1; + } + printf("Test %s\n",test_name); + tstates=read_elements(&emulator); + while(0==read_memory(0)) { + } + read_inports(); + totaltst=0; + while(totaltst=elements) { + printf("IN beyond values\n"); + return 0; + } + + if (Port!=portdirs[portpos]) + printf("IN to port %X (should be %X)\n",Port,portdirs[portpos]); + value=ports[portpos]; + portpos++; + return (value); + +} +void Z80free_Out (register word Port, register byte Value) { + +} + +int main() { + + #ifdef GEKKO + + //initialize libfat library + fatInitDefault(); + + fdebug = fopen("/logfile_big.txt","w"); + + infile=fopen("/apps/z80_test/tests.z80free","r"); + + #else + infile=fopen("tests.z80free","r"); + #endif + + while(0==read_test()) { + } + + return 0; +} + + diff --git a/src/z80free/z80free_testgen.py b/src/z80free/z80free_testgen.py new file mode 100644 index 0000000..1e36f3d --- /dev/null +++ b/src/z80free/z80free_testgen.py @@ -0,0 +1,83 @@ +#!/usr/bin/env python +# -*- coding: UTF-8 -*- + +# Copyright 2008-2009 (C) Raster Software Vigo (Sergio Costas) + +# This file is part of Z80Free +# +# Z80Free 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. +# +# Z80Free 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 . + +import sys + +infile=open("tests.in","r") +expected=open("tests.expected","r") + +outfile=open("tests.z80free","w") + +maximo=0 + +while True: + # read the test + while True: + test_name="" + test_name=infile.readline() + if test_name!="\n": + break + if test_name=="": # EOF + break + print test_name + outfile.write(test_name) + linea=infile.readline() + while linea[:2]!="-1": + outfile.write(linea) + linea=infile.readline() + outfile.write("-1\n") + + while True: + test_name2=expected.readline() + if test_name2!="\n": + break + if test_name2=="": #EOF + continue + if (test_name2!=test_name): + print "error, %(entrada)s y %(salida)s no coinciden"%{"entrada":test_name,"salida":test_name2} + sys.exit(1) + + port=[] + while True: # jump over event lines + linea=expected.readline() + if linea[0]!=' ': + break + pos=linea.find("PR") + if pos==-1: + continue + port.append(linea[pos+3:]) + + print linea + for element in port: + outfile.write(element) + outfile.write(" ") + outfile.write("-1\n") + outfile.write(linea) # registers + linea=expected.readline() + print linea + while (linea!="\n") and (linea!=""): + print linea + outfile.write(linea) + linea=expected.readline() + outfile.write("-1\n\n") + +infile.close() +expected.close() +outfile.close() diff --git a/src/z80free/z80txt_converter.py b/src/z80free/z80txt_converter.py new file mode 100644 index 0000000..02d1a73 --- /dev/null +++ b/src/z80free/z80txt_converter.py @@ -0,0 +1,67 @@ +#!/usr/bin/env python + +import sys + +fichero1=open(sys.argv[1],"r") +fichero2=open(sys.argv[2],"w") + +def escribe_linea(thefile,nlinea3,pp2,pp3): + + nlinea2=hex(nlinea3)[2:].upper() + while len(nlinea2)<2: + nlinea2="0"+nlinea2 + + thefile.write(nlinea2+"\t"+pp2+"\t"+pp3+"\n") + +contador2=0 +for linea in fichero1: + if linea[-1]=="\n": + linea=linea[:-1] + if linea=="": + continue + contador=0 + nlinea="" + for caracter in linea: + if caracter=='\t': + nlinea+=(" "*(8-contador)) + contador=-1 + else: + nlinea+=caracter + contador+=1 + if contador==8: + contador=0 + + if len(nlinea)<49: + nlinea+=" "*(49-len(nlinea)) + + p1=nlinea[:9] + p2=nlinea[16:40] + p3=nlinea[40:48] + + while (p1!="") and (p1[-1]==" "): + p1=p1[:-1] + while (p2!="") and (p2[-1]==" "): + p2=p2[:-1] + while (p3!="") and (p3[-1]==" "): + p3=p3[:-1] + + try: + if ((p1[:4].upper()=="FDCB") or (p1[:4].upper()=="DDCB")) and (len(p1)>8): + nlinea=int(p1[7:],16) + elif (len(p1)>3) and ((p1[:2].upper()=="CB") or (p1[:2].upper()=="ED") or (p1[:2].upper()=="DD") or (p1[:2].upper()=="FD")): + nlinea=int(p1[2:4],16) + else: + nlinea=int(p1[:2],16) + except: + print p1 + + while contador2